四川网络营销推广,20条优化防疫措施方案,房产律师咨询免费24小时在线,免费软件下载中心前面三篇分别讲解了如何在本地环境部署大模型#xff0c;那么今天简单的通过 Langchain-Chatchat 和 chatGLM3结合在本地环境搭建一套属于自己的大模型知识库。
往期llm系列文章
基于MacBook Pro M1芯片运行chatglm2-6b大模型如何在本地部署chatGLM3基于ChatGLM.cpp实现低成…前面三篇分别讲解了如何在本地环境部署大模型那么今天简单的通过 Langchain-Chatchat 和 chatGLM3结合在本地环境搭建一套属于自己的大模型知识库。
往期llm系列文章
基于MacBook Pro M1芯片运行chatglm2-6b大模型如何在本地部署chatGLM3基于ChatGLM.cpp实现低成本对ChatGLM3-6B的量化加速 文章目录 1. 参考2. Langchain-Chatchat 介绍3. 本地运行3.1 硬件配置3.2 配置环境3.3 模型下载3.4 初始化知识库和配置文件3.5 配置文件修改3.6 一键启动 4. 使用4.1 对话示例1: 文字对话示例2: 代码编写示例3: 画图 4.2 知识库示例1: 知识库中搜索 1. 参考
Langchain-ChatchatChatGLM3介绍conda安装
2. Langchain-Chatchat 介绍 一种利用 langchain 思想实现的基于本地知识库的问答应用目标期望建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。 该项目是一个可以实现 __完全本地化__推理的知识库增强方案, 重点解决数据安全保护私域化部署的企业痛点。 本开源方案采用Apache License可以免费商用无需付费。 目前支持市面上主流的本地大语言模型和Embedding模型支持开源的本地向量数据库。
本项目实现原理如下图所示过程包括加载文件 - 读取文本 - 文本分割 - 文本向量化 - 问句向量化 - 在文本向量中匹配出与问句向量最相似的 top k个 - 匹配出的文本作为上下文和问题一起添加到 prompt中 - 提交给 LLM生成回答。 从文档处理角度来看实现流程如下
详细介绍参考官方README介绍。
3. 本地运行
3.1 硬件配置
芯片Apple M1 Pro内存32 GB
3.2 配置环境
conda create -n chatglm2 python3.11
conda activate chatglm2cd /Users/joseph.wang/llm
#拉取仓库
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版本。
3.3 模型下载
cd /Users/joseph.wang/llm/Langchain-Chatchat
git lfs install
git clone https://huggingface.co/THUDM/chatglm3-6b
git clone https://huggingface.co/BAAI/bge-large-zh3.4 初始化知识库和配置文件 按照下列方式初始化自己的知识库和简单的复制配置文件 python3 copy_config_example.py
python3 init_database.py --recreate-vs3.5 配置文件修改
cd /Users/joseph.wang/llm/Langchain-Chatchat/configs
(chatglm2) joseph.wangjoseph ~/llm/Langchain-Chatchat/configs master ± tree -L 1
.
├── __init__.py
├── __pycache__
├── basic_config.py
├── basic_config.py.example
├── kb_config.py
├── kb_config.py.example
├── model_config.py
├── model_config.py.example
├── prompt_config.py
├── prompt_config.py.example
├── server_config.py
└── server_config.py.example
basic_config.py、kb_config.py、model_config.py、prompt_config.py、server_config.py 这些文件都有不同的作用由于我是用Mac M1来运行的因为需要修改model_config.py这个文件。 编辑model_config.py只修改如下部分其他地方不用修改或者根据自己的模型需要修改即可。
...
EMBEDDING_MODEL bge-large-zh
...
EMBEDDING_DEVICE mps
...
LLM_MODELS [chatglm3-6b] #, zhipu-api, openai-api]
...
LLM_DEVICE mps
...
MODEL_PATH {embed_model: {...bge-large-zh: /Users/joseph.wang/llm/Langchain-Chatchat/bge-large-zh,...},llm_model: {chatglm3-6b: /Users/joseph.wang/llm/Langchain-Chatchat/chatglm3-6b,...},......3.6 一键启动
cd /Users/joseph.wang/llm/Langchain-Chatchat
python3 startup.py -a内存消耗会比较消耗内存 启动过程如下
4. 使用
4.1 对话
示例1: 文字对话 示例2: 代码编写 虽然代码中有错误的部分但是影响不大运行起来没问题
示例3: 画图 4.2 知识库
创建知识库 填写知识库的信息和选择向量库的类型、模型在model_config.py中已经定义了 选择本地的文档
后台导入数据过程 想数据存放到向量库中
示例1: 知识库中搜索