首页 > 其他分享 >本地部署AI问答知识库

本地部署AI问答知识库

时间:2024-03-10 19:26:44浏览次数:33  
标签:FastGPT compose AI 知识库 -- API docker 问答

介绍

在当今信息爆炸的时代,我们常常需要处理大量的信息并且寻找特定的答案。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

# 安装 Dockercurl -fsSL https://get.docker.com | bash -s docker --mirror Aliyunsystemctl enable --now docker# 安装 docker-composecurl -L https://github.com/docker/compose/releases/download/2.20.3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-compose# 验证安装docker -vdocker-compose -v# 如失效,自行百度~

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

docker network create my-network

安装m3e矢量模型

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

安装one-api

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

mkdir fastgptcd fastgptcurl -O https://raw.githubusercontent.com/labring/FastGPT/main/files/deploy/fastgpt/docker-compose.ymlcurl -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 同级目录下执行

# 进入项目目录cd 项目目录# 启动容器docker-compose pulldocker-compose up -d

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

# 查看 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支持接入到其它系统里, 同步发布应用可以得到一个免登录的页面,这个页面可以直接通过iframe嵌入到其它系统里。

图片

参考文献:

one-api

https://github.com/songquanpeng/one-api

M3E矢量模型

https://zhuanlan.zhihu.com/p/675271031

fastgpt

https://doc.fastgpt.in/docs/intro/

标签:FastGPT,compose,AI,知识库,--,API,docker,问答
From: https://www.cnblogs.com/laowangworkspace/p/18064573

相关文章

  • 疆之语--AI个性化定制营养方案的倡导者
    开场白:尊敬的评委老师们,大家上午好,我是疆之语--AI个性化定制营养方案的倡导者(或本次项目的主要负责人)的陈雪楠,非常荣幸能够站在这里向大家展示我们三创赛的项目。目录:接下来我将从xxx,xxx,xxx,xxx,xxx,来展开描述。首先,我想简要介绍一下我们的项目。我们的项目名为疆之语,旨在通......
  • 必看的2024年AI辅助研发发展趋势
    ​当我们站在2024年的风口浪尖时,人工智慧辅助研发的格局即将发生翻天覆地的变化。2023年人工智慧的快速发展为各行业的突破性进步铺平了道路。从研发流程的数位转型,到AI+开发工具2.0的出现,未来充满了超越Copilot领域的可能性。  需要关注的主要趋势: 1.**多模态革命:**......
  • spring-security源码-FilterChainProxy
    FilterChainProxy内部存储了我们各个HttpSecurty生成的SecurityFilterChain。FilterChainProxy实现了ServletFilter接口。只真正的入口org.springframework.security.web.FilterChainProxy.doFilterpublicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,F......
  • spring-security源码-如何初始化SecurityFilterChain到Servlet
    1.SecurityFilterChain是由HttpSecurty根据各个config配置生成的FilterSecurityFilterChain是接口,默认实现是由DefaultSecurityFilterChainSecurityFilterChain只充当描述的作用,描述哪些url走这批filterpublicfinalclassDefaultSecurityFilterChainimplementsSecurityF......
  • P2866 [USACO06NOV] Bad Hair Day S
    原题链接题解1.倒序求2.求每个点前有多少高度比自己小的3.高度函数图像是有升有降的,由于要求比自己小的,在求完之后,我们把所有点前比自己小的点缩起来放到自己身上,然后把那些点删掉,再插入自己这样序列就变成了降序,遍历的时候也只需要遍历那些降序点code#include<bits/stdc++......
  • ai破解版百度云+安装包网盘资源下载+补丁注册机
    AI软件用于画卡通、标识、AI软件、信息图形和包装设计等。平面设计师、网页设计师、视觉艺术家和专业插画家在日常生活中使用AI软件。AI软件的用户友好的界面实时追踪功能,面板编辑能力,以及许多其他因素,使它成为最流行的软件矢量艺术在创意产业。为什么选择AI软件......
  • "探索未来智能:AI技术一网打尽!"(推荐收藏)
    星心AI(kk.zlrxjh.top)在信息技术的海洋中,一颗新星正在冉冉升起,名为星心AI。这项技术结合了星辰大模型与心灵大模型的精髓,创造出一种知识增强型的大语言模型,专门服务于自然语言处理(NLP)这一领域的前沿技术探索。星心AI携带着对语言的深刻理解和生成的能力,轻松驾驭各种复杂的自然语......
  • ManualResetEvent set waitone
    staticvoidManualResetEventFalseReset(){varsignal=newManualResetEvent(false);intx=10;PrintLine();newThread(()=>{PrintLine();x++;Thread.Sleep(1000);PrintLine();......
  • SQLIntegrityConstraintViolationException: Cannot add or update a child row: a fo
    异常原因:两张表存在外键关联并且有级联操作,级联更新或级联删除等1.(此处为)设置的外键与另一个表中的唯一索引列(一般是主键)中的值不匹配2.添加的外键列与另一个表的唯一索引列(一般是主键)的数据类型不同......
  • CF1634E Fair Share 题解
    题意:给定\(m\)个长度为偶数的数组,\(L,R\)是初始为空的两个多重集。将每个数组恰好一半的数放入\(L\),另一半放入\(R\),要求最后\(L=R\),要求构造方案或判断无解。\(m\le10^5,\sumn\le10^5\)。思路:首先我们不难想到,对于同一个数组内相同的值,可以成双除去,所以我们可以......