Fastgpt知识库接入oneapi和自定义大模型

本期教程教大家训练自己的知识库回答chatgpt回答不了的问题

FastGPT 是一个知识库问答系统,可以通过调用大模型和知识库回答特定的问题

  1. 可以做成专属 AI 客服集成到现有的APP或者网站内当作智能客服
  2. 支持网络爬虫学习互联网上的很多知识
  3. 可以通过flow可视化进行工作流程编排

本期教程主要内容

  1. 实现fastgpt对接oneapi接入多种大模型
  2. 实现fastgpt自定义大模型
  3. 实现添加m3e索引模型
  4. 实现自定义文本处理模型
  5. 实现在线更新fastgpt
  6. 不需要以上5条功能可以查看往期教程一键部署教程
  7. ⚠️注意遇到报错或者问题请查看最后面的避坑指南或许能找到答案

推荐使用浪浪云服务器,省心 省时 省力安全稳定 教程全面且详细

需要采用一键部署的系统

Pasted image 20240425082923

添加端口转发

Pasted image 20240425095846

Pasted image 20240425095945

Pasted image 20240425100303

登录casaos

Pasted image 20240425162314

登录fastgpt

Pasted image 20240425162149

浏览器登录oneapi

Pasted image 20240425161949

fastgpt如何对接oneapi

打开files

Pasted image 20240425162522

进入fastgpt文件下

Pasted image 20240425162642

Pasted image 20240425162705

编辑docker-compose.yaml文件

Pasted image 20240425162814

修改配置文件

修改前

Pasted image 20240425163012

修改后

Pasted image 20240425163609

打开终端

Pasted image 20240425163727

登录终端

Pasted image 20240425202209

进入fastgpt文件夹下

cd fastgpt

Pasted image 20240425202708

停止运行fastgpt

docker compose down

Pasted image 20240425202750

启动fastgpt

docker compose up -d

Pasted image 20240425202816

此时fastgpt已经对接到oneapi上了

oneapi对接chatgpt或其他大模型

本次演示对接xi的中转api

Pasted image 20240425203122

Pasted image 20240425203422

Pasted image 20240425203523

登录fastgpt看一下能否使用

Pasted image 20240425204128

可以看到已经可以对话了,如果不能对话报错,就去检查一下docker-compose编辑那部检查一下时候填对了,填写没有问题就执行一下 停止fastgpt和启动fastgpt运行

Pasted image 20240425204229

如何自定义添加大模型

可以看到fastgpt里自带的模型只有3个,如何加入其他模型呢

Pasted image 20240425204523

编辑config.json

Pasted image 20240425204745

可以看到以下是相应的模型配置文件

Pasted image 20240425205050

示例:添加千问大模型

