摘要:一通嗖嗖嗖,给我修改了langchainLLM里面的ChatManager类的初始化和chat方法,添加进去。然后按照他提供的测试方法测试一下。
首先我们自己得知道调用本地知识库的逻辑如下:
用户提问 → 文本向量化 → 向量数据库检索 → 上下文拼接 → 大模型生成 → 返回答案
于是我给Trae继续提需求:
一通嗖嗖嗖,给我修改了langchainLLM里面的ChatManager类的初始化和chat方法,添加进去。然后按照他提供的测试方法测试一下。
然后报错了,调到build模式,把报错信息添加到对话,直接给我修改了测试的内容。
然后还是报错了,一般这种重复报错,就要考虑一下,是不是继续给AI来debug了,或许自己单步调试一下,看下到底哪里出问题会好一点。
添加断点,选中右上角的python debugger开始调试。然后发现是conversation没有实例化,这种问题,AI没理由不会啊,于是再问它一次,果然帮我修改了代码了。然后我又修改了一下test01里面的提问,添加打印回复。重新运行。
最后的回答,让我哑然失笑:
虽然流程是走通了,也是从我提供的文档里面找到了相对应的文档内容,添加到上下文,但是回答的消息简直是答非所问。中间还夹杂英文。这些相信要调整下提示词,温度,上下文参数等,另外,我做向量数据库的大模型是:nomic-embed-text:latest。经过我自己的测试,效果不如bge-m3,于是下载bge-m3大模型。
更换大模型之后,对中文的匹配好了很多,直接回答出正确的答案!
这样的话,好像我已经实现了传说中RAG本地知识库+大模型的搭建了!有了Trae的助力的确是够简单。让我一个基本不怎么会python的人,也可以轻易搭建了。不过显而易见,这个距离产品化还差十万八千里,还有很多功能需要实现,比如:用户管理,异常处理,日志打印,对话空间管理,用户界面等等。
接下来再慢慢实现吧,今天到此为止,未完待续~~[比心][比心][比心]
来源:宅男娱乐