🦜️🔗 Chat LangChain.js
本仓库是一个本地托管的聊天机器人实现,专门用于回答LangChain文档的问题。 使用LangChain和Next.js构建。
部署版本:chatjs.langchain.com
寻找Python版本?点击这里
✅ 本地开发
- 通过
yarn install
安装依赖。 - 设置后端所需的环境变量,列在
backend/.env.example
中,前端所需的环境变量列在frontend/.env.example
中。
摄取
- 通过
yarn build --filter=backend
(从根目录)构建后端。 - 进入
./backend
目录并运行yarn ingest
来执行摄取脚本。
前端
- 进入
./frontend
目录并运行yarn dev
启动前端。 - 在浏览器中打开localhost:3000。
📚 技术描述
有两个组件:摄取和问答。
摄取包括以下步骤:
- 从文档网站和Github代码库获取html
- 使用LangChain的RecursiveUrlLoader和SitemapLoader加载html
- 使用LangChain的RecursiveCharacterTextSplitter分割文档
- 使用LangChain的Weaviate向量存储包装器(使用OpenAI的嵌入)创建嵌入的向量存储
问答包括以下步骤:
- 根据聊天历史和新的用户输入,使用GPT-3.5确定一个独立的问题。
- 根据该独立问题,从向量存储中查找相关文档。
- 将独立问题和相关文档传递给模型,生成并流式传输最终答案。
- 为当前聊天会话生成跟踪URL,以及收集反馈的端点。
文档
想要使用或修改这个用例加速器以满足自己的需求?我们添加了一些文档来帮助你: