Views
No views yet
from modelscope import AutoModelForCausalLM, AutoTokenizer
from accelerate import Accelerator
import torch
import os
modelName = "SageGen_qwen2.5_14B_instruct"
accelerator = Accelerator()
tokenizers = AutoTokenizer.from_pretrained(modelName,trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
modelName,
torch_dtype='auto',
device_map='auto',
trust_remote_code=True
)
messages = [
{"role": "system", "content": system_example},
{"role": "user", "content": user_example},
{"role": "assistant", "content": assistance_example}
]
userInput_query = input("用户描述内容为:")
messages.append({"role":"user","content":userInput_query})
user_inputs = tokenizers.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_tensors="pt",
return_dict=True
)
model, user_inputs = accelerator.prepare(model, user_inputs)
user_inputs = user_inputs.to(model.device)
with torch.no_grad():
print("开始推理\n\n")
torch.cuda.empty_cache() # 如果使用GPU
generated_ids = model.generate(
**user_inputs,
max_new_tokens=20000,
do_sample=True,
temperature=0.8,
top_p=0.9,
repetition_penalty=1.1,
)
generated_ids = [output_ids[len(input_ids):] for input_ids, output_ids in zip(user_inputs.input_ids, generated_ids)]
response = tokenizers.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(response)