基于FastGPT搭建RAG问答系统课程复现 #168
Labels
No Label
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: HswOAuth/llm_course#168
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
部署 FastGPT 和 OneAPI 的大致步骤如下:
docker-compose.yml
文件,然后启动容器。docker-compose.yml
和config.json
文件,然后启动容器。config.json
文件,加入 OneAPI 的baseurl
和令牌值。OPENAI_BASE_URL
和CHAT_API_KEY
,分别对应 OneAPI 的地址和 API 密钥。OPENAI_BASE_URL
以/v1
结尾。通过这种方式,用户可以利用 OneAPI 作为网关来管理和调用不同的大模型,而 FastGPT 则作为前端应用来实现具体的问答功能。这种集成可以极大地简化大模型的部署和管理过程,同时提高开发效率和应用性能。
环境准备
安装docker
安装成功后:输入docker --version,显示如下:
安装docker-compose
安装成功后输如docker compose version,显示如下:
部署FastGPT + OneAPI系统
OneAPI 与 FastGPT
OneAPI 是一个接口管理和分发系统,它支持多种大型语言模型(如 Azure、Anthropic Claude、Google PaLM 2 & Gemini、智谱 ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问、360 智脑以及腾讯混元等)。OneAPI 允许用户通过标准的 OpenAI API 格式访问所有这些大模型,实现开箱即用。它可以用来二次分发管理 key,并且已经打包成 Docker 镜像,可以一键部署,开箱即用。
FastGPT是一个基于 LLM 的知识库问答系统,提供数据处理、模型调用等能力,并且可以通过 Flow 可视化进行工作流编排,实现复杂的问答场景。FastGPT 可以通过接入 OneAPI 来实现对不同大模型的支持,包括私有化部署和配置大模型。
准备配置文件
这里需要准备两个文件:docker-compose.yml以及config.json,其中config.json是FastGPT的配置文件。
首先创建目录,将所有关于fastgpt的文件放在一个新的文件夹下:
然后准备docker-compose.yml:
然后准备config.json:
全部编辑完成后进入下一步。
启动系统
在fastgpt_11目录下执行如下命令:
此时表示部署完毕,查看当前目录:
此时通过浏览器就可以访问OneAPI和FastGPT了,访问方式如下:
OneAPI接入模型
先准备百度千帆大模型
开通几个不要钱的就行,我这里开通的是**ERNIE-Speed-128K和ERNIE-Speed-8K**这两个服务。
随后再openapi中接入渠道:
回到百度文心的界面,在 '应用接入' 里找到API Key 以及 Secret Key,将这两个密钥按照复制粘贴到One API界面中的密钥里 (注意:这里的格式要求用 '|' 将两个密钥分开)
回到渠道页面,点击测试:
接入本地模型
这里使用xinference来部署本地应用。
首先使用docker部署xinference:
成功后显示如下:
然后部署xinference部署自带模型:
通过ip地址+:9997端口号进入,选择模型llama-3.1-instruct。
点击模型打开后点击【launche】按钮,即可开始部署模型,如果本地没有该模型会自动下载模型:
注册到oneapi中:
这里部署模型为:
创建一个简易的聊天应用
通过浏览器访问FastGPT:http://127.0.0.1:3000/并登陆(注意将127.0.0.1修改成自己服务器对应的IP地址),点击新建,选择简易应用;
输入名称,选择简易机器人。
点击配置AI模型,这里AI模型选择ERNIE-Speed-128K, 注意将回复上线调整到4096以下,否则就会出现:LLM model respose empty的错误,最后点击确认即可
模型配置成功之后,点击发布应用;
配置之后就可以开始聊天了
可以在工作台通过调试预览开始进行对话:
创建一个带知识库的聊天应用
创建知识库
点击知识库;
选择通用知识库,取名;这里设置为实验室规章制度。
导入数据集中选择文本数据集;
选择文本拆分方式:
聊天应用添加知识库
点击【关联知识库】;
选择知识库;
点击【参数】;
可以选择知识库搜索匹配模式
可以添加工具供大模型使用