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

2024-05-08 12:12

本文主要是介绍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群反馈

这篇关于Fastgpt知识库接入oneapi和自定义大模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/970286

相关文章

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

SpringBoot+EasyExcel实现自定义复杂样式导入导出

《SpringBoot+EasyExcel实现自定义复杂样式导入导出》这篇文章主要为大家详细介绍了SpringBoot如何结果EasyExcel实现自定义复杂样式导入导出功能,文中的示例代码讲解详细,... 目录安装处理自定义导出复杂场景1、列不固定,动态列2、动态下拉3、自定义锁定行/列,添加密码4、合并

Java实现自定义table宽高的示例代码

《Java实现自定义table宽高的示例代码》在桌面应用、管理系统乃至报表工具中,表格(JTable)作为最常用的数据展示组件,不仅承载对数据的增删改查,还需要配合布局与视觉需求,而JavaSwing... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

一文详解Java Stream的sorted自定义排序

《一文详解JavaStream的sorted自定义排序》Javastream中的sorted方法是用于对流中的元素进行排序的方法,它可以接受一个comparator参数,用于指定排序规则,sorte... 目录一、sorted 操作的基础原理二、自定义排序的实现方式1. Comparator 接口的 Lam

如何自定义一个log适配器starter

《如何自定义一个log适配器starter》:本文主要介绍如何自定义一个log适配器starter的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求Starter 项目目录结构pom.XML 配置LogInitializer实现MDCInterceptor

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

spring-gateway filters添加自定义过滤器实现流程分析(可插拔)

《spring-gatewayfilters添加自定义过滤器实现流程分析(可插拔)》:本文主要介绍spring-gatewayfilters添加自定义过滤器实现流程分析(可插拔),本文通过实例图... 目录需求背景需求拆解设计流程及作用域逻辑处理代码逻辑需求背景公司要求,通过公司网络代理访问的请求需要做请