使用 Sealos 将 ChatGLM3 接入 FastGPT,打造完全私有化 AI 客服

news2024/11/26 16:45:32

FastGPT 是一款专为客服问答场景而定制的开箱即用的 AI 知识库问答系统。该系统具备可视化工作流功能,允许用户灵活地设计复杂的问答流程,几乎能满足各种客服需求。

在国内市场环境下,离线部署对于企业客户尤为重要。由于数据安全和隐私保护的考虑,企业通常不愿意将敏感数据上传到线上大型 AI 模型 (如 ChatGPT、Claude 等)。因此,离线部署成为一个刚需

幸运的是,FastGPT 本身是开源的,除了可以使用其在线服务外,也允许用户进行私有化部署。相关的开源项目代码可以在 GitHub 上找到:https://github.com/labring/FastGPT

正好上周 ChatGLM 系列推出了其最新一代的开源模型——ChatGLM3-6B。该模型在保留前两代模型流畅对话和低部署门槛的优点基础上,带来了以下新特性:

  1. 更强大的基础模型:ChatGLM3-6B 的基础模型,名为 ChatGLM3-6B-Base,具有更丰富的训练数据、更合理的训练策略和更多的训练步数。在语义、数学、推理、代码、知识等不同角度的数据集上测评显示,ChatGLM3-6B-Base 具有在 10B 以下的预训练模型中优秀的性能。

  2. 更完善的功能:ChatGLM3-6B 引入了全新设计的 Prompt 格式,除了支持正常的多轮对话,还原生支持如工具调用 (Function Call)、代码执行 (Code Interpreter) 和 Agent 任务等复杂场景。

  3. 更全面的开源计划:除了 ChatGLM3-6B,该团队还开源了基础模型 ChatGLM-6B-Base 和长文本对话模型 ChatGLM3-6B-32K。以上所有权重对学术研究完全开放,在登记后亦允许免费商业使用。

本文接下来将详细介绍如何私有化部署 ChatGLM3-6B,并与 FastGPT 结合,构建一个完完全全私有化的 AI 知识库问答系统

通过这样的整合,企业不仅可以保证数据安全,还能利用最新、最强大的 AI 技术来提升客服效率和用户体验

原文链接:https://forum.laf.run/d/1085

One API 部署

FastGPT 可以通过接入 One API 来实现对各种大模型的支持,你可以参考 FastGPT 的文档来部署 One API。

FastGPT 部署

如果你不嫌麻烦,可以选择在本地使用 Docker Compose 来部署 FastGPT。

我推荐直接使用 Sealos 应用模板来一键部署,Sealos 无需服务器、无需域名,支持高并发 & 动态伸缩。打开以下链接即可一键部署 👇

https://cloud.sealos.top/?openapp=system-fastdeploy%3FtemplateName%3Dfastgpt

  • root password 是默认的密码,默认用户名是 root
  • base url 填入 One API 提供的 API 接口。假设 One API 地址是 https://xxx.cloud.sealos.top,那么 base url 就是 https://xxx.cloud.sealos.top/v1。如果你的 One API 和 FastGPT 都部署在 Sealos 中,这里的 base url 可以填入 One API 的内网地址,例如我的内网地址是:http://one-api-wkskpejy.ns-sbjre322.svc.cluster.local:3000/v1
  • api key 填入由 One API 提供的令牌。

填好参数之后,点击【部署应用】:

部署完成后,点击【确认】跳转到应用详情。

等待应用的状态变成 running 之后,点击外网地址即可通过外网域名直接打开 FastGPT 的 Web 界面。

我们暂时先不登录,先把 ChatGLM3-6B 模型部署好,然后再回来接入 FastGPT。

ChatGLM3-6B 部署

ChatGLM3 的项目地址为:https://github.com/THUDM/ChatGLM3

该项目 README 已经提供了在 GPU 环境中如何进行部署的详细步骤。但本文我们将专门讨论如何在没有 GPU 支持的情况下,仅使用 CPU 来运行 ChatGLM3

首先登录 Sealos 国内版集群:https://cloud.sealos.top/

然后打开【应用管理】:

应用名称随便填,镜像名为:registry.cn-hangzhou.aliyuncs.com/ryyan/chatglm.cpp:chatglm3-q5_1

CPU 和内存拉到最大值,不然跑不起来。容器暴露端口设置为 8000。然后点击右上角的【部署】:

部署完成后,点击查看运行日志:

很好,三分钟解决战斗!

将 ChatGLM3-6B 接入 One API

打开 One API 的 Web 界面,添加新的渠道:

  • 类型选择 OpenAI。
  • 名称按自己的心意填。
  • 模型名称可以通过自定义模型名称来设置,例如:ChatGLM3。
  • 密钥随便填。
  • 代理地址填入 ChatGLM3-6B 的 API 地址。如果你按照本教程把 One API 和 ChatGLM3-6B 全部部署在 Sealos 中,那就可以直接填 ChatGLM3-6B 的内网地址。

最后点击【提交】即可。

