当前位置: 首页 > news >正文

FastGPT本地构建工作流高级编排(最新4.11.0)

目录

前言

一、本地部署

二、工作流编排

2.1 配置大模型

2.1.1 通过 OneAPI 接入模型

2.2 创建知识库

2.3 创建工作流

2.4 示例讲解

一、初始化

二、问题分类

三、本地数据+知识库

四、调试

结语


前言

官网文档:Docker Compose 快速部署 | FastGPT

本篇主讲工作流编排实现基于知识库 | http请求+知识库 -> 大模型输出,将跳过docker安装等步骤,侧重于应用自定义流程及扩展。主包刚学习的时候也看了很多博主写的文件和视频,大部分偏向基本使用并没有告诉我各组件节点组合使用是否可行,还是需要自己摸索尝试。所以本篇文件希望给大家一点小灵感方便构建实现自己需求的agent!

一、本地部署

准备docker环境后可,可去GitHub找到需要的向量数据库,下载到本地。

注意配置文件有注释需要查看默认的登录账号以及密码

Linux 快速脚本

mkdir fastgpt
cd fastgpt
curl -O https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.json# pgvector 版本(测试推荐,简单快捷)
curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/deploy/docker/docker-compose-pgvector.yml
# oceanbase 版本(需要将init.sql和docker-compose.yml放在同一个文件夹,方便挂载)
# curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/deploy/docker/docker-compose-oceanbase/docker-compose.yml
# curl -o init.sql https://raw.githubusercontent.com/labring/FastGPT/main/deploy/docker/docker-compose-oceanbase/init.sql
# milvus 版本
# curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/deploy/docker/docker-compose-milvus.yml
# zilliz 版本
# curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/deploy/docker/docker-compose-zilliz.yml

config.json 文件也就是一些模型的配置:

