利用FastGPT与私有知识库构建本地化智能AI客服问答系统

一、了解FastGPT

FastGPT是一个基于LLM(大语言模型)的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。它支持通过Flow可视化进行工作流编排,实现复杂的问答场景。同时,FastGPT支持多种数据导入途径,包括手动输入、直接分段、LLM自动处理和CSV等,并自动对文本数据进行预处理、向量化和QA分割,节省手动训练时间,提升效能。

主要技术包括: DockerNext.jsTypeScriptChakraUIMongoDBPostgres

简而言之,FastGPT能够高效且相对简单的整合各类大模型,构建高效的对话系统,实现智能化问答功能。

二、准备搭建环境

  1. 服务器:选择满足FastGPT运行需求的服务器配置,建议Linux系统,本文使用环境为CentenOS7,主要用于Docker部署Mongo和postgresql。(非必须)

    数据库也可部署到本地电脑上,也是建议Linux系统,Win系统部署Docker会麻烦一些,可以参考这篇文章: 超详细 Windows 安装 Docker Desktop 全过程 juejin.cn/post/713046...

  2. API-Key:请购买一个支持OpenAI、百度千帆、阿里千问、讯飞星火等大模型的聚合API账号,以确保能够顺利访问并调用这些模型。在本示例中,我们将采用OpenAI的GPT 3.5模型进行演示。

三、搭建步骤

  1. 安装数据库:在本文中,我们使用了宝塔面板,通过其可视化的Docker管理工具,轻松拉取了Mongo 5.0.18和PostgreSQL 15的镜像,并据此分别创建了Mongo和PostgreSQL的容器实例。

为容器开通了相应的暴露端口,其中PostgreSQL容器的端口设置为5432,MongoDB容器的端口则设置为27017

  1. **拉取FastGPT代码:**从FastGPT的GitHub仓库进行克隆,可以使用以下命令(请将<github_username>替换为实际的GitHub用户名):

    bash 复制代码
    git clone [email protected]:<github_username>/FastGPT.git

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

  1. 修改配置文件 :此步骤至关重要。在成功拉取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的全部配置项,如下:

    ini 复制代码
    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=
  2. 启动系统

    此系统采用React框架的Next.js进行前端开发,推荐使用pnpm来管理前端依赖,以提高构建效率和依赖管理的准确性。以下是具体的操作步骤:

    1、安装依赖:请执行postinstall.sh脚本来安装所需的依赖项。如果使用的是Windows系统,可以打开该脚本文件,并在PowerShell中依次执行其中的命令。

    2、构建前端:在成功安装依赖后,请进入projects/app根目录,并执行pnpm dev命令来启动开发服务器并进行构建。请注意,由于是首次构建,可能会需要较长的时间来完成。

  3. 访问系统 :通过lcoalhost:3000来访问搭建的FastGPT系统,进行后续的配置和使用。

四、使用FastGPT

  1. 创建应用:可以 根据业务场景,从简易模板、对话引导+变量、知识库+对话引导、问题分类+知识库四种对话模板中进行创建。
  1. 创建知识库导入数据集:根据系统提供的指引,完成知识库的创建过程,并导入各类相关的数据集或问答对以供训练。系统支持多种数据格式,包括但不限于本地的PDF、DOCX等文件、网页链接内容、自定义的文本内容,以及CSV格式的表格文件。

    在开始创建之前,可以提前准备一些与公司业务紧密相关的客服知识电子文档。这些文档可以是WORD、PDF、TXT、Excel或Markdown等格式的文件,内容应涵盖客户可能询问的各种问题和答案。

此示例中,以自定义文本的方式输入了两个问题,这些问题数据导入后,将自动启动训练过程。

  1. 应用绑定企业知识库:将知识库与应用进行绑定,一个应用能够关联多个知识库。当接收到用户的提问时,系统会智能地从已绑定的知识库中优先检索并提取相关的答案,以提供给用户最准确的回复。
  1. 应用发布:完成应用的配置后,可以利用发布功能为其生成一个独立的URL。这个URL可以提供给外部的客服咨询用户使用,进行咨询和获取帮助。

通过以上步骤,能够利用FastGPT搭建起一个既高效又智能的AI客服问答系统,该系统将为企业或组织带来卓越的客户服务体验。

相关推荐
Wyc7240924 分钟前
HTML:入门
前端·html
Sunny_lxm25 分钟前
自定义列甘特图,原生开发dhtmlxgantt根特图,根据数据生成只读根特图,页面展示html demo
前端·html·甘特图·dhtmlxgantt
熊猫钓鱼>_>1 小时前
建筑IT数字化突围:建筑设计企业的生存法则重塑
前端·javascript·easyui
GISer_Jing3 小时前
前端性能指标及优化策略——从加载、渲染和交互阶段分别解读详解并以Webpack+Vue项目为例进行解读
前端·javascript·vue
不知几秋3 小时前
数字取证-内存取证(volatility)
java·linux·前端
水银嘻嘻5 小时前
08 web 自动化之 PO 设计模式详解
前端·自动化
CM莫问5 小时前
<论文>(微软)避免推荐域外物品:基于LLM的受限生成式推荐
人工智能·算法·大模型·推荐算法·受限生成
康谋自动驾驶6 小时前
康谋分享 | 自动驾驶仿真进入“标准时代”:aiSim全面对接ASAM OpenX
人工智能·科技·算法·机器学习·自动驾驶·汽车
Zero1017137 小时前
【详解pnpm、npm、yarn区别】
前端·react.js·前端框架
&白帝&7 小时前
vue右键显示菜单
前端·javascript·vue.js