打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【完全私有的AI知识库,ChatGLM3无GPU也能跑】Docker一键部署,oneapi快速嵌入AI应用
userphoto

2024.01.11 江苏

关注

【完全私有的AI知识库,ChatGLM3无GPU也能跑】Docker一键部署,oneapi快速嵌入AI应用

原创 Jason513 PureAI 2023-12-17 15:39 发表于上海

点击下方图片快速进入【AI知识库合集系列文章】,分享关于AI应用落地的实践干货,欢迎关注~

前言

在前面的文章中,介绍了关于私有AI知识库和部分应用,让AI能根据企业私有的知识库去回答问题,成为真正意义的数字分身。但有一个问题一直没有解决,就是底层模型依然是基于的ChatGPT、文心等公共大模型,虽然openai等企业声明数据隐私安全,但显然大多数企业无法接受依赖外部去保障数据安全,所以私有化部署大模型是必需要做的一步。

💡本文将介绍如何在本地windows环境快速部署清华开源大模型ChatGLM3,并详细介绍如何通过one-api,将glm3接入知识库应用FastGPT,实现企业知识库私有化部署的闭环。


本文大纲:

  • 效果演示

  • 开源大模型评测榜单

  • ChatGLM3、chatglm.cpp、One-API简介

  • 基于Docker快速部署ChatGLM3
  • 基于Docker快速部署One-API
  • 如何借助One-API将ChatGLM3接入FastGPT等AI应用

效果演示

开源大模型评测

除了本文写的ChatGlm系列开源模型,目前市场主流的还有Qwen、Baichuan、Llama等,其中阿里的Qwen-72B-Chat 凭借720亿参数训练量目前名列开源大模型第一。当然,考虑因为使用个人笔记本进行推理,选择了10B以下的模型,chatglm3-6b在10B以下模型能力靠前。

完整榜单查看:https://github.com/jeinlee1991/chinese-llm-benchmark

ChatGLM3-6B

ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的新一代对话预训练模型。ChatGLM3-6B 是 ChatGLM3 系列中的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,ChatGLM3-6B 引入了更多强大特性。

官方地址:https://github.com/THUDM/ChatGLM3

chatglm.cpp

是对 ChatGLM3 进行推理加速的开源项目,使其能在windows上基于cpu推理
官方地址:https://github.com/li-plus/chatglm.cpp

One-API

通过标准的 OpenAI API 格式聚合所有的大模型,开箱即用 。

官方地址:https://github.com/songquanpeng/one-api

部署步骤

环境说明

window:win10/11,不低于 8C16GDocker:https://www.cnblogs.com/Can-daydayup/p/15468591.html

基于Docker部署ChatGLM3

获取ChatGLM3镜像并运行容器(此处可以参考https://github.com/li-plus/chatglm.cpp 说明自行打包镜像或获取镜像,如需阿里云仓库打包好的镜像,可以后台回复glm3自动获取):

# 在本地构建 docker 镜像并启动容器以在 CPU 上运行推理:# openai api serverdocker run -it --rm -v $PWD:/opt -p 8000:8000 -e MODEL=/opt/chatglm-ggml.bin chatglm.cpp \    uvicorn chatglm_cpp.openai_api:app --host 0.0.0.0 --port 8000
# To pull from Docker Hub and run demo:docker run -it --rm -v $PWD:/opt liplusx/chatglm.cpp:main \ ./build/bin/main -m /opt/chatglm-ggml.bin -p "你好"

# 启动阿里云仓库打包好的镜像

docker run --name chatglm3 -p 8000:8000 registry.cn-hangzhou.aliyuncs.com/xx/chatglm.cpp:xx

基于Docker一键部署One_API

一行代码部署one-api

docker run --name oneapi -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data justsong/one-api

访问ip:3000 登录系统,初次登录用户名/密码:root/123456

借助One-API将ChatGLM3接入FastGPT

1. 在one-api中添加chatglm3渠道

  • 类型:OpenAI。

  • 名称:chatglm3

  • 模型名称可以自定义:ChatGLM3

  • 密钥随便填

  • 代理地址填入 ChatGLM3-6B 的 API 地址,此处我填的本地地址(注意:本地调试不能填127.0.0.1,需要填写ipv4地址,可以通过ipconfig查看

点击渠道测试,看到如下报错,说明部署配置成功了

2. 在one-api中新建令牌,作为调用凭证

点击复制获取调用凭证:sk-*****

3.  修改fastgpt配置,增加chatglm3模型

修改.env(本地代码启动修改:.env.local)

修改内容如下:

# oneapi 地址ONEAPI_URL=http://localhost:3000/v1/# oneapi 令牌keyCHAT_API_KEY=sk-aOrj73NZxGNLnVXDE0928d7cC35c4f39922bD0FeCd792c5b

修改config.json(本地代码启动修改:config.local.json)

主要增加内容如下

{  "SystemParams": {    "pluginBaseUrl": "",    "openapiPrefix": "openapi",    "vectorMaxProcess": 15,    "qaMaxProcess": 15,    "pgIvfflatProbe": 10  },  "ChatModels": [    {      "model": "ChatGLM3",      "name": "ChatGLM3",      "price": 0,      "maxToken": 4000,      "quoteMaxToken": 2000,      "maxTemperature": 1.2,      "censor": false,      "defaultSystemChatPrompt": ""    }  ]  "VectorModels": [    {      "model": "m3e",      "name": "M3E(测试使用)",      "price": 0.1,      "defaultToken": 500,      "maxToken": 1800    }  ]}

测试

实测推理过程cpu使用率80%左右,每秒输出2-3个字

写在后面

数据安全永远是企业应用的第一要义,对于AI应用来说也是如此。曾经已亿计的大模型训练成本对于普通企业而言遥不可及,但得益于开源,在当下开源大模型越来越丰富且强大的背景下,任何组织或个人都能低成本的部署强大的私有大模型,而这将真正促成AI应用的快速发展。

持续分享关于AI应用、工具、知识管理的实践干货,欢迎点赞关注转发~

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
GPT大模型不再遥不可及:本地化部署让每个人都能拥有
如何基于一台MacBook搞定企业级大模型知识库部署
中金 | AI Answer:大模型助力B端落地先行范式
手把手教你搭建本地知识库问答AI机器人
5个助你搭建私有AI机器人的开源项目
Langchain-Chatchat:一种高效的开源知识库应用解决方案
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服