将 ChatGLM3-6B 接入 FastGPT

最后我们来修改 FastGPT 的配置,将 ChatGLM3-6B 接入 FastGPT。

首先在 FastGPT 的应用详情中点击【变更】:

然后点击配置文件中的 /app/data/config.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": ""
    }
  ],
  "QAModels": [
    {
      "model": "ChatGLM3",
      "name": "ChatGLM3",
      "maxToken": 8000,
      "price": 0
    }
  ],
  "CQModels": [
    {
      "model": "ChatGLM3",
      "name": "ChatGLM3",
      "maxToken": 8000,
      "price": 0,
      "functionCall": true,
      "functionPrompt": ""
    }
  ],
  "ExtractModels": [
    {
      "model": "ChatGLM3",
      "name": "ChatGLM3",
      "maxToken": 8000,
      "price": 0,
      "functionCall": true,
      "functionPrompt": ""
    }
  ],
  "QGModels": [
    {
      "model": "ChatGLM3",
      "name": "ChatGLM3",
      "maxToken": 4000,
      "price": 0
    }
  ],
  "VectorModels": [
    {
      "model": "text-embedding-ada-002",
      "name": "Embedding-2",
      "price": 0.2,
      "defaultToken": 700,
      "maxToken": 3000
    },
    {
      "model": "m3e",
      "name": "M3E(测试使用)",
      "price": 0.1,
      "defaultToken": 500,
      "maxToken": 1800
    }
  ]
}

修改完成后,点击【确认】,然后点击右上角的【变更】,等待 FastGPT 重启完成后,再次访问 FastGPT,点击【立即开始】进入登录界面,输入默认账号密码后进入 FastGPT 控制台:

新建一个应用,模板选择【简单的对话】,点击【确认创建】。

AI 模型选择 ChatGLM3,然后点击【保存并预览】。

点击左上角【对话】打开一个聊天会话窗口:

按国际惯例先来测试一下它的自我认知

再来检测一下数学能力:

逻辑推理能力:

接入 M3E 向量模型

刚刚我们只是测试了模型的对话能力,如果我们想使用 FastGPT 来训练知识库,还需要一个向量模型。FastGPT 线上服务默认使用了 OpenAI 的 embedding 模型,如果你想私有部署的话,可以使用 M3E 向量模型进行替换。M3E 的部署方式可以参考文档:https://doc.fastgpt.in/docs/custom-models/m3e/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1162346.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

springboot--多环境配置快速切换开发、测试、生产环境

多环境配置快速切换开发、测试、生产环境 前言1、使用1.1指定环境Profile({"dev","test"})Spring Profiles 提供一个隔离配置的方式,使其仅在特定环境生效 任何Component,Configuration或ConfigurationProperties 可以使用Profile标记&#xff…

11.2树的高度,表达式树,非递归遍历,层序遍历,奇偶树

课上 前序,根左右 中序,左根右 若前序中序相同,则树都没有左节点 求树的高度 表达式树 中缀表达式树 主要考虑括号问题 这个就是考虑递归底层,要结束时的情形;以及根节点的情形; 由于表达式树是满树&…

数据库实验:SQL的数据定义与单表查询

目录 实验目的实验内容实验要求实验过程实验步骤实例代码结果示意 数据库的实验,对关系型数据库MySQL进行一些实际的操作 实验目的 (1) 掌握DBMS的数据定义功能 (2) 掌握SQL语言的数据定义语句 (3) 掌握RDBMS的数据单表查询功能 (4) 掌握SQL语言的数据单表查询语句…

UN38.3认证和MSDS有什么区别? 锂电池UN38.3检测标准要求

通常很多人做电池检测的时候,将UN38.3和MSDS混淆或者认为是同一个认证,这对办理检测有非常大的影响。MSDS是化学安全技术说明书,是一份对锂电池成分以及应急处理的文件,UN38.3是对锂电池的一份安全检测。因为锂电池要空运&#xf…

使用 javascript 在 n*m 网格中演示 BFS 广度优先搜索算法求最短路径

完整代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style type"text/css">#box1 table{border: 0px;border-collapse: collapse;cursor: poi…

protected by SourceGuardian and requires a SourceGuardian loader ‘ixed.8解决方案

php相关问题 安装程序提示以下内容 遇到某些php程序的安装提示&#xff1a; PHP script ‘/www/wwwroot/zhengban.youyacao.com/install/index.php’ is protected by SourceGuardian and requires a SourceGuardian loader ‘ixed.8.1.lin’ to be installed. 1) Click her…

面试测试岗脑子里实在没货,简历(软件测试)咋写?

简历咋写&#xff0c;这是很多没有【软件测试实际工作经验】的同学们非常头疼的事情。 简历咋写&#xff1f;首先你要知道简历的作用。 简历的作用是啥呢&#xff1f; 一句话就是&#xff1a;让HR小姐姐约你。 如何让HR看你一眼&#xff0c;便相中你的简历&#xff0c;实现在众…

panabit日志审计singleuser_action.php任意用户添加漏洞复现

