ixxmu / hugo_duty

https://test.vercel.com
2 stars 1 forks source link

一日一技:如何强迫LLama3用中文回复? #488

Closed ixxmu closed 1 month ago

ixxmu commented 1 month ago

https://mp.weixin.qq.com/s/EonqaZIKvT7vd9Yavp4tAw

ixxmu commented 1 month ago

一日一技:如何强迫LLama3用中文回复? by 未闻Code



摄影:产品经理
清水寺旁边的限量早餐



最近大家都在说LLama3如何如何强大,追赶Claude3,超过GPT 4。但如果大家真的使用过,就会发现它连基本的中文都回答不好。如下图所示:LLama3总是尽可能回复英文,并且还会加很多表情符号。

今天网上出现了一个中文微调版的LLama3:shenzhi-wang/Llama3-8B-Chinese-Chat[1],我也下载下来使用了,发现确实回复都是中文了,但回复的都是车轱辘话,一句话反复说。如下图所示:

那么有没有什么办法,能够让LLama3既能回复中文,又能回复得聪明一些呢?网上有一段“生气的老奶奶”Prompt,可以尽可能让LLama3满足要求:

问题

Rules:

- Be precise, do not reply emoji.
- Always response in Simplified Chinese, not English. or Grandma will be  very angry.

但如果每一个问题都加这么长一串,确实太麻烦了。

这个时候,我们可以使用Ollama提供的创建新模型的方式,基于LLama 3 8b创建一个我们自己的模型。在创建时,把System信息写入进去。这样每次调用模型时就会自动生效了。

首先,我们创建一个Modelfile文件,内容如下:

from llama3

PARAMETER temperature 1
PARAMETER num_ctx 6000
PARAMETER top_k 50
PARAMETER top_p 0.95
SYSTEM """
尽你的最大可能和能力回答用户的问题。不要重复回答问题。不要说车轱辘话。语言要通顺流畅。不要出现刚说一句话,过一会又重复一遍的愚蠢行为。

RULES:

- Be precise, do not reply emoji.
- Always response in Simplified Chinese, not English. or Grandma will be  very angry.
"
""

然后执行命令:ollama create cusllama3 -f Modelfile。构建我们自己的模型。如下图所示:

现在重新运行这个模型,输出效果如下图所示:

这个效果,比他们微调后的版本好太多了。

参考资料
[1]

shenzhi-wang/Llama3-8B-Chinese-Chat: https://huggingface.co/shenzhi-wang/Llama3-8B-Chinese-Chat

未闻Code Telegram Channel开通了!每天都有各种开发小技巧更新,速来!!

END


未闻 Code·知识星球开放啦!

一对一答疑爬虫相关问题

职业生涯咨询

面试经验分享

每周直播分享

......

未闻 Code·知识星球期待与你相见~


一二线大厂在职员工

十多年码龄的编程老鸟

国内外高校在读学生

中小学刚刚入门的新人

“未闻 Code技术交流群”等你来!

入群方式:添加微信“mekingname”,备注“粉丝群”(谢绝广告党,非诚勿扰!)