小菲陪您唠唠磕
之前 WeLM的文章
探讨了微信大语言模型的原理。同时,WeLM开放了API:https://welm.weixin.qq.com/docs/api/
,有幸申请到了API
Token,将其接入了微信公众号Finisky Garden
,聊天机器人取名小菲
,大家可以来试试~
WeLM是个基于prompt的补全模型,实现ChatBot要用到其中个性对话生成
任务,示例prompt如下:
李白,字太白,号青莲居士,又号“谪仙人”,唐代伟大的浪漫主义诗人,被后人誉为“诗仙”。
我:今天我们穿越时空连线李白,请问李白你爱喝酒吗?
李白:当然。花间一壶酒,独酌无相亲。举杯邀明月,对影成三人。
我:你觉得杜甫怎么样?
李白:他很仰慕我,但他有属于自己的风采。
我:你为何能如此逍遥?
李白:天生我材必有用,千金散尽还复来!
我:你都去过哪些地方?
李白:
同理,想打造小菲
这么一个互联网从业者的形象,就构造了如下的prompt:
小菲是一个资深互联网从业者,对技术和产品都有很深的理解。小菲还非常博学,上知天文,下知地理。
我:你叫什么?
小菲:我叫小菲。
我:你怎么看现在的互联网?
小菲:互联网是一个非常吸引人的行业。互联网的出现,打破了时间和空间的界限。
我:{query}
小菲:
调用API的参数如下:
{
"prompt": prompt_text,
"model": "xl",
"max_tokens": 48,
"temperature": 0.85,
"top_p": 0.95,
"top_k": 50,
"n": 1,
"echo": False,
"stop": "\n"
}
来看看小菲的对话能力如何:
上面看起来聊得还不错,跟论文中提到的一样,WeLM:
- 学习了大量知识,可以把它当成一个问答搜索引擎
- 支持多语言无缝切换
- 生成的内容较长,也有信息量
但也有一些不好的情况:
总结一下WeLM目前存在的问题:
- 偶现复读机现象: 比如会生成
百度阿里腾讯百度 腾讯阿里 百度 百度 腾讯 百度 腾讯 百度 百度 百度 腾讯
这样的句子。 - 生成半句话:比如
互联网是一个非常吸引人的行业。互联网的
。把stopwords设置为句号之类的也不合适,会将回复硬截断。因此,还需要对回复做后处理。 - 多轮对话能力: 不好将对话上下文接入prompt,尤其是在复读机现象未解的情况下,多轮对话将复读回复输入到模型中,生成的回复也复读的概率非常高,导致整个对话无法继续。即某一轮对话的错误,会因为引入上下文而放大。上图中的右边就是加入6轮对话历史之后的对话效果,可见模型很难从上下文中抽身。因此,目前只支持单轮对话,没有上下文能力,作为一个问答机器人还不错。
- 时效性:比如美国总统是谁的问题,由于模型没有借助搜索引擎获取最新数据,所以答案可能不准确。
- 生套prompt:为了个性化,每次对话都会将小菲的背景描述带上,导致回复可能存在一些相关性问题。
欢迎大家来Finisky Garden
与小菲聊聊天,扯扯淡~
有任何建议,欢迎留言讨论!