import time
from bigdl.llm.transformers import AutoModel
from transformers import AutoTokenizer
CHATGLM_V3_PROMPT_FORMAT = "<|user|>\n{prompt}\n<|assistant|>"
# 请指定chatglm3-6b的本地路径
model_path = "E:\p2\chatglm3-6b\ZhipuAI" #替换为您下载的ChatGLM3-6B 模型目录
# 载入ChatGLM3-6B模型并实现INT4量化
model = AutoModel.from_pretrained(model_path,load_in_4bit=True,trust_remote_code=True)
# 载入tokenizer
tokenizer = AutoTokenizer.from_pretrained(model_path,trust_remote_code=True)
while True:
text=input("请输入:")
if text=="退出":
break
prompt = CHATGLM_V3_PROMPT_FORMAT.format(prompt=text)
# 制作ChatGLM3格式提示词
#prompt = CHATGLM_V3_PROMPT_FORMAT.format(prompt="您是谁??")
# 对提示词编码
input_ids = tokenizer.encode(prompt, return_tensors="pt")
st = time.time()
# 执行推理计算,生成Tokens
#output = model.generate(input_ids,max_new_tokens=32)
output = model.generate(input_ids, max_new_tokens=3200)
end = time.time()
# 对生成Tokens解码并显示
output_str = tokenizer.decode(output[0], skip_special_tokens=True)
print(f'Inference time: {end-st} s')
print('-'*20, 'Prompt', '-'*20)
print(prompt)
print('-'*20, 'Output', '-'*20)
print(output_str)
from paddlenlp.transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained('damo/spring_couplet_generation')
model = AutoModelForCausalLM.from_pretrained('damo/spring_couplet_generation')
def generate_text(input):
inputs = tokenizer(input, return_tensors='pd')
outputs = model.generate(**inputs)
generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
return generated_text
p = generate_text
result = p(input)
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
from modelscope.outputs import OutputKeys
input = '以关键词“春天”写一副春联'
p = pipeline(Tasks.text_generation, model='E:/p2/spring_couplet_generation/damo')
result = p(input)
print('输入文本:' + input + '\n')
print('生成结果' + result[OutputKeys.TEXT])