AI干货!LangChain+ChatChat+DeepSeek 如何实现本地知识库部署管理?
·
规划方案
实现安装版本确定:
- Ubuntu24
- Python版本:3.10
- Cuda版本:>=11.7(可选)
一、安装conda3
虚拟环境的管理工具。
mkdir -p ~/miniconda3
# 下载安装脚本
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
# 执行安装过程
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
# 删除安装脚本
rm -rf ~/miniconda3/miniconda.sh
# 激活conda3
~/miniconda3/bin/conda init bash
~/miniconda3/bin/conda init zsh
# 生效,至此获取了miniconda的基础环境
source /root/.zshrc
# 配置镜像仓库,加入如下内容
vim /root/miniconda3/.condarc
加入内容为:
show_channel_urls:true
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- defaults
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
继续执行如下操作:
# 初始化,查看加载配置过的channel_URLs
conda info
二、使用conda创建虚拟环境
# 创建虚拟环境,指定python版本为3.10
conda create -n langchain-chatchat310 python=3.10
# 激活虚拟环境,并进入
conda activate langchain-chatchat310
三、安装langchain
3.1 安装langchain
# 安装
pip install langchain-chatchat -U -i https://pypi.tuna.tsinghua.edu.cn/simple
如果安装过程遇到报错,可以在官网讨论社区进行查询:https://github.com/chatchat-space/Langchain-Chatchat/issues
在初始化之前做的操作:
# 配置文件
vim root/.bashrc
# 加入如下内容:
export CHATCHAT_ROOT=/data/
# 加载源。【注意:环境已经切换到base,需要切换回“langchain-chatchat310”后,再初始化】
source /root/.bashrc
# 验证是否配置成功,返回/data/,说明环境变量配置正确。
echo ${CHATCHAT_ROOT}
开始初始化:
# 重新激活进入虚拟环境
conda activate langchain-chatchat310
# 初始化
chatchat init
初始化完成后,会在/data/目录下生成相关文件:
basic_settinas.yaml : 基础配置
data:文件夹
kb_settings.yaml : 知识库的配置
model_settings.yaml :模型的配置
program:文件夹
prompt_settings.yaml : 提示词的配置
tool_settings.yaml : 工具的配置
配置模型配置文件:
# 打开模型配置文件
vim model_settings.yaml
更改内容如下:
# 默认选用的 LLM 名称
DEFAULT_LLM_MODEL: deepseek-r1
# 默认选用的 Embedding 名称 (默认使用bge-m3向量模型)
DEFAULT_EMBEDDING_MODEL: bge-m3
# # 平台名称改为
platform_name: ollama
# # 平台类型改为
platform_type: ollama
# # openai api url(端口9997改成11434)
api_base_url: http://127.0.0.1:11434/v1
llm_models:
- qwen:7b
- qwen2:7b
- deepseek-r1 # 添加此次
embed models:
- quentinz/bge-large-zh-v1.5
- bge-m3 # 添加此次
四、安装Ollama
4.1 安装Ollama
# 放置地址
mkdir -p /data/program
cd /data/program
# 下载安装包,可选择指定版本
wget https://github.com/ollama/ollama/releases/download/v0.5.13/ollama-linux-amd64.tgz
# 该包无需编译,直接解压
tar -C /usr -xzf ollama-linux-amd64.tgz
# 添加执行权限
chmod +x /usr/bin/ollama
# 添加用户
useradd -r -s /bin/false -m -d /user/share/ollama ollama
# 创建服务文件,并加入下方内容:
vim /etc/systemd/system/ollama.service
加入内容如下:
[Unit]
Description=0llama Service
After=network-online.target
[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
[Install]
WantedBy=default.target
继续操作:
# 重新加载配置
systemctl daemon-reload
# 设置开机启动
systemctl enable ollama
# 启动ollama
systemctl start ollama
# 验证是否安装成功,返回版本信息则成功
ollama --version
4.2 安装bge-m3向量模型
# 拉下向量模型,直到模型下载完
ollama pull bge-m3
五、安装deepseek-r1大模型
5.1 安装deepseek-r1
在ollama官网的模型频道,下载大模型:https://ollama.com/search
使用执行命令:
# 安装deepseek-r1
ollama run deepseek-r1:1.5b
# 显示成功
success
# 退出
/bye
【注意】按照deepseek的不同版本,需要指定多少b,然后来下载。版本不匹配的话,需要升级ollama或者deepseek的版本,相匹配才可以安装成功。
5.2 删除文件
为了避免初始化chatchat的时间太长,现在删除自带的程序文件。(也可以默认不删除)
# 删除此目录下文件:
cd /data/data/knowledge_base/samples/content
# 删除
rm -rf *.md
cd /data/data/knowledge_base/samples/content/test_files
rm -rf *.xlsX
rm -rf *.csv
rm -rf *.txt
rm -rf *.pdf
# 返回到/data目录
cd /data/
5.3 初始化
# 初始化
chatchat kb -r
执行此步骤,时间大概较长一般10到15分钟,看看日志进度可以判断是否卡住:
等到运行出了结果:
5.4 启动LangChain
# 启动LangChain
chatchat start -a
至此,
web访问地址:http://服务器ip:8501
AIP访问地址:http://服务器ip:7861
注意事项
如果访问不了,怎么办?
【情况一】
# 修改文件
vim basic_settings.yaml
# 配置地址,127.0.0.1 仅本地访问(视情况而定)
DEFAULT_BIND_HOST: O.0.O.0
【情况二】
# 防火墙开发端口
ufw allow 8501
【情况三】
主要的原因,一定保证容器的端口,不要出现冲突,可以在运行容器的时候这样指定(ubuntu默认的80端口,不要与之冲突):
docker run -dit --name ubuntu-v1 -p 8080:80 -p 8081:7861 -p 8082:8501 ubuntu-langchat:chat-v1
更多推荐

所有评论(0)