一、了解FastGPT
FastGPT是一个基于LLM(大语言模型)的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。它支持通过Flow可视化进行工作流编排,实现复杂的问答场景。同时,FastGPT支持多种数据导入途径,包括手动输入、直接分段、LLM自动处理和CSV等,并自动对文本数据进行预处理、向量化和QA分割,节省手动训练时间,提升效能。
主要技术包括: Docker 、Next.js 、TypeScript 、ChakraUI 、MongoDB 、Postgres
简而言之,FastGPT能够高效且相对简单的整合各类大模型,构建高效的对话系统,实现智能化问答功能。
二、准备搭建环境
-
服务器:选择满足FastGPT运行需求的服务器配置,建议Linux系统,本文使用环境为CentenOS7,主要用于Docker部署Mongo和postgresql。(非必须)
数据库也可部署到本地电脑上,也是建议Linux系统,Win系统部署Docker会麻烦一些,可以参考这篇文章: 超详细 Windows 安装 Docker Desktop 全过程 juejin.cn/post/713046...
-
API-Key:请购买一个支持OpenAI、百度千帆、阿里千问、讯飞星火等大模型的聚合API账号,以确保能够顺利访问并调用这些模型。在本示例中,我们将采用OpenAI的GPT 3.5模型进行演示。
三、搭建步骤
- 安装数据库:在本文中,我们使用了宝塔面板,通过其可视化的Docker管理工具,轻松拉取了Mongo 5.0.18和PostgreSQL 15的镜像,并据此分别创建了Mongo和PostgreSQL的容器实例。
为容器开通了相应的暴露端口,其中PostgreSQL容器的端口设置为
5432
,MongoDB容器的端口则设置为27017
。
-
**拉取FastGPT代码:**从FastGPT的GitHub仓库进行克隆,可以使用以下命令(请将
<github_username>
替换为实际的GitHub用户名):bashgit clone [email protected]:<github_username>/FastGPT.git
拉取FastGPT项目后,得到一个包含项目所有文件的本地副本。
-
修改配置文件 :此步骤至关重要。在成功拉取FastGPT项目后,FastGpt和核心代码在project/app目录下。接下来,复制其目录下的
.env.template
,并改名为.env.local
,并进行配置,关键配置项有数据库连接信息、API密钥、Api网关设置、管理员密码:ini# 默认用户密码,用户名为 root,每次重启时会自动更新。 DEFAULT_ROOT_PSW=123456 # openai 基本地址,可用作中转。购买的api网关地址 OPENAI_BASE_URL=https://api.hb***.cn/v1 # ONEAPI 的 key CHAT_API_KEY=sk-D7lnqa4V6tGENGqh3d1e62BaB9F14dE9A931E83******* # mongo 数据库连接参数,本地开发时,mongo可能需要增加 directConnection=true 参数,才能连接上。 MONGODB_URI=mongodb://myusername:mypassword@49.***.***.213:27017/fastgpt?authSource=admin&directConnection=true # PG 数据库连接参数 PG_URL=postgresql://username:password@49.***.***.213:5432/postgres
.env.local
的全部配置项,如下:iniLOG_DEPTH=3 # 默认用户密码,用户名为 root,每次重启时会自动更新。 DEFAULT_ROOT_PSW=123456 # 数据库最大连接数 DB_MAX_LINK=5 # token TOKEN_KEY=dfdasfdas # 文件阅读时的秘钥 FILE_TOKEN_KEY=filetokenkey # root key, 最高权限 ROOT_KEY=fdafasd # openai 基本地址,可用作中转。 OPENAI_BASE_URL=https://api.hb***.cn/v1 # oneapi 地址,可以使用 oneapi 来实现多模型接入 # ONEAPI_URL=https://xxxx.cloud.sealos.io/openai/v1 # 通用key。可以是 openai 的也可以是 oneapi 的。 # 此处逻辑:优先走 ONEAPI_URL,如果填写了 ONEAPI_URL,key 也需要是 ONEAPI 的 key CHAT_API_KEY=sk-D7lnqa4V6tGENGqh3d1e62BaB9F14dE9A931E83******* # mongo 数据库连接参数,本地开发时,mongo可能需要增加 directConnection=true 参数,才能连接上。 MONGODB_URI=mongodb://myusername:mypassword@49.***.***.213:27017/fastgpt?authSource=admin&directConnection=true # PG 数据库连接参数 PG_URL=postgresql://username:password@49.***.***.213:5432/postgres # 商业版地址 PRO_URL= # 首页路径 HOME_URL=/ # Loki Log Path # LOKI_LOG_URL=
-
启动系统
此系统采用React框架的Next.js进行前端开发,推荐使用pnpm来管理前端依赖,以提高构建效率和依赖管理的准确性。以下是具体的操作步骤:
1、安装依赖:请执行
postinstall.sh
脚本来安装所需的依赖项。如果使用的是Windows系统,可以打开该脚本文件,并在PowerShell中依次执行其中的命令。2、构建前端:在成功安装依赖后,请进入
projects/app
根目录,并执行pnpm dev
命令来启动开发服务器并进行构建。请注意,由于是首次构建,可能会需要较长的时间来完成。 -
访问系统 :通过
lcoalhost:3000
来访问搭建的FastGPT系统,进行后续的配置和使用。
四、使用FastGPT
- 创建应用:可以 根据业务场景,从简易模板、对话引导+变量、知识库+对话引导、问题分类+知识库四种对话模板中进行创建。
-
创建知识库导入数据集:根据系统提供的指引,完成知识库的创建过程,并导入各类相关的数据集或问答对以供训练。系统支持多种数据格式,包括但不限于本地的PDF、DOCX等文件、网页链接内容、自定义的文本内容,以及CSV格式的表格文件。
在开始创建之前,可以提前准备一些与公司业务紧密相关的客服知识电子文档。这些文档可以是WORD、PDF、TXT、Excel或Markdown等格式的文件,内容应涵盖客户可能询问的各种问题和答案。
此示例中,以自定义文本的方式输入了两个问题,这些问题数据导入后,将自动启动训练过程。
- 应用绑定企业知识库:将知识库与应用进行绑定,一个应用能够关联多个知识库。当接收到用户的提问时,系统会智能地从已绑定的知识库中优先检索并提取相关的答案,以提供给用户最准确的回复。
- 应用发布:完成应用的配置后,可以利用发布功能为其生成一个独立的URL。这个URL可以提供给外部的客服咨询用户使用,进行咨询和获取帮助。
通过以上步骤,能够利用FastGPT搭建起一个既高效又智能的AI客服问答系统,该系统将为企业或组织带来卓越的客户服务体验。