{"systemEnv": {"vectorMaxProcess": 10, // 向量处理线程数量"qaMaxProcess": 10, // 问答拆分线程数量"vlmMaxProcess": 10, // 图片理解模型最大处理进程"tokenWorkers": 30, // Token 计算线程保持数,会持续占用内存,不能设置太大。"hnswEfSearch": 100, // 向量搜索参数,仅对 PG 和 OB 生效。越大,搜索越精确,但是速度越慢。设置为100,有99%+精度。"hnswMaxScanTuples": 100000, // 向量搜索最大扫描数据量,仅对 PG生效。"customPdfParse": {"url": "", // 自定义 PDF 解析服务地址"key": "", // 自定义 PDF 解析服务密钥"doc2xKey": "", // doc2x 服务密钥"price": 0 // PDF 解析服务价格}},
"llmModels": [{}], // 语言模型
"vectorModels": [{}], // 向量模型
"reRankModels": [{}], // 重排模型
}

将两个文件放在一个目录执行命令:

# 在 docker-compose.yml 同级目录下执行
docker-compose pull // 拉取容器
docker-compose up -d // 启动

 

二、工作流编排

2.1 配置大模型

在上面讲到config.json文件就是一些大模型的配置,源文件定义了需求模型,但是我们不能用,需要自己添加才行

首先需要新增一个模型渠道,我这里使用了通义千问,可根据自己拥有的模型新增 。

接着把新增的模型启动即可,不然到后面没有模型选择🤦

 

2.1.1 通过 OneAPI 接入模型

教程:通过 OneAPI 接入模型 | FastGPT

项目地址:https://github.com/songquanpeng/one-api

        很多博主都分享通过这种方式统一配置管理大模型,FastGPT 目前采用模型分离的部署方案,因为只兼容 OpenAI 的模型规范(OpenAI 不存在的模型采用一个较为通用的规范),并通过 One API 来实现对不同模型接口的统一。但是主包貌似没有找到mac包所以直接使用以上方法,fastgpt已接入了AI Proxy。

2.2 创建知识库

注意web站点与第三方知识库同步需要付费,商业版才可用,我们个人直接使用本地上次知识库即可!!!

这时可以选择已经配置的模型进行处理,后面就是导入本地文件

最重要的一步就是知识库处理方式,取决于知识库结构以及更好的检索

 

2.3 创建工作流

这里直接创建一个工作流

这就是一个普通空白的工作流,每个应用都是流程开始(用户问题)

接着通过拖拉拽使用组件,再进行连接,这里需要注意每个节点需要有闭环,不然运行会提示异常 

2.4 示例讲解

接下是我做的一个示例:

用户提问 -(其中我做了全局变量更新) ->问题分类 ->

  • 关于酒店运营问题 -> 知识库检索 -> ai大模型输出
  • 关于酒店数据分析等问题 -> 判断器-> 

            1、 关于流量问题 -> http请求 + 知识库检索 -> ai模型输出

            2、其他问题 -> 指定回答

  • 打招呼,问候等问题 -> 指定回答

 

一、初始化

(1)流程开始添加【代码运行】节点引用全局变量[当前时间],因为时间格式不是不需要的所以把它解析成我想要的格式并更新到`系统配置`的全局变量中

(2)流程开始添加【HTTP请求】节点,配置接口地址、参数和headers,通过JSONPath语法提取响应的字段,最后更新全局变量

二、问题分类

【问题分类】相当于使用ai模型分析用户意图, 这里我添加了三类问题并且每个问题都连接不同节点处理,这样用户的问题只能派指一条执行

三、本地数据+知识库

  • 首先我添加了判断器来判断根据关键字再执行不同节点,这里也可以再添加一个【问题分类】分析问题调用不同接口获取数据(当前简单只有一个请求)
  • 接着使用【文本内容提取】这想当于让ai模型根据用户问题提取可用的接口参数,再去调用接口。看图可以发现我的接口参数引用了全局变量,也就是初始化时获取的固定值
  • 在执行【文本内容提取】节点同时我又使用了【知识库】,接着使用【文本拼接】将接口数据、知识库和问题结合给ai大模型输出

四、调试

可以直接触碰任何节点,从当前节点开始执行(需要填写当前接口需要的参数)

运行调试:模型回答结束后可以查看上下问引用,工作流总运行时间以及查看详情

查看详情:这里可以看到每个步骤的完整响应

结语

        以上就是我的分享,感谢大家看到最后。其中还有很多工具没有一一演示了,比如数据库连接、网页内容抓取等。如果创建一个应用就很复杂的话,我们也没必要通过一个工作流实现,不易查看,可以抽离单个工作流为一个应用,最后再建一个工作流把这些应用整合起来用。


祝你早安午安晚安。
祉猷并茂,顺遂无虞。

http://www.lryc.cn/news/602372.html

相关文章:

  • 火狐浏览器中国特供版关闭,如何下载 Firefox 国际版?如何备份数据?
  • App Inventor 2 使用 MaterialIcons 图标字体,快捷展示专业图标
  • NAS远程访问新解法:OMV与cpolar的技术协同价值
  • CentOS7 安装和配置教程
  • nvim tagbar安装
  • VUE2 学习笔记11 脚手架
  • 架构实战——互联网架构模板(“存储层”技术)
  • 黑马商城微服务-下
  • 云服务器以域名形式访问机房Kubernetes集群服务之解决方案
  • 国产化PDF处理控件Spire.PDF教程:Java 提取 PDF 图片,高质量提取与图片过滤技巧
  • 【设计模式】状态模式 (状态对象(Objects for States))
  • Spring AI 1.0 提供简单的 AI 系统和服务
  • claude code
  • LeetCode 85. 最大矩形
  • 剑指“CPU飙高”问题
  • FFmpeg 安装与使用
  • kafka开启Kerberos使用方式
  • 【三桥君】如何解决后端Agent和前端UI之间的交互问题?——解析AG-UI协议的神奇作用
  • 2025年7月28日训练日志
  • Android 解析 TrafficDescriptor 的 OSAPP 信息
  • Android15广播ANR的源码流程分析
  • ubuntu安装Anaconda及应用
  • 【运维】HuggingFace缓存目录结构详解
  • 首个智能存力调度平台启动!与算力网络共同加速AI创新
  • 【深度学习】SOFT Top-k:用最优传输解锁可微的 Top-k 操作
  • 应急响应案例处置(下)
  • 应急响应处置案例(上)
  • 【LeetCode 热题 100】(一)哈希
  • 绿算技术携手昇腾发布高性能全闪硬盘缓存设备,推动AI大模型降本增效
  • 零基础部署网站?使用天翼云服务搭建语音听写应用系统