• 作者:老汪软件技巧
  • 发表时间:2024-10-15 10:11
  • 浏览量:

一、了解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 全过程/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用户名):

git clone git@github.com:/FastGPT.git

拉取FastGPT项目后,得到一个包含项目所有文件的本地副本。

修改配置文件:此步骤至关重要。在成功拉取FastGPT项目后,FastGpt和核心代码在project/app目录下。接下来,复制其目录下的.env.template,并改名为.env.local,并进行配置,关键配置项有数据库连接信息、API密钥、Api网关设置、管理员密码:

# 默认用户密码,用户名为 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的全部配置项,如下:

LOG_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客服问答系统,该系统将为企业或组织带来卓越的客户服务体验。