大模型应用开源技术
chat-langchain
这个工程将 LangChain 与 FastAPI 相结合,方便用户搭建 web 接口,让项目快速衔接 AI 能力。
chat-langchain基本信息
开源许可:
MIT License
点赞数:5124stars
库分叉数:1208forks
库观察者数:46watching最近更新时间:2024/09/11, 08:46
最新版本:未发布
chat-langchain介绍
🦜️🔗 Chat LangChain
Chat LangChain是一个专注于问题解答的本地聊天机器人实现,主要针对LangChain文档进行问答。它使用了LangChain、FastAPI和Next.js构建。
部署版本:chat.langchain.com
该应用程序利用了LangChain的流媒体支持和异步API,实时更新页面,供多个用户使用。
✅ 本地运行
- 安装后端依赖:
poetry install
。 - 确保输入环境变量来配置应用程序:
export OPENAI_API_KEY=
export WEAVIATE_URL=
export WEAVIATE_API_KEY=
export RECORD_MANAGER_DB_URL=
# for tracing
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_ENDPOINT="https://api.smith.langchain.com"
export LANGCHAIN_API_KEY=
export LANGCHAIN_PROJECT=
- 运行
python ingest.py
将LangChain文档数据导入Weaviate向量存储(只需要执行一次)。- 您可以使用其他文档加载器将自己的数据加载到向量存储中。
- 使用
poetry run make start
启动Python后端。 - 运行
cd chat-langchain
,然后运行yarn
安装前端依赖。 - 运行
yarn dev
启动前端。 - 在浏览器中打开localhost:3000。
☕ 本地运行(使用JS后端)
- 按照上面的前三个步骤将LangChain文档数据导入向量存储。
- 运行
cd chat-langchain
,然后运行yarn
安装前端依赖。 - 在
chat-langchain/.env.local
文件中填入来自chat-langchain/.env.example
文件的自定义密钥,并将NEXT_PUBLIC_API_BASE_URL
设置为"http://localhost:3000/api"
。 - 使用
yarn dev
运行应用程序。 - 在浏览器中打开localhost:3000。
📚 技术描述
Chat LangChain有两个组件:数据导入和问题回答。
数据导入包括以下步骤:
- 从文档站点和Github代码库中抓取html。
- 使用LangChain的RecursiveURLLoader和SitemapLoader加载html。
- 使用LangChain的RecursiveCharacterTextSplitter将文档拆分成段落。
- 使用LangChain的Weaviate向量存储包装器(使用OpenAI的嵌入向量)创建一个嵌入向量存储。
问题回答包括以下步骤:
- 根据聊天历史和用户的新输入,使用GPT-3.5确定一个独立的问题。
- 根据这个独立的问题,在向量存储中查找相关的文档。
- 将独立的问题和相关文档传递给模型,生成并流式传输最终的答案。
- 为当前的聊天会话生成一个跟踪URL,以及用于收集反馈的端点。
🚀 部署
通过在Vercel上将前端Next.js应用作为无服务器边缘函数部署b点击此处。
您需要使用您部署了后端的基本URL(没有尾部斜杠!)填充NEXT_PUBLIC_API_BASE_URL
环境变量。
免责声明:本站大资源来自网络收集整理,小部分资源来自原创,如有侵权等,请联系处理。