Views
No views yet
🚨 IMPORTANT UPDATE: We are excited to announce the release of Taiyi 2. We highly recommend users transition to the new version for enhanced performance and capabilities.
<eod>input1<eod>answer1<eod>input2<eod>answer2<eod>.....1
2from transformers import AutoModelForCausalLM, AutoTokenizer
3import torch
4
5model_name = "DUTIR-BioNLP/Taiyi-LLM"
6
7device = 'cuda:0'
8
9model = AutoModelForCausalLM.from_pretrained(
10 model_name,
11 low_cpu_mem_usage=True,
12 torch_dtype=torch.float16,
13 trust_remote_code=True,
14 device_map = device
15)
16
17
18model.eval()
19tokenizer = AutoTokenizer.from_pretrained(
20 model_name,
21 trust_remote_code=True
22)
23
24import logging
25logging.disable(logging.WARNING)
26tokenizer.pad_token_id = tokenizer.eod_id
27tokenizer.bos_token_id = tokenizer.eod_id
28tokenizer.eos_token_id = tokenizer.eod_id
29history_token_ids = torch.tensor([[]], dtype=torch.long)
30max_new_tokens = 500
31top_p = 0.9
32temperature = 0.3
33repetition_penalty = 1.0
34
35# begin chat
36history_max_len = 1000
37utterance_id = 0
38history_token_ids = None
39
40user_input = "Hi, could you please introduce yourself?"
41
42input_ids = tokenizer(user_input, return_tensors="pt", add_special_tokens=False).input_ids
43bos_token_id = torch.tensor([[tokenizer.bos_token_id]], dtype=torch.long)
44eos_token_id = torch.tensor([[tokenizer.eos_token_id]], dtype=torch.long)
45user_input_ids = torch.concat([bos_token_id,input_ids, eos_token_id], dim=1)
46
47
48model_input_ids = user_input_ids.to(device)
49with torch.no_grad():
50 outputs = model.generate(
51 input_ids=model_input_ids, max_new_tokens=max_new_tokens, do_sample=True, top_p=top_p,
52 temperature=temperature, repetition_penalty=repetition_penalty, eos_token_id=tokenizer.eos_token_id
53 )
54
55response = tokenizer.batch_decode(outputs)
56print(response[0])
57#<|endoftext|>Hi, could you please introduce yourself?<|endoftext|>Hello! My name is Taiyi,.....<|endoftext|>@article{Taiyi,
title="{Taiyi: A Bilingual Fine-Tuned Large Language Model for Diverse Biomedical Tasks}",
author={Ling Luo, Jinzhong Ning, Yingwen Zhao, Zhijun Wang, Zeyuan Ding, Peng Chen, Weiru Fu, Qinyu Han, Guangtao Xu, Yunzhi Qiu, Dinghao Pan, Jiru Li, Hao Li, Wenduo Feng, Senbo Tu, Yuqi Liu, Zhihao Yang, Jian Wang, Yuanyuan Sun, Hongfei Lin},
journal={Journal of the American Medical Informatics Association},
year={2024},
doi = {10.1093/jamia/ocae037},
url = {https://doi.org/10.1093/jamia/ocae037},
}