文章目录 panabit日志审计singleuser_action.php任意用户添加漏洞复现0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 panabit日志审计singleuser_action.php任意用户添加漏洞复现 0x01 前言 免责声明&#xff1a;请勿利用文章…

PADS Router的操作页面及鼠标指令介绍

PADS Router的用户界面由菜单栏&#xff0c;工作界面&#xff0c;一般工具栏&#xff0c;状态栏&#xff0c;项目浏览器组&#xff0c;输出窗口&#xff0c;电子表格组成&#xff08;图1&#xff09;&#xff1a; 图1 注意&#xff1a;如果你的界面没有显示项目浏览器&#xff…

亚马逊车充UL2089认证费用是多少,测试流程

熟悉亚马逊的都知道&#xff0c;电子电器产品在亚马逊上是一个比较受欢迎的品类&#xff0c;卖家也是比较多&#xff0c;随着电子电器产品的多样化&#xff0c;亚马逊对于产品的安全以及合规审核也越来越严格&#xff0c;近期很多车充品类的卖家遇到很多的问题就是亚马逊要求商…

el-input输入校验插件(正则表达式)

使用方法&#xff1a;在main.js文件中注册插件然后直接在<el-input>加入‘v-插件名’ (1)在main.js文件&#xff1a; // 只能输入数字指令 import onlyNumber from /directive/only-number; Vue.use(onlyNumber); &#xff08;2&#xff09;在src/directive文件夹中 &a…

window10 mysql8.0 修改端口port不生效

mysql的默认端口是3306&#xff0c;我想修改成3307。 查了一下资料&#xff0c;基本上都是说先进入C:\Program Files\MySQL\MySQL Server 8.0这个目录。 看看有没有my.ini&#xff0c;没有就新建。 我这里没有&#xff0c;就新建一个&#xff0c;然后修改port&#xff1a; […

中文编程从入门到精通,中文编程语言开发工具分享

中文编程从入门到精通&#xff0c;中文编程语言开发工具分享 给大家分享一款中文编程工具&#xff0c;零基础轻松学编程&#xff0c;不需英语基础&#xff0c;编程工具可下载。 这款工具不但可以连接部分硬件&#xff0c;而且可以开发大型的软件&#xff0c;向如图这个实例就…

商标服务展示预约小程序的效果如何

想要打造自己的品牌&#xff0c;商标是必要的一步&#xff0c;除了可以自己申请外&#xff0c;部分商家会选择通过第三方代理平台操作&#xff0c;在商城注册场景包括查询、资料提交、驳回复审等。 市场生意并不缺&#xff0c;对商标注册代理机构来说&#xff0c;需要不断拓客…

线程池--简单版本和复杂版本

目录 一、引言 二、线程池头文件介绍 三、简单版本线程池 1.创建线程池 2.添加任务到线程池 3.子线程执行回调函数 4.摧毁线程池 5.简单版线程池流程分析 四、复杂版本线程池 1.结构体介绍 2.主线程 3.子线程 4.管理线程 一、引言 多线程版服务器一个客户端就需要…

【算能】模型转换过程报错

报错信息&#xff1a; RuntimeError: [!Error]: tpuc-opt otv_batch1.mlir --chip-assign"chipbm1684" --chip-top-optimize --convert-top-to-tpu"modeF16 asymmetricTrue" --canonicalize -o otv_bm1684_f16_tpu.mlir报错问题&#xff1a; 1684的模型…

Java面向对象(进阶)-- 四种权限测试与方法的重写(override_overwrite)

文章目录 一、四种权限修饰二、测试四种权限修饰&#xff08;1&#xff09;准备&#xff08;2&#xff09;同一个类&#xff08;3&#xff09;同一个包&#xff08;4&#xff09;同一个包子类&#xff08;5&#xff09;不同包子类&#xff08;6&#xff09;跨包不是子类&#x…

shell基础篇:Bash特性和shell变量

shell基础篇 一、Bash特性bash基础特性关于历史记录的简单用法bash特性汇总 二、shell变量变量含义shell变量名规则定义shell变量变量替换/引⽤变量的作⽤域 一、Bash特性 bash基础特性 ● bash是一 个命令处理器&#xff0c;运行在文本窗口中&#xff0c;并能执行用户直接输…

PCB设计入门基础

PCB设计入门基础 PCB基本结构 copper foil 铜箔laminate 层压(或粘合)材料inner layer core 内层堆芯 PCB基本结构是一个三明治的结构&#xff0c;它的上层是一个铜层&#xff0c;底层也是一个铜层&#xff0c;中间层脚FR-4&#xff0c;FR-4是一层不导电的物质&#xff0c;叫做…

轻量封装WebGPU渲染系统示例<11>- WebGPU简单PBR效果(源码)

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/main/src/voxgpu/sample/SimplePBRTest.ts 此示例渲染系统实现的特性: 1. 用户态与系统态隔离。 细节请见&#xff1a;引擎系统设计思路 - 用户态与系统态隔离-CSDN博客 2. 高频调用与低频调用隔离。 …