LangChain-Chatchat (原 Langchain-ChatGLM)Windows环境部署(台式机但是笔记本显卡)

github地址:https://github.com/chatchat-space/Langchain-Chatchat

github有时候访问不了,可以使用以下地址的来修改hosts访问

https://gitlab.com/ineo6/hosts/-/raw/master/hosts

或者用VPN工具也行。以下为Langchain-Chatchat官方文档基础上补充踩坑信息整理的文档,供参考:

基于 ChatGLM 等大语言模型与 Langchain 等应用框架实现,开源、可离线部署的检索增强生成(RAG)大模型知识库项目。

⚠️ 重要提示

0.2.10将会是0.2.x系列的最后一个版本,0.2.x系列版本将会停止更新和技术支持,全力研发具有更强应用性的 Langchain-Chatchat 0.3.x。 0.2.10 的后续 bug 修复将会直接推送到master分支,而不在进行版本更新。

目录

介绍

解决的痛点

快速上手

1. 环境配置

2. 模型下载

3. 初始化知识库和配置文件

4. 一键启动

5. 启动界面示例

联系我们

介绍

🤖️ 一种利用 langchain 思想实现的基于本地知识库的问答应用,目标期望建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。

💡 受 GanymedeNil 的项目 document.ai 和 AlexZhangji 创建的 ChatGLM-6B Pull Request 启发,建立了全流程可使用开源模型实现的本地知识库问答应用。本项目的最新版本中通过使用 FastChat 接入 Vicuna, Alpaca, LLaMA, Koala, RWKV 等模型,依托于 langchain 框架支持通过基于 FastAPI 提供的 API 调用服务,或使用基于 Streamlit 的 WebUI 进行操作。

✅ 依托于本项目支持的开源 LLM 与 Embedding 模型,本项目可实现全部使用开源模型离线私有部署。与此同时,本项目也支持 OpenAI GPT API 的调用,并将在后续持续扩充对各类模型及模型 API 的接入。

⛓️ 本项目实现原理如下图所示,过程包括加载文件 -> 读取文本 -> 文本分割 -> 文本向量化 -> 问句向量化 -> 在文本向量中匹配出与问句向量最相似的 top k个 -> 匹配出的文本作为上下文和问题一起添加到 prompt中 -> 提交给 LLM生成回答。

🚩 本项目未涉及微调、训练过程,但可利用微调或训练对本项目效果进行优化。

🌐 AutoDL 镜像 中 0.2.10

版本所使用代码已更新至本项目 v0.2.10 版本。

🐳 Docker 镜像 已经更新到 0.2.7 版本。

🌲 一行命令运行 Docker :

docker run -d --gpus all -p 80:8501 registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.7

🧩 本项目有一个非常完整的Wiki , README只是一个简单的介绍,_ 仅仅是入门教程,能够基础运行_。 如果你想要更深入的了解本项目,或者想对本项目做出贡献。请移步 Wiki 界面

解决的痛点

该项目是一个可以实现 __完全本地化__推理的知识库增强方案, 重点解决数据安全保护,私域化部署的企业痛点。 本开源方案采用Apache License,可以免费商用,无需付费。

我们支持市面上主流的本地大语言模型和Embedding模型,支持开源的本地向量数据库。 支持列表详见Wiki

快速上手

1. 环境配置

首先,确保你的机器安装了 Python 3.8 - 3.11 (我们强烈推荐使用 Python3.11)。

$ python --version

Python 3.11.7

pip install --upgrade python==3.11.7

接着,创建一个虚拟环境,并在虚拟环境内安装项目的依赖,以下命令均在gitbash的窗口中运行,gitbash内置git和类似linux的命令。

# 拉取仓库

$ git clone https://github.com/chatchat-space/Langchain-Chatchat.git

# 进入目录

$ cd Langchain-Chatchat

# 安装全部依赖

$ pip install -r requirements.txt

#如果没有使用VPN可以使用清华源安装

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

$ pip install -r requirements_api.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

$ pip install -r requirements_webui.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

# 默认依赖包括基本运行环境(FAISS向量库)。如果要使用 milvus/pg_vector 等向量库,请将 requirements.txt 中相应依赖取消注释再安装。

请注意,LangChain-Chatchat 0.2.x 系列是针对 Langchain 0.0.x 系列版本的,如果你使用的是 Langchain 0.1.x 系列版本,需要降级您的Langchain版本。

2, 模型下载

如需在本地或离线环境下运行本项目,需要首先将项目所需的模型下载至本地,通常开源 LLM 与 Embedding 模型可以从 HuggingFace 下载。

以本项目中默认使用的 LLM 模型 THUDM/ChatGLM3-6B 与 Embedding 模型 BAAI/bge-large-zh 为例:

下载模型需要先安装 Git LFS ,然后运行

$ git lfs install

一定要在Langchain-Chatchat下面新建THUDM目录,cd THUDM命令运行后, 然后运行一下git命令。不然对于小白来说,有可能因为相对目录不对,从而找不到模型,下面这个命令还有一个坑就是下载的模型不全,还是要通过THUDM/chatglm3-6b · HF Mirror里面手动下载大文件才行。bge-large-zh-v1.5也是类似,官网写的ge-large-zh,但实际用的large-zh-v1.5,不过两个都下载也没关系,不太大。

$ git clone https://huggingface.co/THUDM/chatglm3-6b

git clone https://hf-mirror.com/THUDM/chatglm3-6b

$ git clone https://huggingface.co/BAAI/bge-large-zh

$ git clone BAAI/bge-large-zh · HF Mirror

git clone https://hf-mirror.com/BAAI/bge-large-zh-v1.5

#因为https://huggingface.co访问不了,所以使用https://hf-mirror.com/中的方式4来下载

huggingface-cli download --token hf_i* --resume-download THUDM/chatglm3-6b --local-dir chatglm3-6b

huggingface-cli download --token hf_* --resume-download BAAI/bge-large-zh --local-dir BAAI/bge-large-zh

#hf_*为https://huggingface.co网站里面使用VPN申请注册用户的token,如果需要可私信,不定期回复。

3. 初始化知识库和配置文件

按照下列方式初始化自己的知识库和简单的复制配置文件

$ python copy_config_example.py

#发现还需要安装BAAI/bge-large-zh-v1.5模型,于是继续git clone BAAI/bge-large-zh-v1.5 · HF Mirror,之后手动下载模型。

$ python init_database.py --recreate-vs

#上述命令安装失败,处理方法langchain安装报错ModuleNotFoundError: No module named ‘pwd‘_modulenotfounderror: no module named 'pwd-CSDN博客,先运行pip install langchain-community==0.0.19,然后再运行

4. 一键启动

按照以下命令启动项目

$ python startup.py -a

在运行上述命令之前碰到一个坑就是,找不到GPU,后来发现我是贪便宜买的笔记本显卡,驱动还只支持特定版本,所以只能安装CUDA12.2,而且安装的时候要把驱动都去掉。而且安装pytorch相应版本的时候需要重新pip安装12.2对应版本,之后才能找到GPU

# ROCM 5.6 (Linux only)

pip install torch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/rocm5.6

# CUDA 11.8

pip install torch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/cu118

# CUDA 12.1

pip install torch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/cu121

# CPU only

pip install torch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/cpu

5. 启动界面示例

如果正常启动,你将能看到以下界面

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值