利用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 git@github.com:<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客服问答系统,该系统将为企业或组织带来卓越的客户服务体验。

相关推荐
布列瑟农的星空1 天前
rsbuild mock 插件开发指南
前端
用泥种荷花1 天前
【LangChain.js学习】 文档加载(Loader)与文本分割全解析
前端
天翼云开发者社区1 天前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈1 天前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
cxxcode1 天前
Vite 热更新(HMR)原理详解
前端
HelloReader1 天前
Tauri 架构从“WebView + Rust”到完整工具链与生态
前端
Ray Liang1 天前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx
Bigger1 天前
告别版本焦虑:如何为 Hugo 项目定制专属构建环境
前端·架构·go
shengjk11 天前
NanoClaw 深度剖析:一个"AI 原生"架构的个人助手是如何运转的?
人工智能