本地部署AI问答知识库

本地部署AI问答知识库

介绍

在当今信息爆炸的时代,我们常常需要处理大量的信息并且寻找特定的答案。AI问答知识库是一种基于人工智能技术的系统,旨在通过理解自然语言问题并从存储的知识库中提取相关信息,以准确、快速地回答用户的问题。这种技术不仅在搜索引擎、智能助手和客户服务领域有着广泛的应用,还在医疗、金融、教育等各个领域展现了巨大的潜力。

本地部署优势

虽然云端提供了便捷的AI服务,但有时在本地部署AI问答知识库可能更为合适。首先,本地部署可以提供更高的隐私和安全性,特别是对于一些敏感的数据或机密信息而言。其次,本地部署可以更好地控制资源和成本,避免了对云服务的依赖。此外,本地部署还可以提供更快的响应速度和更好的定制化,满足特定业务需求。

技术架构

技术选型

采用FastGpt来实现本地知识库

FastGPT 的能力与优势

FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景!

  1. 项目开源

    FastGPT 遵循附加条件 Apache License 2.0 开源协议,你可以 Fork 之后进行二次开发和发布。FastGPT 社区版将保留核心功能,商业版仅在社区版基础上使用 API 的形式进行扩展,不影响学习使用。

  2. 独特的 QA 结构

    针对客服问答场景设计的 QA 结构,提高在大量数据场景中的问答准确性。

  3. 可视化工作流

    通过 Flow 模块展示了从问题输入到模型输出的完整流程,便于调试和设计复杂流程。

  4. 无限扩展

    基于 API 进行扩展,无需修改 FastGPT 源码,也可快速接入现有的程序中。

  5. 便于调试

    提供搜索测试、引用修改、完整对话预览等多种调试途径。

  6. 支持多种模型

    支持 GPT、Claude、文心一言等多种 LLM 模型,未来也将支持自定义的向量模型。

功能清单

1. 专属 AI 客服

通过导入文档或已有问答对进行训练,让 AI 模型能根据你的文档以交互式对话方式回答问题。

2. 简单易用的可视化界面

FastGPT 采用直观的可视化界面设计,为各种应用场景提供了丰富实用的功能。通过简洁易懂的操作步骤,可以轻松完成 AI 客服的创建和训练流程。

3. 自动数据预处理

提供手动输入、直接分段、LLM 自动处理和 CSV 等多种数据导入途径,其中"直接分段"支持通过 PDF、WORD、Markdown 和 CSV 文档内容作为上下文。FastGPT 会自动对文本数据进行预处理、向量化和 QA 分割,节省手动训练时间,提升效能。

4. 工作流编排

基于 Flow 模块的工作流编排,可以帮助你设计更加复杂的问答流程。例如查询数据库、查询库存、预约实验室等。

5. 强大的 API 集成

FastGPT 对外的 API 接口对齐了 OpenAI 官方接口,可以直接接入现有的 GPT 应用,也可以轻松集成到企业微信、公众号、飞书等平台。

准备工作

服务器配置要求

服务器需要安装好docker环境

部署过程

部署架构图

部署说明

安装 Docker 和 docker-compose

bash 复制代码
# 安装 Docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
systemctl enable --now docker
# 安装 docker-compose
curl -L https://github.com/docker/compose/releases/download/2.20.3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
# 验证安装
docker -v
docker-compose -v
# 如失效,自行百度~

给docker中的容器创建一个共用网络

docker network create my-network

安装m3e矢量模型

css 复制代码
docker run -d --name m3e   --network my-network -p 3030:6008 registry.cn-hangzhou.aliyuncs.com/fastgpt_docker/m3e-large-api

安装one-api

css 复制代码
docker run --name one-api   --network my-network -d --restart always -p 3200:3000 -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data justsong/one-api

添加阿里通义千问模型和M3E模型

配置m3e矢量模型

默认密钥为:sk-aaabbbcccdddeeefffggghhhiiijjjkkk

安装FastGpt

1.创建目录并下载 docker-compose.yml

ruby 复制代码
mkdir fastgpt
cd fastgpt
curl -O https://raw.githubusercontent.com/labring/FastGPT/main/files/deploy/fastgpt/docker-compose.yml
curl -O https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.json

2.修改 docker-compose.yml 的环境变量

修改docker-compose.yml中的OPENAI_BASE_URL(API 接口的地址,需要加/v1)和CHAT_API_KEY(API 接口的凭证)。

使用 OneAPI 的话,OPENAI_BASE_URL=OneAPI访问地址/v1;CHAT_API_KEY=令牌

3.修改config.json 配置文本模型和矢量模型

3.启动容器

在 docker-compose.yml 同级目录下执行

bash 复制代码
# 进入项目目录
cd 项目目录
# 启动容器
docker-compose pull
docker-compose up -d

4.初始化 Mongo 副本集(4.6.8以前可忽略)

php 复制代码
# 查看 mongo 容器是否正常运行
docker ps
# 进入容器
docker exec -it mongo bash

# 连接数据库(这里要填Mongo的用户名和密码)
mongo -u myusername -p mypassword --authenticationDatabase admin

# 初始化副本集。如果需要外网访问,mongo:27017 可以改成 ip:27017。但是需要同时修改 FastGPT 连接的参数(MONGODB_URI=mongodb://myname:mypassword@mongo:27017/fastgpt?authSource=admin => MONGODB_URI=mongodb://myname:mypassword@ip:27017/fastgpt?authSource=admin)
rs.initiate({
  _id: "rs0",
  members: [
    { _id: 0, host: "mongo:27017" }
  ]
})
# 检查状态。如果提示 rs0 状态,则代表运行成功
rs.status()

使用案例

部署好后,访问http://localhost:3001/

1.添加知识库

2.创建应用

3.聊天测试

系统集成

fastgpt支持接入到其它系统里

参考文献:

one-api

github.com/songquanpen...

M3E矢量模型

zhuanlan.zhihu.com/p/675271031

fastgpt

doc.fastgpt.in/docs/intro/

相关推荐
Ven%3 小时前
DeepSpeed的json配置讲解:ds_config_zero3.json
人工智能·python·ubuntu·json·aigc
爱研究的小牛9 小时前
Midjourney技术浅析(一)
人工智能·深度学习·aigc·midjourney
花千树-0101 天前
LangChain教程 - 表达式语言 (LCEL) -构建智能链
gpt·langchain·prompt·aigc·ai编程·llama·ai-native
爱研究的小牛1 天前
Pika Labs技术浅析(四):数据可视化
神经网络·计算机视觉·信息可视化·aigc
视觉&物联智能1 天前
【杂谈】-AI搜索引擎如何改变传统SEO及其在内容营销中的作用
人工智能·搜索引擎·ai·aigc·seo
AIGC设计所1 天前
Stable Diffusion绘画 | 电商设计海报
ai作画·stable diffusion·prompt·aigc·midjourney
johnny_hhh1 天前
【Stable Diffusion】SD Stable Diffusion 最新版本 4.10 安装包
ai作画·stable diffusion·aigc
XinZong1 天前
【AIGC】深入解析变分自编码器(VAE):理论、数学原理、实现与应用
人工智能·aigc
羑悻的小杀马特1 天前
【AIGC篇】畅谈游戏开发设计中AIGC所发挥的不可或缺的作用
c++·人工智能·aigc·游戏开发
魔术师卡颂1 天前
最近看到太多 cursor 带来的焦虑,有些话想说
前端·aigc·openai