当前位置: 首页 > news >正文

VectorDB+FastGPT一站式构建:智能知识库与企业级对话系统实战

在智能化应用爆发式增长的今天,构建高效的知识库与对话系统已成为企业提升服务效能的核心需求。本文将基于百度智能云向量数据库VectorDB与开源框架 FastGPT,详细演示从零搭建AI知识库及对话助手的全流程,实现外部知识的高效索引与精准问答,解决传统知识管理中的信息孤岛问题。接下来,我们将分四步完成系统搭建,分别是前期环境准备、千帆模型配置、知识库构建及对话应用部署。
一、前期准备
第一步:创建向量数据库实例
1、创建百度向量数据库实例,当前每个新用户都有免费试用实例的机会,抓紧申请吧,戳地址https://console.bce.baidu.com/vdb/#/vdb/instance/create
2、创建成功后,通过实例详情页查看访问的地址信息和账号信息,用于访问操作向量数据库。如例子截图,访问信息如下:

# 访问地址格式:http://${IP}:${PORT}
访问地址:http://192.168.20.4:5287
账号:root
密钥:xxxx

在这里插入图片描述
在这里插入图片描述

第二步:申请openai的api key
1、进入openai的api keys页面申请api key。https://platform.openai.com/settings/organization/api-keys
在这里插入图片描述

2、申请完之后需要保存api key,只显示这一次。使用前需要向openai缴费,否则无法使用
在这里插入图片描述

第三步:部署FastGPT
1、Fork FastGPT的github库 https://github.com/labring/FastGPT,克隆在 GitHub 上 Fork 的存储库:git clone git@github.com:<github_username>/FastGPT.git
2、复制.env.template文件,在同级目录下生成一个.env.local 文件,修改.env.local 里内容才是有效的变量。
这里需要注意的是,变量说明见 .env.template,主要需要修改API_KEY和数据库的地址与端口以及数据库账号的用户名和密码,具体配置需要和docker配置文件相同,其中用户名和密码如需修改需要修改docker配置文件、数据库和.env.local文件,不能只改一处。
3、配置使用百度向量数据库
为了使用百度向量数据库,我们需要修改 Docker Compose 中api和worker的环境变量:

MOCHOW_ADDRESS=访问地址
MOCHOW_ACCOUNT=账号
MOCHOW_APIKEY=密钥CHAT_API_KEY=openai获取到的密钥

使用docker-compose -up -d启动环境,docker-compose.yml内容如下:

# 数据库的默认账号和密码仅首次运行时设置有效
# 如果修改了账号密码,记得改数据库和项目连接参数,别只改一处~
# 该配置文件只是给快速启动,测试使用。正式使用,记得务必修改账号密码,以及调整合适的知识库参数,共享内存等。
# 如何无法访问 dockerhub 和 git,可以用阿里云(阿里云没有arm包)version: '3.3'
services:# dbmongo:image: mongo:5.0.18 # dockerhub# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # 阿里云# image: mongo:4.4.29 # cpu不支持AVX时候使用container_name: mongorestart: alwaysports:- 27017:27017networks:- fastgptcommand: mongod --keyFile /data/mongodb.key --replSet rs0environment:- MONGO_INITDB_ROOT_USERNAME=myusername- MONGO_INITDB_ROOT_PASSWORD=mypasswordvolumes:- ./mongo/data:/data/dbentrypoint:- bash- -c- |openssl rand -base64 128 > /data/mongodb.keychmod 400 /data/mongodb.keychown 999:999 /data/mongodb.keyecho 'const isInited = rs.status().ok === 1if(!isInited){rs.initiate({_id: "rs0",members: [{ _id: 0, host: "mongo:27017" }]})}' > /data/initReplicaSet.js# 启动MongoDB服务exec docker-entrypoint.sh "$$@" &# 等待MongoDB服务启动until mongo -u myusername -p mypassword --authenticationDatabase admin --eval "print('waited for connection')" > /dev/null 2>&1; doecho "Waiting for MongoDB to start..."sleep 2done# 执行初始化副本集的脚本mongo -u myusername -p mypassword --authenticationDatabase admin /data/initReplicaSet.js# 等待docker-entrypoint.sh脚本执行的MongoDB服务进程wait $$!# oneapimysql:# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mysql:8.0.36 # 阿里云image: mysql:8.0.36container_name: mysqlrestart: alwaysports:- 3306:3306networks:- fastgptcommand: --default-authentication-plugin=mysql_native_passwordenvironment:# 默认root密码,仅首次运行有效MYSQL_ROOT_PASSWORD: oneapimmysqlMYSQL_DATABASE: oneapivolumes:- ./mysql:/var/lib/mysqloneapi:container_name: oneapiimage: justsong/one-api:v0.6.10# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/one-api:v0.6.6 # 阿里云ports:- 3001:3000depends_on:- mysqlnetworks:- fastgptrestart: alwaysenvironment:# mysql 连接参数- SQL_DSN=root:oneapimmysql@tcp(mysql:3306)/oneapi# 登录凭证加密密钥- SESSION_SECRET=oneapikey# 内存缓存- MEMORY_CACHE_ENABLED=true# 启动聚合更新,减少数据交互频率- BATCH_UPDATE_ENABLED=true# 聚合更新时长- BATCH_UPDATE_INTERVAL=10# 初始化的 root 密钥(建议部署完后更改,否则容易泄露)- INITIAL_ROOT_TOKEN=fastgptvolumes:- ./oneapi:/data
networks:fastgpt:

