没独显照样ChatGLM-6B+Langchain知识库

🎈前言

近来刷到不少大模型的文章,趁着五一拿ChatGLM3-6B搞一个知识库练练手,但是没有独显真的是硬伤,一路处处踩雷。总算是搞出来了一个还过得去的知识库,响应速度在能接受的范围内,这里记录一下,也希望能帮助想要尝试大模型的各位避下雷。

📄软硬件配置

硬件

  • CPU(13th Inter core i5-13400):10核16线程
  • 内存:32GB
  • 显卡:核显
  • 固态硬盘:1T

软件

模型比较大,下载速度比较慢

🎥效果展示

动图左上角为量化后的ChatGLM3-6B,旁边为Langchain-Chatchat

LLM对话

首次对话速度会慢点,之后对话速度会快很多

在这里插入图片描述

知识库问答

在这里插入图片描述

LangChain Docker配置启动

不使用WSL image.png 设置CPU、内存等配置的大小 image.png docker-compose.yml

yaml复制代码# 安装docker-compose:pip install --upgrade pip;pip install docker-compose
# 部署命令:docker-compose up -d
# 关闭卸载:docker-compose down
# 描述 Compose 文件的版本信息
version: '3'
# 定义服务,可以多个
services:
  chatglm-cpp: # 服务名称
    image: python:3.11-slim
    container_name:  chatglm-cpp # 容器名称
    # 网络模式:host使用宿主机的ip配置,不针对容器单独分配
    # network_mode: "host"
    ports:
      - 7860:7860
    volumes: # 目录挂载
     - ./chatglm.cpp:/app/chatglm.cpp
    command: tail -f /dev/null

目录

python复制代码└── project
    ├── chatglm.cpp # chatglm.cpp源码
    │   ├── chatglm_cpp # 安装chatglm.cpp生成的目录
    │   ├── chatglm_cpp-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl # 启动所需要的whl
    │   ├── bge-large-zh-v1.5 # bge-large-zh-v1.5目录
    │   │   ├── pytorch_model.bin # 模型
    │   │   └── ...
    │   ├── Langchain-Chatchat # Langchain-Chatchat源码
    │   │   ├── configs # 配置文件目录
    │   │   └── ...
    │   ├── models # 模型
    │   │   ├── chatglm3-6b # chatglm3-6b目录
    │   │   ├── chatglm3-ggml.bin # 使用chatglm_cpp量化后的模型
    │   │   └── ...
    │   └── ...
    └── docker-compose.yml

启动

复制代码docker-compose up -d

💾安装Chatglm.cpp

bash复制代码cd /app/chatglm.cpp

python3 -m pip install -U pip

# 安装需要的组件
python3 -m pip install torch tabulate tqdm transformers accelerate sentencepiece

# 量化模型
python3 /app/chatglm.cpp/chatglm_cpp/convert.py -i /app/chatglm.cpp/models/chatglm3-6b -t q4_0 -o /app/chatglm.cpp/models/chatglm3-ggml.bin
# 安装whl,这个文件可以在github上下载自己需要的
pip install chatglm_cpp-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

# 安装API所需要的组件
pip install 'chatglm-cpp[api]'

# !!!着重注意,启动需要的pydantic版本为2.7.1。而Langchain需要的pydantic是1.10.11,两个版本是冲突的
pip install pydantic==2.7.1

cd /app/chatglm.cpp/chatglm_cpp
# OPEN API模式启动
MODEL=../models/chatglm3-ggml.bin uvicorn chatglm_cpp.openai_api:app --host 127.0.0.1 --port 8000

LangChain 安装LangChain

bash复制代码cd /app/chatglm.cpp/Langchain-Chatchat

# 安装Langchain-Chatchat
pip install -r requirements.txt
pip install -r requirements_api.txt
pip install -r requirements_webui.txt

# 修改配置文件之前执行这个命令
python copy_config_example.py

修改/app/chatglm.cpp/Langchain-Chatchat/configs/model_config.py中以下内容:
"openai-api": {
"model_name": "gpt-4",
"api_base_url": "http://127.0.0.1:8000/v1",
"api_key": "123",
"openai_proxy": "http://127.0.0.1:8000",
}

 "embed_model": {
   ...
   "bge-large-zh-v1.5": "/app/chatglm.cpp/bge-large-zh-v1.5",
   ...
 }

修改/app/chatglm.cpp/Langchain-Chatchat/configs/server_config.py中的8501端口号为7860

# 降级

pip install pydantic==1.10.11

python startup.py -a --model-name openai-api

🔍初始化FAISS向量库

bash复制代码cd /app/chatglm.cpp/Langchain-Chatchat

python init_database.py --recreate-vs

📖LangChain + Chatglm3-6B + bge-large-zh + FAISS = 知识库

开两个命令行窗口,LangChain-Chatchat通过open api的方式接入Chatglm3-6B

ini复制代码# 窗口1启动Chatglm3-CPP

cd /app/chatglm.cpp/chatglm_cpp

# !!!着重注意,启动chatglm需要的pydantic版本为2.7.1。而Langchain需要的pydantic是1.10.11,两个版本是冲突的
pip install pydantic==2.7.1

MODEL=../models/chatglm3-ggml.bin uvicorn chatglm_cpp.openai_api:app --host 127.0.0.1 --port 8000
bash复制代码# 窗口2启动LangChain

cd /app/chatglm.cpp/Langchain-Chatchat

# !!!着重注意,启动chatglm需要的pydantic版本为2.7.1。而Langchain需要的pydantic是1.10.11,两个版本是冲突的
pip install pydantic==1.10.11

python startup.py -a --model-name openai-api

💌最后

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

资源分享

图片

大模型AGI学习包

图片

图片

资料目录

  1. 成长路线图&学习规划
  2. 配套视频教程
  3. 实战LLM
  4. 人工智能比赛资料
  5. AI人工智能必读书单
  6. 面试题合集

人工智能\大模型入门学习大礼包》,可以扫描下方二维码免费领取

1.成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

图片

2.视频教程

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩

图片

3.LLM

大家最喜欢也是最关心的LLM(大语言模型)

图片

人工智能\大模型入门学习大礼包》,可以扫描下方二维码免费领取

  • 13
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值