chatglm docker镜像,一键部署chatglm本地知识库

本文介绍了如何基于开源项目ChatGLM制作Docker镜像,包括Dockerfile的内容和处理的坑,如缺少的CUDA库。详细阐述了从打标签、构建、上传到DockerHub的流程,并提供了拉取和运行镜像的命令,以及解决启动时可能遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

好久没有写文章了,今天有空,记录一下chatglm本地知识库的docker镜像制作过程。

核心程序是基于“闻达”开源项目,稍作改动。镜像可以直接启动运行,大家感兴趣可以进入镜像内部查看,代码位于 /app 目录下。

一、制作镜像:

docker tag chatglm:v1 ch1949/chatglm:latest
docker push ch1949/chatglm:latest

1) Tag 这里注意:

tag的名字斜线前面部分ch1949需要是本人docker的用户名,才能push成功。

本人的docker用户名,可以进入docker hub网站查看。

2) 通用化总结一下:

上传自己的镜像到 Docker Hub 上可以分为以下几个步骤:

  1. 注册 Docker Hub 账号并登录。在 Docker Hub 的官方网站上注册账号后,使用 docker login 命令登录到 Docker Hub。

    $ docker login

  2. 构建 Docker 镜像。在本地使用 Dockerfile 构建出需要上传的镜像,

    FROM python:3.9
    WORKDIR /app
    COPY . /app
    RUN pip install -r requirements.txt
    CMD ["python", "app.py"]

    通过 docker build 命令进行构建。

    $ docker build -t myusername/myapp:1.0 .

  3. 给镜像打标签。使用 docker tag 命令给构建出的镜像打上标签,格式为 <用户名>/<镜像名>:<标签>,其中 <用户名> 是在 Docker Hub 上注册的用户名,<镜像名> 是自己给镜像起的名字,<标签> 是版本号或者其他标识符。

    $ docker tag myusername/myapp:1.0 myusername/myapp:latest

  4. 上传镜像到 Docker Hub。使用 docker push 命令将打好标签的镜像上传到 Docker Hub 上,格式为 docker push <用户名>/<镜像名>:<标签>

    $ docker push myusername/myapp:1.0
    $ docker push myusername/myapp:latest

二、使用

1) 拉取镜像

(目前书库中只有一本《三国演义》)

docker pull docker.io/ch1949/chatglm

2) 创建容器

创建容器
# docker run --gpus all -p 17860:17860 --name chatglm -it ch1949/chatglm:latest

后面可以通过start/stop来开关容器
# docker start chatglm
# docker stop chatglm

3) 然后直接浏览器访问  

这里记得打开你服务器机器的防火墙17860端口。

http://你机器的ip地址:17860

4) 看下效果

三、Dockerfile文件

FROM pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtime
LABEL maintainer="cc <ch1949@126.com>"
WORKDIR /app

RUN conda install cudatoolkit=11.7 -c nvidia -y

COPY / ./

RUN pip install -r requirements.txt

CMD ["python", "main.py"]

关于dockerfile的一些说明:

这里有一个坑:pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtime 镜像里没有 libcudart11.0 libcublaslt11 库,需要单独安装。

否则会报错:Library cudart is not initialized

当然,也可以自行安装:

conda install cudatoolkit=11.7 -c nvidia -y

或者通过apt命令,比如在Ubuntu 22.04 下执行如下命令效果一样:

sudo apt install libcudart11.0 libcublaslt11

(未完待续)

20230704