修改完毕后,执行启动命令:

pnpm i# 非 Make 运行
cd projects/app
pnpm dev# Make 运行
make dev name=app

4、部署成功后,在浏览器中输入 http://localhost:3000 即可访问 FastGPT。
5、进入FastGPT页面之后,默认账号位root,密码为1234
在这里插入图片描述

第四步:开通千帆 Embedding 模型
千帆模型开通付费之后才能使用,开通不会产生费用,且有代金券赠送
1、开通千帆 Embedding 模型的收费 https://console.bce.baidu.com/qianfan/chargemanage/list
在这里插入图片描述

2、创建应用,获取 API Key 和 Secret Key **https://console.bce.baidu.com/qianfan/ais/console/applicationConsole/application

$your_qianfan_ak = API Key
$your_qianfan_sk = Secret Key

二、将千帆模型配置FastGPT
在这里插入图片描述

三、使用FastGPT创建知识库
1、创建知识库,选择对应的语言模型和索引模型
在这里插入图片描述

2、创建知识库并上传文档大致分为以下步骤:

  • 导入文本数据
  • 指定分段模式
    以下就从这两个步骤介绍下如何快速从本地已有的pdf文档来创建知识库。
    在这里插入图片描述

3、选择上传导入的pdf文档
在这里插入图片描述

4、这里直接使用默认的分段配置
在这里插入图片描述

在这里插入图片描述

5、确认上传之后需要等待训练完成
在这里插入图片描述

四、基于知识库创建应用
第一步:创建聊天助手
知识库可以作为外部知识提供给大语言模型用于精确回复用户问题,你可以在 FastGPT中关联已创建的知识库。这里也以聊天助手为例,来介绍如何运用上一章节中创建的知识库来快速搭建一个聊天助手应用。
FastGPT中,聊天助手应用的创建流程如下:

  1. 进入 工作台 – 新建 --知识库+对话引导
    在这里插入图片描述

  2. 进入选择已创建的知识库,这里可以选择上文中创建的知识库;
    在这里插入图片描述

  3. 在参数中配置搜索过滤模式,可以直接使用默认的语义检索
    在这里插入图片描述

  4. 在 AI模型相关属性中输入与知识库相关的用户问题进行调试,这里可以选择使用的模型种类并可以调试问答功能;
    在这里插入图片描述

在这里插入图片描述

  1. 调试完成之后保存并发布为一个 AI 知识库问答类应用;
    第二步:效果展示
    完成应用创建后,就可以从工作室中进入创建好的聊天应用进行问答。
    在这里插入图片描述

文章完整演示了基于VectorDB与FastGPT构建智能知识系统的全链路流程。从创建向量数据库实例、配置千帆Embedding模型,到知识库文档分段训练与AI应用发布,最终实现对话助手对专业知识的即时精准响应,成功打通了外部知识存储、语义索引与生成式问答的闭环,其模块化设计支持灵活扩展至客服、文档分析等场景。随着调试优化与知识库持续更新,这套轻量级架构将逐步演变为企业的智能信息枢纽,为业务决策提供强有力的认知支撑。

http://www.dtcms.com/a/337716.html

相关文章:

  • 使用LLaMA-Factory对大模型进行微调-详解
  • OSG+Qt —— 笔记2- Qt窗口绘制棋盘及模型周期运动(附源码)
  • linux:告别SSH断线烦恼,Screen命令核心使用指南
  • 第四章:大模型(LLM)】07.Prompt工程-(1)Prompt 原理与基本结构
  • 大数据分析-读取文本文件内容进行词云图展示
  • Zephyr 中的 bt_le_per_adv_set_data 函数的介绍和应用方法
  • [机器学习]09-基于四种近邻算法的鸢尾花数据集分类
  • 具身智能赋能轮椅机器人的认知革命与人机共生新范式
  • 【软考架构】第4章 信息安全的抗攻击技术
  • 从「行走」到「思考」:机器人进化之路与感知—决策链路的工程化实践
  • 微电网管控系统中python多线程缓存与SQLite多数据库文件连接池实践总结(含源码)
  • 安川YASKAWA焊接机器人保护气智能节气阀
  • 蓝牙 GFSK RX Core 架构解析
  • Linux下的软件编程——IPC机制
  • 重复(Repeat)和迭代(Iteration)区别、递归(Recursion)
  • 超级云平台:重构数字生态的“超级连接器“
  • 想找出版社出书?这样选就对了!
  • 哈工深无人机目标导航新基准!UAV-ON:开放世界空中智能体目标导向导航基准测试
  • 【论文阅读】-《GeoDA: a geometric framework for black-box adversarial attacks》
  • 基于Flink CDC实现联系人与标签数据实时同步至ES的实践
  • 后台管理系统-6-vue3之mockjs模拟和axios请求数据
  • python UV虚拟环境项目搭建
  • 和芯星通携手思博伦通信,测试验证系列导航定位芯片/模块符合GB/T 45086.1标准
  • 学习stm32 感应开关盖垃圾桶
  • 用 Python 实现一个“小型 ReAct 智能体”:思维链 + 工具调用 + 环境交互
  • 软件测试覆盖率:真相与实践
  • unity实现背包拖拽排序
  • 1个月征服Java:零基础直达企业级开发——Java面向对象补充知识
  • 汽车近光灯难达标?OAS 软件精准解困
  • 【牛客刷题】正六边形阴影面积计算