![](img/logo-long-chatchat-trans-v2.png)
🌍 [READ THIS IN ENGLISH](README_en.md)
🌍 [日本語で読む](README_ja.md)
📃 **LangChain-Chatchat** (原 Langchain-ChatGLM)
基于 ChatGLM 等大语言模型与 Langchain 等应用框架实现,开源、可离线部署的检索增强生成(RAG)大模型知识库项目。
### ⚠️ 重要提示
`0.2.10`将会是`0.2.x`系列的最后一个版本,`0.2.x`系列版本将会停止更新和技术支持,全力研发具有更强应用性的 `Langchain-Chatchat 0.3.x`。
`0.2.10` 的后续 bug 修复将会直接推送到`master`分支,而不在进行版本更新。
---
## 目录
* [介绍](README.md#介绍)
* [解决的痛点](README.md#解决的痛点)
* [快速上手](README.md#快速上手)
* [1. 环境配置](README.md#1-环境配置)
* [2. 模型下载](README.md#2-模型下载)
* [3. 初始化知识库和配置文件](README.md#3-初始化知识库和配置文件)
* [4. 一键启动](README.md#4-一键启动)
* [5. 启动界面示例](README.md#5-启动界面示例)
* [联系我们](README.md#联系我们)
## 介绍
🤖️ 一种利用 [langchain](https://github.com/langchain-ai/langchain)
思想实现的基于本地知识库的问答应用,目标期望建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。
💡 受 [GanymedeNil](https://github.com/GanymedeNil) 的项目 [document.ai](https://github.com/GanymedeNil/document.ai)
和 [AlexZhangji](https://github.com/AlexZhangji)
创建的 [ChatGLM-6B Pull Request](https://github.com/THUDM/ChatGLM-6B/pull/216)
启发,建立了全流程可使用开源模型实现的本地知识库问答应用。本项目的最新版本中通过使用 [FastChat](https://github.com/lm-sys/FastChat)
接入 Vicuna, Alpaca, LLaMA, Koala, RWKV 等模型,依托于 [langchain](https://github.com/langchain-ai/langchain)
框架支持通过基于 [FastAPI](https://github.com/tiangolo/fastapi) 提供的 API
调用服务,或使用基于 [Streamlit](https://github.com/streamlit/streamlit) 的 WebUI 进行操作。
✅ 依托于本项目支持的开源 LLM 与 Embedding 模型,本项目可实现全部使用**开源**模型**离线私有部署**。与此同时,本项目也支持
OpenAI GPT API 的调用,并将在后续持续扩充对各类模型及模型 API 的接入。
⛓️ 本项目实现原理如下图所示,过程包括加载文件 -> 读取文本 -> 文本分割 -> 文本向量化 -> 问句向量化 ->
在文本向量中匹配出与问句向量最相似的 `top k`个 -> 匹配出的文本作为上下文和问题一起添加到 `prompt`中 -> 提交给 `LLM`生成回答。
📺 [原理介绍视频](https://www.bilibili.com/video/BV13M4y1e7cN/?share_source=copy_web&vd_source=e6c5aafe684f30fbe41925d61ca6d514)
![实现原理图](img/langchain+chatglm.png)
从文档处理角度来看,实现流程如下:
![实现原理图2](img/langchain+chatglm2.png)
🚩 本项目未涉及微调、训练过程,但可利用微调或训练对本项目效果进行优化。
🌐 [AutoDL 镜像](https://www.codewithgpu.com/i/chatchat-space/Langchain-Chatchat/Langchain-Chatchat) 中 `0.2.10`
版本所使用代码已更新至本项目 `v0.2.10` 版本。
🐳 [Docker 镜像](registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.7) 已经更新到 ```0.2.7``` 版本。
🌲 一行命令运行 Docker :
```shell
docker run -d --gpus all -p 80:8501 registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.7
```
🧩 本项目有一个非常完整的[Wiki](https://github.com/chatchat-space/Langchain-Chatchat/wiki/) , README只是一个简单的介绍,_
_仅仅是入门教程,能够基础运行__。
如果你想要更深入的了解本项目,或者想对本项目做出贡献。请移步 [Wiki](https://github.com/chatchat-space/Langchain-Chatchat/wiki/)
界面
## 解决的痛点
该项目是一个可以实现 __完全本地化__推理的知识库增强方案, 重点解决数据安全保护,私域化部署的企业痛点。
本开源方案采用```Apache License```,可以免费商用,无需付费。
我们支持市面上主流的本地大语言模型和Embedding模型,支持开源的本地向量数据库。
支持列表详见[Wiki](https://github.com/chatchat-space/Langchain-Chatchat/wiki/)
## 快速上手
### 1. 环境配置
+ 首先,确保你的机器安装了 Python 3.8 - 3.11 (我们强烈推荐使用 Python3.11)。
```
$ python --version
Python 3.11.7
```
接着,创建一个虚拟环境,并在虚拟环境内安装项目的依赖
```shell
# 拉取仓库
$ git clone https://github.com/chatchat-space/Langchain-Chatchat.git
# 进入目录
$ cd Langchain-Chatchat
# 安装全部依赖
$ pip install -r requirements.txt
$ pip install -r requirements_api.txt
$ pip install -r requirements_webui.txt
# 默认依赖包括基本运行环境(FAISS向量库)。如果要使用 milvus/pg_vector 等向量库,请将 requirements.txt 中相应依赖取消注释再安装。
```
请注意,LangChain-Chatchat `0.2.x` 系列是针对 Langchain `0.0.x` 系列版本的,如果你使用的是 Langchain `0.1.x`
系列版本,需要降级您的`Langchain`版本。
### 2, 模型下载
如需在本地或离线环境下运行本项目,需要首先将项目所需的模型下载至本地,通常开源 LLM 与 Embedding
模型可以从 [HuggingFace](https://huggingface.co/models) 下载。
以本项目中默认使用的 LLM 模型 [THUDM/ChatGLM3-6B](https://huggingface.co/THUDM/chatglm3-6b) 与 Embedding
模型 [BAAI/bge-large-zh](https://huggingface.co/BAAI/bge-large-zh) 为例:
下载模型需要先[安装 Git LFS](https://docs.github.com/zh/repositories/working-with-files/managing-large-files/installing-git-large-file-storage)
,然后运行
```Shell
$ git lfs install
$ git clone https://huggingface.co/THUDM/chatglm3-6b
$ git clone https://huggingface.co/BAAI/bge-large-zh
```
### 3. 初始化知识库和配置文件
按照下列方式初始化自己的知识库和简单的复制配置文件
```shell
$ python copy_config_example.py
$ python init_database.py --recreate-vs
```
### 4. 一键启动
按照以下命令启动项目
```shell
$ python startup.py -a
```
### 5. 启动界面示例
如果正常启动,你将能看到以下界面
1. FastAPI Docs 界面
![](img/fastapi_docs_026.png)
2. Web UI 启动界面示例:
- Web UI 对话界面:
![img](img/LLM_success.png)
- Web UI 知识库管理页面:
![](img/init_knowledge_base.jpg)
### 注意
以上方式只是为了快速上手,如果需要更多的功能和自定义启动方式
,请参考[Wiki](https://github.com/chatchat-space/Langchain-Chatchat/wiki/)
---
## 项目里程碑
+ `2023年4月`: `Langchain-ChatGLM 0.1.0` 发布,支持基于 ChatGLM-6B 模型的本地知识库问答。
+ `2023年8月`: `Langchain-ChatGLM` 改名为 `Langchain-Chatchat`,`0.2.0` 发布,使用 `fastchat` 作为模型加载方案,支持更多的模型和数据库。
+ `2023年10月`: `Langchain-Chatchat 0.2.5` 发布,推出 Agent 内容,开源项目在`Founder Park & Zhipu AI & Zilliz`
举办的黑客马拉松获得三等奖。
+ `2023年12月`: `Langchain-Chatchat` 开源项目获得超过 **20K** stars.
+ `2024年1月`: `LangChain 0.1.x` 推出,`Langchain-Chatchat 0.2.x` 发布稳定版本`0.2.10`
后将停止更新和技术支持,全力研发具有更强应用性的 `Langchain-Chatchat 0.3.x`。
+ 🔥 让我们一起期待未来 Chatchat 的故事 ···
---
## 联系我们
### Telegram
[![Telegram](https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white "langchain-chatglm")](https://t.me/+RjliQ3jnJ1YyN2E9)
### 项目交流群
<img src="img/qrcode_90_2.jpg" alt="二维码" width="300" />
🎉 Langchain-Chatchat 项目微信交流群,如果你也对本项目感兴趣,欢迎加入群聊参与讨论交流。
### 公众号
<img src="i
没有合适的资源?快使用搜索试试~ 我知道了~
基于 ChatGLM 等大语言模型与 Langchain 等应用langchain-chatchat-master.zip
共274个文件
py:134个
jpg:39个
pickle:39个
3 下载量 9 浏览量
2024-02-22
19:47:07
上传
评论
收藏 25.01MB ZIP 举报
温馨提示
基于 ChatGLM 等大语言模型与 Langchain 等应用框架实现,开源、可离线部署的检索增强生成(RAG)大模型知识库项目。 重要提示 0.2.10将会是0.2.x系列的最后一个版本,0.2.x系列版本将会停止更新和技术支持,全力研发具有更强应用性的 Langchain-Chatchat 0.3.x。 0.2.10 的后续 bug 修复将会直接推送到master分支,而不在进行版本更新。
资源推荐
资源详情
资源评论
收起资源包目录
基于 ChatGLM 等大语言模型与 Langchain 等应用langchain-chatchat-master.zip (274个子文件)
cmudict 3.64MB
swagger-ui.css 148KB
langchain-ChatGLM_open.csv 74KB
langchain-ChatGLM_closed.csv 39KB
ocr_test.docx 19KB
model_config.py.example 12KB
prompt_config.py.example 5KB
kb_config.py.example 5KB
server_config.py.example 4KB
basic_config.py.example 770B
.gitignore 3KB
.gitmodules 163B
分布式训练技术原理-幕布图片-392521-261326.jpg 1.04MB
大模型应用技术原理-幕布图片-108319-429731.jpg 331KB
qr_code_90.jpg 273KB
大模型推理优化策略-幕布图片-923924-83386.jpg 266KB
qrcode_90_2.jpg 232KB
分布式训练技术原理-幕布图片-618350-869132.jpg 228KB
分布式训练技术原理-幕布图片-220157-552735.jpg 227KB
大模型指令对齐训练原理-幕布图片-350029-666381.jpg 227KB
分布式训练技术原理-幕布图片-20096-279847.jpg 178KB
大模型推理优化策略-幕布图片-590671-36787.jpg 177KB
分布式训练技术原理-幕布图片-42284-124759.jpg 154KB
大模型指令对齐训练原理-幕布图片-349153-657791.jpg 149KB
大模型指令对齐训练原理-幕布图片-805089-731888.jpg 145KB
大模型技术栈-算法与原理-幕布图片-729151-372321.jpg 143KB
knowledge_base_success.jpg 113KB
分布式训练技术原理-幕布图片-124076-270516.jpg 94KB
大模型推理优化策略-幕布图片-930255-616209.jpg 88KB
大模型推理优化策略-幕布图片-276446-401476.jpg 79KB
init_knowledge_base.jpg 75KB
大模型推理优化策略-幕布图片-699343-219844.jpg 64KB
分布式训练技术原理-幕布图片-57107-679259.jpg 54KB
大模型推理优化策略-幕布图片-789705-122117.jpg 49KB
大模型应用技术原理-幕布图片-793118-735987.jpg 48KB
大模型应用技术原理-幕布图片-580318-260070.jpg 47KB
大模型技术栈-算法与原理-幕布图片-81470-404273.jpg 44KB
分布式训练技术原理-幕布图片-906937-836104.jpg 35KB
大模型推理优化策略-幕布图片-380552-579242.jpg 34KB
大模型应用技术原理-幕布图片-918388-323086.jpg 32KB
大模型技术栈-算法与原理-幕布图片-454007-940199.jpg 30KB
大模型指令对齐训练原理-幕布图片-17565-176537.jpg 30KB
分布式训练技术原理-幕布图片-36114-765327.jpg 28KB
chatchat-qrcode.jpg 27KB
分布式训练技术原理-幕布图片-838373-426344.jpg 27KB
大模型技术栈-算法与原理-幕布图片-628857-182232.jpg 23KB
大模型指令对齐训练原理-幕布图片-95996-523276.jpg 22KB
大模型技术栈-算法与原理-幕布图片-299768-254064.jpg 21KB
大模型指令对齐训练原理-幕布图片-759487-923925.jpg 14KB
大模型技术栈-算法与原理-幕布图片-19929-302935.jpg 9KB
ocr_test.jpg 8KB
swagger-ui-bundle.js 1.38MB
redoc.standalone.js 1018KB
langchain-ChatGLM_open.jsonl 90KB
langchain-ChatGLM_closed.jsonl 47KB
LICENSE 11KB
大模型技术栈-算法与原理.md 22KB
README_ja.md 10KB
分布式训练技术原理.md 8KB
README.md 8KB
README_en.md 8KB
大模型推理优化策略.md 7KB
大模型应用技术原理.md 5KB
大模型指令对齐训练原理.md 3KB
bug_report.md 2KB
feature_request.md 1KB
ES部署指南.md 962B
大模型技术栈-实战与应用.md 818B
langchain.pdf 586KB
ocr_test.pdf 25KB
averaged_perceptron_tagger.pickle 5.85MB
polish.pickle 1.95MB
greek.pickle 1.86MB
finnish.pickle 1.86MB
finnish.pickle 1.77MB
polish.pickle 1.66MB
estonian.pickle 1.52MB
german.pickle 1.46MB
estonian.pickle 1.43MB
german.pickle 1.4MB
czech.pickle 1.21MB
danish.pickle 1.21MB
norwegian.pickle 1.2MB
turkish.pickle 1.17MB
danish.pickle 1.14MB
norwegian.pickle 1.13MB
czech.pickle 1.07MB
swedish.pickle 1010KB
turkish.pickle 993KB
swedish.pickle 957KB
greek.pickle 855KB
slovene.pickle 813KB
dutch.pickle 725KB
slovene.pickle 717KB
dutch.pickle 677KB
italian.pickle 643KB
portuguese.pickle 634KB
italian.pickle 601KB
portuguese.pickle 598KB
spanish.pickle 584KB
共 274 条
- 1
- 2
- 3
资源评论
流华追梦
- 粉丝: 4296
- 资源: 2122
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于tensorflow多特征融合的微表情识别python源码.zip
- 基于yolov8实现人脸检测的python源码+运行说明.zip
- Micron Memory DDR3 SDRAM 全系列AD集成库(原理图库+PCB封装库).IntLib
- 基于tensorflow多特征融合的微表情识别python源码+详细使用说明.zip
- TensorRT部署DETR项目工程C++源码.zip
- Word文字处理软件练习题及答案.doc
- Word普通信纸信纸格式可打印.doc
- TensorRT部署DETR项目工程python源码.zip
- WPSexcel如何做柏拉图.doc
- 基于protel99se设计的PCB封装库PROTEL PCB封装库器件库常用芯片接插件电子元器件封装(1260个).lib
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功