使用百度千帆存储摘要历史记录时报错

使用百度千帆存储摘要历史记录时报错

问题描述:

老师,我在使用ConversationSummaryBufferMemory时用的百度千帆模型,在保存历史信息时报这个错误:Can't load tokenizer for 'gpt2',不知道是什么情况


相关截图:

https://img1.sycdn.imooc.com/climg/66fe94f609c2e55212670482.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

这是因为tiktoken并没有针对所有的大语言模型都配置了词表,在LLM的底层_get_encoding_model()找不到对应的词表导致的错误,如果想解决这个问题,可以重写下_get_encoding_model()这个方法,例如:

def _get_encoding_model(self) -> Tuple[str, tiktoken.Encoding]:
    model = "cl100k_base"
    encoding = tiktoken.get_encoding(model)
    return model, encoding

这样就可以解决问题啦(本质上是LangChain封装不完善+很多LLM没有提供词表导致的bug)~


和您这边另外一个问题是同个原因,上面的函数使用了cl100k_base这个词表,以解决LangChain对于国产LLM没有预设词表的问题。


  • 我也碰到这个情况,而且我改写了 langchain_openai/chat_models/base.py和langchain_community/chat_models/anyscale.py 两个文件里的_get_encoding_model()函数,还是会出现这样的问题。请问应该在哪里实现这个代码?

    2024-11-11 10:39:19
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
AI Agent 全栈开发工程师
  • 参与学习       500    人
  • 解答问题       404    个

全流程打造你自己的(Coze/Dify)低代码智能体开发平台;2025年入行正当时,企业急需,人才稀缺,竞争小;无论入行还是转行,首选口碑好课,门槛低、成长高

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师