Github地址:https://github.com/chatchat-space/Langchain-Chatchat
一、概述
LangChain-Chatchat (原 Langchain-ChatGLM),一种利用 langchain 思想实现的基于本地知识库的问答应用,目标期望建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。
本项目的最新版本中可使用 Xinference、Ollama 等框架接入 GLM-4-Chat、 Qwen2-Instruct、 Llama3 等模型,依托于 langchain 框架支持通过基于 FastAPI 提供的 API 调用服务,或使用基于 Streamlit 的 WebUI 进行操作。
本项目支持市面上主流的开源 LLM、 Embedding 模型与向量数据库,可实现全部使用开源模型离线私有部署。与此同时,本项目也支持 OpenAI GPT API 的调用,并将在后续持续扩充对各类模型及模型 API 的接入。
本项目实现原理如下图所示,过程包括加载文件 -> 读取文本 -> 文本分割 -> 文本向量化 -> 问句向量化 -> 在文本向量中匹配出与问句向量最相似的 top k个 -> 匹配出的文本作为上下文和问题一起添加到 prompt中 -> 提交给 LLM生成回答。
0.3.x 版本功能一览
功能0.2.x0.3.x模型接入本地:fastchat
在线:XXXModelWorker本地:model_provider,支持大部分主流模型加载框架
在线:oneapi
所有模型接入均兼容openai sdkAgent❌不稳定✅针对ChatGLM3和Qwen进行优化,Agent能力显著提升LLM对话✅✅知识库对话✅✅搜索引擎对话✅✅文件对话✅仅向量检索✅统一为File RAG功能,支持BM25+KNN等多种检索方式数据库对话❌✅多模态图片对话❌✅ 推荐使用 qwen-vl-chatARXIV文献对话❌✅Wolfram对话❌✅文生图❌✅本地知识库管理✅✅WEBUI✅✅更好的多会话支持,自定义系统提示词...
0.3.x 版本的核心功能由 Agent 实现,但用户也可以手动实现工具调用:
操作方式实现的功能适用场景选中"启用Agent",选择多个工具由LLM自动进行工具调用
版权归原作者 wshzd 所有, 如有侵权,请联系我们删除。