<think>好的,用户之前问过有没有类似FastGPT的一键部署工具,我推荐了包括LangChain-Chatchat在内的几个选项。现在用户具体询问如何部署LangChain-Chatchat,我需要详细说明步骤。首先,我需要回忆之前提供的部署命令是否准确,可能用户已经尝试过但遇到了问题,或者需要更详细的指导。 用户可能是开发者或者有一定技术背景的人,想要自己搭建一个中文知识库问答系统。他们可能更关心具体的步骤、依赖项、配置以及常见问题的解决方法。我需要分步骤讲解,确保每个环节都清晰,比如环境准备、克隆仓库、安装依赖、配置模型、启动应用等。 同时,用户可能对本地模型和在线模型的选择有疑问,需要说明两者区别和配置方法。另外,常见问题如端口冲突、依赖安装失败、模型加载问题,这些都需要预先给出解决方案,帮助用户避免踩坑。 还要注意用户可能是在不同的操作系统上部署,比如Linux或Windows,但根据项目文档,可能主要支持Linux,需要明确指出。此外,硬件要求如RAM和GPU是否必要,也需要提及,特别是如果用户资源有限,可能需要调整模型选择。 最后,提供官方文档链接和社区支持,方便用户进一步查阅。确保回答结构清晰,步骤详细,同时语言简洁易懂,避免过于技术化的术语,但又要足够准确。</think>以下是 **LangChain-Chatchat 的详细部署指南**,涵盖本地与云端部署流程,建议根据硬件条件选择方案: --- ### **一、基础环境准备** 1. **硬件要求** - **最低配置**:CPU 4核 / 内存 16GB(运行小模型如 ChatGLM3-6B) - **推荐配置**:GPU 显存 ≥ 16GB(运行 Qwen-72B 等大模型) 2. **软件依赖** - Python 3.8+ - CUDA 11.7+(如需 GPU 加速) - Git、Docker(可选) --- ### **二、本地部署步骤** #### **1. 克隆代码库** ```bash git clone https://github.com/chatchat-space/Langchain-Chatchat.git cd Langchain-Chatchat ``` #### **2. 安装依赖** ```bash # 使用官方安装脚本(自动处理Python包) python install.py # 或手动安装 pip install -r requirements.txt --upgrade ``` #### **3. 配置模型路径** 修改 `configs/model_config.py`: ```python # 示例:使用智谱AI的在线API(快速体验) MODEL_ROOT_PATH = "zhipuai" API_KEY = "your_api_key_here" # 若使用本地模型(需提前下载模型文件) # MODEL_ROOT_PATH = "/path/to/your/models" # 例如使用 ChatGLM3-6B: # MODEL_PATH = {"chatglm3-6b": "THUDM/chatglm3-6b"} ``` #### **4. 初始化知识库** ```bash # 生成默认向量数据库(需要约5分钟) python init_database.py --recreate-vs ``` #### **5. 启动应用** ```bash # 启动API服务(默认端口: 7861) python startup.py -a # 启动Web界面(默认端口: 8501) python startup.py --all-webui ``` --- ### **三、云端部署Docker方案)** #### **1. 构建镜像** ```bash docker build -t langchain-chatchat:latest . ``` #### **2. 运行容器** ```bash # 映射端口并挂载模型目录 docker run -d --name chatchat \ -p 7861:7861 -p 8501:8501 \ -v /path/to/models:/app/models \ langchain-chatchat:latest ``` --- ### **四、关键配置说明** 1. **模型选择** - **本地模型**:需提前从 HuggingFace 或 ModelScope 下载模型文件 - **在线API**:支持智谱AI、百度文心、OpenAI等(需申请API Key) 2. **知识库管理** - 支持格式:PDF/TXT/Markdown/Word - 添加文件:将文档放入 `knowledge_base` 目录后,通过Web界面上传 3. **性能优化** ```python # 修改 configs/server_config.py HTTPX_DEFAULT_TIMEOUT = 300 # 超时时间 VECTOR_SEARCH_TOP_K = 5 # 检索结果数量 ``` --- ### **五、常见问题排查** | **问题现象** | **解决方案** | |---------------------------|---------------------------------------| | 启动时报错 `CUDA out of memory` | 换用小模型 / 减少 `MAX_GPU_MEMORY` 参数 | | 知识库检索结果不准确 | 检查文档分块长度(建议 500-800字) | | API请求超时 | 调整 `HTTPX_DEFAULT_TIMEOUT` 至 600 | | 端口冲突 | 修改 `configs/server_config.py` 中的端口号 | --- ### **六、官方资源** - GitHub仓库:https://github.com/chatchat-space/Langchain-Chatchat - 在线Demo:https://chatchat.arcsoft.com.cn - 中文文档:https://langchain-chatchat.readthedocs.io --- **提示**:首次部署建议优先使用 **在线API模式**(如智谱AI),避免本地模型下载和硬件兼容性问题。若需定制功能,可修改 `server_config.py` 中的路由逻辑。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值