当前位置: 首页 > news >正文

【LLM】-05-提示工程-部署Langchain-Chat

目录

1、软硬件要求

1.1、软件要求

1.2、硬件要求

1.3、个人配置参考

2、创建cuda环境

3、下载源码及模型

4、配置文件修改

5、初始化知识库

 5.1、训练自己的知识库

6、启动

7、API接口调用

7.1、使用openai


 

参考官方wiki,本文以Ubuntu20.04_x64,RTX4090,chatglm3-6b 模型为基础

1、软硬件要求

1.1、软件要求

  • Linux Ubuntu 22.04.5 kernel version 6.7

开发者在以下环境下进行代码调试,在该环境下能够避免最多环境问题。

  • Python 版本 == 3.11.7
  • CUDA 版本: == 12.1

1.2、硬件要求

在GPU运行本地模型的 FP16 版本

  • ChatGLM3-6B & LLaMA-7B-Chat 等 7B模型
    • 最低显存要求: 14GB
    • 推荐显卡: RTX 4080
  • Qwen-14B-Chat 等 14B模型
    • 最低显存要求: 30GB
    • 推荐显卡: V100
  • Yi-34B-Chat 等 34B模型
    • 最低显存要求: 69GB
    • 推荐显卡: A100
  • Qwen-72B-Chat 等 72B模型
    • 最低显存要求: 145GB
    • 推荐显卡:多卡 A100 以上

一种简单的估算方式为:

FP16: 显存占用(GB) = 模型量级 x 2
Int4: 显存占用(GB) = 模型量级 x 0.75

1.3、个人配置参考

处理器: Intel® Core™ i9 processor 14900K 
内存: 256 GB DDR5
显卡组:  NVIDIA RTX4090 X 1 / NVIDIA RTXA6000 X 1
硬盘: 1 TB
操作系统: Ubuntu 22.04 LTS / Arch Linux, Linux Kernel 6.6.7
显卡驱动版本: 545.29.06
Cuda版本: 12.3 Update 1
Python版本: 3.11.7

 

2、创建cuda环境

# 创建chatchat 环境
conda create -n chatchat python=3.11.8# 激活环境
conda activate chatchat

3、下载源码及模型

cd /home/chatchat
git clone --recursive https://github.com/chatchat-space/Langchain-Chatchat.git# 进入目录
cd Langchain-Chatchat# 安装全部依赖
pip install -r requirements.txt# 模型下载 chatglm3-6b
# 需要在hugging face中下载,依赖lfs 插件, 并且需要借助VPN
cd /home/chatchat/models
git lfs install
git clone https://huggingface.co/THUDM/chatglm3-6bgit clone https://huggingface.co/BAAI/bge-large-zh-v1.5# git clone https://huggingface.co/THUDM/chatglm2-6b
# git clone https://huggingface.co/moka-ai/m3e-base

4、配置文件修改

1、在/home/chatchat/Langchain-Chatchat/configs目录下面找到model_config.py修改其中模型配置

我的目录结构

- Langchain-Chatchat  

- models

  --bge-large-zh  

  --chatglm3-6b

 

1e7edfcc130c406c8d232d106c3c9de8.png

 

2、服务和端口配置项 server_config.py

通常,这个页面并不需要进行大量的修改,仅需确保对应的端口打开,并不互相冲突即可。

如果你是Linux系统推荐设置

DEFAULT_BIND_HOST ="0.0.0.0"

 

5、初始化知识库

当前项目的知识库信息存储在数据库中,在正式运行项目之前请先初始化数据库(我们强烈建议您在执行操作前备份您的知识文件)。

 5.1、训练自己的知识库

cd /home/chatchat/models
# 文字转向量模型
git clone https://huggingface.co/BAAI/bge-large-zh
  •  如果您是第一次运行本项目,知识库尚未建立,或者之前使用的是低于最新master分支版本的框架,或者配置文件中的知识库类型、嵌入模型发生变化,或者之前的向量库没有开启 normalize_L2,需要以下命令初始化或重建知识库:
cd /home/chatchat/Langchain-Chatchat
python init_database.py --recreate-vs
  • 如果您已经有创建过知识库,可以先执行以下命令创建或更新数据库表:

cd /home/chatchat/Langchain-Chatchat
python init_database.py --create-tables

        如果可以正常运行,则无需再重建知识库。

6、启动

python startup.py -a

cdf8f78993f94bc8b820c705b5ec239f.png

可视化页面

注意左侧的温度参数:Temperature。对回答结果有影响

a6e4e50998f9460788bbd9750388524c.png

 

启动参数

  • --all-webui 为一键启动 WebUI 所有依赖服务;
  • --all-api 为一键启动 API 所有依赖服务;
  • --llm-api 为一键启动 Fastchat 所有依赖的 LLM 服务;
  • --openai-api 为仅启动 FastChat 的 controller 和 openai-api-server 服务;
  • 其他为单独服务启动选项。

若想指定非默认模型,需要用 --model-name 选项,示例:

python startup.py --all-webui --model-name Qwen-7B-Chat

更多信息可通过 查看。

python startup.py -h 

ba57aa2eb3cc4953835709264c8de91c.png

 

7、API接口调用

7.1、使用openai

# 需要安装openai 依赖,如果报错,安装指定版本,
# pip install openai==0.28
import openai
openai.api_key = "EMPTY"
openai.api_base = "http://192.168.1.1:20000/v1"model = "chatglm3-6b"# create a chat completion
completion = openai.ChatCompletion.create(model=model,messages=[{"role": "user", "content": "你好"}]
)
print(completion.choices[0].message.content)

 

 

http://www.lryc.cn/news/405199.html

相关文章:

  • 【漏洞复现】Next.js框架存在SSRF漏洞(CVE-2024-34351)
  • 【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 小区小朋友统计(100分) - 三语言AC题解(Python/Java/Cpp)
  • Vuex看这一篇就够了
  • Kafka集群创建
  • 2024.7.22 作业
  • 如何使用aiohttp或requests-async等库并发地执行多个HTTP请求
  • Golang | Leetcode Golang题解之第257题二叉树的所有路径
  • 关于css中flex布局垂直居中失效问题的原因
  • 用Redisson写一个库存扣减的方法
  • 第2节课:文本内容与格式化——HTML中的文本处理技巧
  • temu平台电池/锂电池UN38.3资质合规解析
  • Huawei、Cisco 路由中 RIP 协议 summary 的用法
  • 智能图像信息提取(飞桨OCR+ERNIE-Layout)
  • Ubuntu 24.04 LTS Noble安装 FileZilla Server
  • 【关于使用swoole的知识点整理】
  • 迁移学习:目标检测的加速器
  • gitee的怎么上传项目
  • 【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(二十三)
  • .NET C# 配置 Options
  • 42、PHP 实现把二叉树打印成多行
  • verilog bug记录——正点原子spi_drive存在的问题
  • vue+watermark-dom实现页面水印效果
  • 为什么要学习网安技术?
  • 2024春秋杯网络安全联赛夏季赛Crypto(AK)解题思路及用到的软件
  • vue2 使用代码编辑器插件 vue-codemirror
  • 自动驾驶系列—智能巡航辅助功能中的横向避让功能介绍
  • 通过this.$options.data()重置变量时,会影响到引用了props或methods的变量
  • [PM]产品运营
  • 流程控制语句
  • 杰发科技AC7840——SENT数据解析及软件Sent发送的实现