分享
04 | LangChain构建本地知识库
输入“/”快速插入内容
04 | LangChain构建本地知识库
飞书用户6848
2023年12月26日修改
项目开源地址:
https://github.com/chatchat-space/Langchain-Chatchat
我们知道
Openai
的
聊天机器人
可以回答用户提出的绝大多数问题,它几乎无所不知,无所不能,但是由于有机器人所学习到的是截止到2021年9月以前的知识,所以当用户询问机器人关于2021年9月以后发送的事情时,它无法给出正确的答案,另外用户向机器人提问的字符串(prompt)长度被限制在4096个token(token可以看作是一种词语单位)。如果用户的prompt的长度超过4096个token时,机器人通常会抛出一个“异常”提示信息:
我们想要做的是让像
openai
聊天机器人
这样的大型语言模型(LLMs)学习特定领域内的知识,这些特定的领域的知识可能是几本电子书,几十个文本文件,或者是
关系型数据库
,我们想要LLMs模型学习用户给定的数据,并且只回答给定数据范围内的相关问题,如果问题超出范围,一律告知用户问题超出范围无法回答,也就是我们要限制LLMs模型自由发挥,不能让它随便乱说。能否执行这样的功能呢?
在本文中,我将向您介绍 LangChain,并向您展示如何将其与
OpenAI
的
API
结合使用来创建这些改变游戏规则的工具。希望我能激发你们中的一员提出自己的想法。让我们开始吧!
原思路简介
由于目前的确已经有许多类似的、写得很优秀的大佬写的文章了,所以我本文不会过多涉及具体的代码。我更倾向于探讨一下我们怎么用这项
“新技术”
,来解决之前就有的、而且颇有价值的”老问题“。
首先,最基础的架构我们还是要说一下(免得一段时间以后回顾的时候一脸懵逼,只剩吹牛了)
我们先回顾一下,
Bert
时代的垂直领域问答系统是怎么构建的?