工具集成详解
了解系统集成的各类工具及其功能、参数与调用方式
工具集成架构
了解系统如何集成FastGPT知识库与自定义工具,以及数据流转逻辑。
FastGPT工具集成特点
考勤制度生成与风险分析系统利用FastGPT平台的工作流能力,将知识库检索工具与自定义工具无缝集成。系统的知识库工具直接使用FastGPT的知识库检索功能,工具调用结果通过中间缓存机制存储,统一传递给回答生成模型。
工具集成架构图:
工具调用与数据缓存逻辑
了解工具调用结果如何缓存和传递给后续模型的完整流程。
流程目的:分析用户问题,确定需要调用哪些工具
主要步骤:
- 分析用户意图,确定所需工具组合
- 生成会话ID用于跟踪整个交互过程
- 初始化结果缓存,为存储工具结果做准备
- 返回工具调用决策信息
数据结构示例:
流程特点:直接使用FastGPT平台的知识库检索能力
工作原理:
- FastGPT平台内部执行知识库检索操作
- 检索结果通过API传递给后端系统
- 结果存入会话缓存,以便后续模型使用
- 每个工具调用独立进行,互不影响
流程特点:根据工具类型调用不同的处理逻辑
工具类型及处理:
- 制度生成工具:生成制度内容并触发前端模板编辑组件
- 风险可视化工具:分析风险并触发前端可视化组件
- 飞书消息工具:发送消息到飞书,但不触发前端更新
前端交互逻辑:
- 部分工具(制度生成、风险可视化)会更新active_component表
- 前端通过轮询检测表变化,触发界面更新
目的:统一管理所有工具调用结果,便于后续模型使用
工作原理:
- 使用映射表将工具名称转换为数据库字段
- 每个工具结果单独存储在对应字段中
- 结果以JSON字符串形式存储,保留完整信息
- 以会话ID为索引,确保同一会话中的工具结果关联
字段映射关系:
| 工具名称 | 数据库字段 |
|---|---|
| 标准规范模板知识库搜索工具 | tool1_result |
| 中华人民共和国劳动法知识库搜索工具 | tool2_result |
| 用户上传的现有制度文档搜索工具 | tool3_result |
| 考勤制度风险可视化分析工具 | tool4_result |
| 考勤制度智能生成工具 | tool5_result |
| 飞书消息发送工具 | tool6_result |
流程目的:将所有工具结果整合,传递给回答生成模型
工作流程:
- 从数据库获取当前会话的所有工具调用结果
- 将JSON字符串解析为结构化对象
- 获取当前前端组件状态信息
- 将所有信息传递给回答生成模型
- 生成最终对用户的回答
数据流向:
目的:控制前端界面动态更新,展示可视化或模板内容
核心逻辑:
- 更新active_component表中的组件类型和ID
- 对特定类型组件(可视化、模板)添加历史记录
- 前端通过轮询检测active_component表变化
- 检测到变化时,前端动态切换显示相应组件
优势:
- 实现前后端解耦,通过数据库作为中间层通信
- 支持状态持久化,即使页面刷新也能恢复正确状态
- 避免复杂的实时通信机制,简化系统设计
工具调用缓存机制的优势
通过实现工具调用结果的缓存机制,系统获得了以下关键优势:
- 批量处理 - 支持在一次请求中调用多个工具,结果统一传递给回答模型
- 状态保持 - 工具调用结果在会话期间持久保存,支持多轮对话引用
- 异步处理 - 工具调用与回答生成解耦,支持长时间运行的工具操作
- 错误隔离 - 单个工具失败不影响整体流程,系统可以继续处理
- 调试便利 - 缓存机制便于查看工具调用历史和诊断问题
API集成实例
了解如何通过API与考勤制度生成与风险分析系统集成,包含完整的数据流转过程。
构建API请求需要包含用户查询、身份信息和上下文变量:
系统API支持流式响应,实现打字机效果:
- 发送请求后获取响应流
- 按行解析数据,处理每个数据块
- 提取增量内容并实时显示
- 监控前端组件更新信息并处理
当响应中包含前端组件更新信息时,进行相应处理:
- 检测响应中的frontendUpdate字段
- 根据组件类型(template/visualization)显示相应界面
- 加载对应ID的组件内容
- 更新界面布局,展示组件
工具类型与前端交互
不同类型工具对前端界面的影响与交互方式。
知识库工具
直接利用FastGPT平台的知识库检索能力,搜索考勤管理相关的法规、标准和最佳实践。
前端影响: 不触发界面更新,结果仅用于生成文本回答
内容生成工具
生成考勤制度模板,将结果存储到数据库并触发前端界面更新。
前端影响: 触发侧边栏显示模板编辑界面,支持在线编辑和导出
可视化工具
将考勤制度风险分析结果以可视化方式呈现,直观展示风险分布。
前端影响: 触发侧边栏显示风险可视化界面,支持交互式风险探索
外部集成工具
与外部系统集成,如飞书消息发送,执行具体的业务操作。
前端影响: 不触发界面更新,在对话中显示操作结果确认