LlamaFamily / Llama-Chinese

Llama中文社区,Llama3在线体验和微调模型已开放,实时汇总最新Llama3学习资料,已将所有代码更新适配Llama3,构建最好的中文Llama大模型,完全开源可商用
https://llama.family
13.84k stars 1.24k forks source link

Generate方法生成的对话效果很差,有chat方法的函数吗 #98

Open dayL-W opened 1 year ago

dayL-W commented 1 year ago

代码如下:

input_ids = tokenizer([' Human: 我有100元,花了10元,还有多少钱\n Assistant: 你现在的账户余额是90元。\nHuman: 我又花了10元,还有多少钱\nAssistant: '], return_tensors="pt",add_special_tokens=False).input_ids.to('cuda')
generate_input = { "input_ids":input_ids, "max_new_tokens":512, "do_sample":True, "top_k":50, "top_p":0.95, "temperature":0.3, "repetition_penalty":1.3, "eos_token_id":tokenizer.eos_token_id, "bos_token_id":tokenizer.bos_token_id, "pad_token_id":tokenizer.pad_token_id } generate_ids = model.generate(**generate_input) text = tokenizer.decode(generate_ids[0]) print(text)

Generate方法生成的回答如下,竟然出现了一段代码。

image

sevenzard commented 1 year ago

你好,我调用 transformers 的 pipeline 方法来使用 Llama2 做推理,生成效果也很差,也遇到过生成代码的情况,同问有无 chat() 方法

sevenzard commented 1 year ago

调用 pipeline 的具体代码如下: tokenizer = AutoTokenizer.from_pretrained(model_dir) pipeline = transformers.pipeline( "text-generation", model=model_dir, torch_dtype=torch.float32, device_map="auto", ) sequences = pipeline(

'I liked "Breaking Bad" and "Band of Brothers". Do you have any recommendations of other shows I might like?\n',

    instructs[i],
    do_sample=False,
    top_k=10,
    num_return_sequences=1,
    eos_token_id=tokenizer.eos_token_id,
    max_length=200,
)
for seq in sequences:
    print(f"Result: {seq['generated_text']}")