{ "model": "gpt-3.5-turbo", // 模型名(对应OneAPI中渠道的模型名) "name": "gpt-3.5-turbo", // 别名 "avatar": "/imgs/model/openai.svg", // 模型的logo "maxContext": 16000, // 最大上下文 "maxResponse": 4000, // 最大回复 "quoteMaxToken": 13000, // 最大引用内容 "maxTemperature": 1.2, // 最大温度 "charsPointsPrice": 0, // n积分/1k token(商业版) "censor": false, // 是否开启敏感校验(商业版) "vision": false, // 是否支持图片输入 "datasetProcess": true, // 是否设置为知识库处理模型(QA),务必保证至少有一个为true,否则知识库会报错 "usedInClassify": true, // 是否用于问题分类(务必保证至少有一个为true)    "usedInExtractFields": true, // 是否用于内容提取(务必保证至少有一个为true) "usedInToolCall": true, // 是否用于工具调用(务必保证至少有一个为true) "usedInQueryExtension": true, // 是否用于问题优化(务必保证至少有一个为true) "toolChoice": true, // 是否支持工具选择(分类,内容提取,工具调用会用到。目前只有gpt支持) "functionCall": false, // 是否支持函数调用(分类,内容提取,工具调用会用到。会优先使用 toolChoice,如果为false,则使用 functionCall,如果仍为 false,则使用提示词模式) "customCQPrompt": "", // 自定义文本分类提示词(不支持工具和函数调用的模型 "customExtractPrompt": "", // 自定义内容提取提示词 "defaultSystemChatPrompt": "", // 对话默认携带的系统提示词 "defaultConfig":{} // 请求API时,挟带一些默认配置(比如 GLM4 的 top_p) },

千问大模型

{"model": "qwen:14b","name": "qwen:14b","maxContext": 16000,"avatar": "/imgs/model/qwen.svg","maxResponse": 4000,"quoteMaxToken": 13000,"maxTemperature": 1.2,"charsPointsPrice": 0,"censor": false,"vision": false,"datasetProcess": true,"usedInClassify": true,"usedInExtractFields": true,"usedInToolCall": true,"usedInQueryExtension": true,"toolChoice": true,"functionCall": true,"customCQPrompt": "","customExtractPrompt": "","defaultSystemChatPrompt": "","defaultConfig": {}},

Pasted image 20240425210900

重启一下fastgpt

Pasted image 20240425211058

Pasted image 20240426104245

添加知识库m3e索引模型

fastgpt支持的索引模型有embedding和m3e,但是自带的只有emnedding,如何添加m3e索引模型

编辑这个config.json文件

Pasted image 20240427093725

添加m3e模型

{ "model": "m3e", "name": "m3e", "price": 0.1, "defaultToken": 500, "maxToken": 1800 
}

Pasted image 20240427093936

重启fastgpt

Pasted image 20240427094011

可以看到知识库创建已有M3e

Pasted image 20240427094041

知识库文本处理是如何添加的

Pasted image 20240427094533

在模型配置文件里设置为true就会显示在此

Pasted image 20240427094507

并且要在fastgpt对接的oneapi里添加索引模型m3e

Pasted image 20240427095156

测试是否成功

Pasted image 20240427095250

Pasted image 20240427095424

索引完成

Pasted image 20240427095510

可以看到可以回答知识库相关内容了

Pasted image 20240427101256

如何更新fastgpt

# 更新fastgpt
docker compose pull # 启动fastgpt
docker compose up -d

避坑指南

在测试过程中出现配置文件中添加了模型并且也重启了fastgpt,发现fastgpt里还是没有自定义添加的模型

  1. 仔细检查一下配置文件是否填对
  2. 配置文件没问题,可以多次重启fastgpt,大概率就会解决问题

oneapi里添加了模型名字,fastgpt里也添加了,但是就是提示无所用模型

  1. 仔细检查一下模型名字时候填对,或者多等一会在进行测试

更多问题可以加QQ群反馈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/8662.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【spark】win10 pyspark3.5.1 安装超级简单

下载地址:https://spark.apache.org/downloads.html 下载完成: 复制文件到自己的路径下,路径最好不要有中文、空格; 解压tgz文件: 修改环境变量: 创建SPARK_HOME: D:\software_download\spar…

Facebook之道:探索社交媒体领域的未来

随着科技的不断发展,社交媒体已经成为我们日常生活中不可或缺的一部分。而在这个领域中,Facebook一直是引领者和领头羊。然而,随着时间的推移,社交媒体领域正在发生着翻天覆地的变化,而Facebook又将何去何从&#xff1…

【Python】在Windows Server上部署Flask后端服务器

想要在Windows Server上部署flask应用,当然不能只下一个anaconda配完环境之后直接启动py文件,这样的话后台会有一段警告: * Serving Flask app app* Debug mode: off WARNING: This is a development server. Do not use it in a production …

攻略:ChatGPT3.5~4.0(中文版)国内无限制免费版(附网址)【2024年5月最新更新】

一、什么是ChatGPT? 1、ChatGPT的全名是Chat Generative Pre-trained Transformer,其中"chat"表示聊天。"GPT"则是由三部分组成:生成式(generative)意味着具有创造力;预训练&#xff0…

跟我学做零售数据分析报表-商品滞销分析

商品滞销的情况很常见,因此商品滞销分析也是基本属于零售数据分析标配内容之一。那么,商品滞销分析报表该怎么做?要做计算哪些指标,怎么分析滞销趋势?别急,奥威BI零售数据分析方案预设了一张BI商品滞销分析…

FreeRTOS(随便写写,项目用到)

FreeRTOS是什么(并发) RTOS(Real Time Operating System,中文就是实时操作系统) FreeRTOS是一个迷你的实时操作系统内核。 作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号…

citylava:城市场景中VLMs的有效微调

citylava:城市场景中VLMs的有效微调 摘要IntroductionRelated WorkVision-Language ModelsVLMs in Driving Methodology CityLLaVA: Efficient Fine-Tuning for VLMs in City Scenario 摘要 在城市广阔且动态的场景中,交通安全描述与分析在从保险检查到事故预防的各…

蓝牙 | 软件:Git管理高通的ChipCode项目

哈喽大家好,最近发现大家在高通chipcode网站上下载不了代码,小编一直使用git的方式获取新版本代码,没有遇到什么阻碍。于是小编到新主机上尝试下载代码的压缩包和git代码,都遇到了问题。由于压缩包是高通自己处理卡住了&#xff0…

您可以使用WordPress创建的19种网站类型

当人们决定为什么他们应该使用WordPress时,我们经常会被问到“WordPress可以做[空白]吗?答案大多是肯定的。在本文中,我们将向您展示您可以使用WordPress创建的19种不同类型的网站,而无需学习任何编程技巧。 目录 隐藏 1 开始使用…

CSS---Emmet(二)

一、Emmet语法 Emmet语法是一种用于快速编写HTML和CSS的缩写技术。它允许开发者通过简洁的表达式快速生成复杂的代码结构,极大地提高了编码效率。使用Emmet,你只需要写出一些简短的缩写符号和操作符,然后通过快捷键(通常是Tab键&…

巡检机器人有哪些功能和作用?

在科技如此发达的时代,巡检机器人犹如一位不知疲倦的守护者,悄然走进了我们的生活。它们具备着令人惊叹的功能和作用,成为了保障安全、提高效率的重要力量。那么,巡检机器人功能和作用?下面我们来说说旗晟机器人的几款…

java——嵌套(二)

目录 一:方法的重写(覆盖/覆写) 1. 方法的重写的意义: 2. 重写(overide) 3. 案例 二:继承中构造方法的调用 1. 子类的构造方法会默认调用父类的构造方法; 2. super 关键字调用…

深入理解Go语言并发编程

随着计算机硬件的发展,多核处理器已经成为现代计算机的主流配置。在这样的背景下,并发编程成为了一种必备的技能。Go 语言作为一门先进的编程语言,天生支持并发编程,提供了丰富的并发原语和工具,使得并发编程变得更加容…

C#中实现DataGridView数据的优雅Excel之旅(EPPlus)

DataGridView效果图: EXCEL效果图: 代码如下: 首先要引入EPPlus包 可以使用命令行来安装 Install-Package EPPlus 也可以使用NUGet搜索EPPlus来安装 public Homes(){InitializeComponent();ExcelPackage.LicenseContext OfficeOpenXml.LicenseContext…

Unity打开安卓设备不同的设置面板

1,打开安卓设备不同的设置面板,我还贴心的把Android官网的链接放下面了 2,使用也很方便:unity按钮事件上拖这个脚本,注册MyOpenAndroidSettings方法,参数 填 和枚举值相应的数字 // 功能:打开…

Python基础详解三

一,函数的多返回值 def methodReturn():return 1,2x,ymethodReturn() print(x,y) 1 2 二,函数的多种参数使用形式 缺省参数: def method7(name,age,address"淄博"):print("name:"name",age"str(age)&quo…

Golang——IO操作

1. 输入输出的底层原理 终端其实是一个文件(Linux下一切皆文件),相关实例如下: os.Stdin:标准输出的文件实例,类型为*Fileos.Stdout:标准输入的文件实例,类型为*Fileos.Stderr:标准错误输出的文…

出差——蓝桥杯十三届2022国赛大学B组真题

问题分析 该题属于枚举类型&#xff0c;遍历所有情况选出符合条件的即可。因为只需要派两个人&#xff0c;因此采用两层循环遍历每一种情况。 AC_Code #include <bits/stdc.h> using namespace std; string str;//选择的两人 bool ok(){if(str.find("A")!-1…

Colibri for Mac v2.2.0 原生无损音频播放器 激活版

Colibri支持所有流行的无损和有损音频格式的完美清晰的比特完美播放&#xff0c;仅使用微小的计算能力&#xff0c;并提供干净和直观的用户体验。 Colibri在播放音乐时使用极少的计算能力。该应用程序使用最先进的Swift 3编程语言构建&#xff0c;BASS音频引擎作为机器代码捆绑…

java11基础(接口 static关键字)

目录 一. 接口 1. 接口的定义 2. 接口的实现 3. Comparable接口 4. 抽象类和接口的区别 小结 二. static关键字 1. 静态成员变量 2. static 静态方法 3. static静态代码块 格式: 作用: 执行顺序: 三. 接口拓展 default 和 static 一. 接口 如果一个抽象类没有字段…