SpringAI系列 - ToolCalling篇(二) - 如何设置应用侧工具参数ToolContext(有坑)

目录

    • 一、引言
    • 二、集成ToolContext示例
      • 步骤1: 在`@Tool`标注的工具方法中集成`ToolConext`参数
      • 步骤2:`ChatClient`运行时动态设置`ToolContext`参数
    • 三、填坑

一、引言

在使用AI大模型的工具调用机制时,工具参数都是由大模型解析用户输入上下文获取的,由大模型提供参数给本地工具调用。对于那些涉密数据(access_token、app_secret等)、租户标识(tenant_id等)、用户身份(user_id等)又或者无法根据用户输入上下文获取到的参数,Spring AI 支持通过 ToolContext API 传递额外的应用侧(客户端)参数给工具调用,如此应用侧在执行工具调用的过程中,便可获取到应用侧传递的上下文参数,同时又可获取到AI大模型传递的工具参数。

在这里插入图片描述

相较于原Tool Calling调用流程,使用Tool Context机制后的流程主要变化在第1步第3步

  • 第1步: 除了提供

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

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

相关文章

【RabbitMQ业务幂等设计】RabbitMQ消息是幂等的吗?

在分布式系统中,RabbitMQ 自身不直接提供消息幂等性保障机制,但可通过业务逻辑设计和技术组合实现消息处理的幂等性。以下是 8 种核心实现方案及最佳实践: 一、消息唯一标识符 (Message Deduplication) 原理 每条消息携带全局唯一ID&#xff…

网络可靠性要求

目录 一、背景介绍 二、环路引发的危害 1、广播风暴 2、MAC 地址表震荡 三、STP生成树 1、STP的作用 2、STP工作过程 3、根桥选举 4、根端口选举 5、指定端口选举 6、BPDU报文分析 7、计时器 8、端口状态转化 总结 一、背景介绍 为了提高网络可靠性,交换网络…

《STL 六大组件之容器探秘:深入剖析 string》

目录 一、string 类简介二、string 类的常用接口1. 构造函数(constructor function)2. 与容量相关的接口(capacity)3. 与迭代器有关的接口(iterator)4. 与元素访问有关的接口(element access&am…

Unreal5从入门到精通之在编辑器中更新 UserWidgets

前言 在虚幻中创建越来越复杂和灵活的 UserWidget 蓝图时,一个问题是它们在编辑器中的外观与它们在游戏中的最终外观可能有很大不同。 库存面板示例 假设你想创建一个通用的库存显示小部件。我们可以在整个 UI 中使用它,无论我们需要在哪里显示某些内容。 标题,描述所显示…

计算机网络-OSI七层参考模型与数据封装,网络安全零基础入门到精通实战教程!

目录 一、网络 1、网络的定义 2、网络的分类 3、网络的作用 4、网络的数据传输方式 5、网络的数据通讯方式 二、OSI七层参考模型 1、网络参考模型定义 2、分层的意义 3、分层与功能 4、TCP\IP五层模型 三、参考模型的协议 1、物理层 2、数据链路层 3、网络层 4…

Python正则替换终极指南:用re.sub玩转字符串魔法

Python正则替换终极指南:用re.sub玩转字符串魔法 一、为什么re.sub是文本处理的瑞士军刀? 在Python的re模块中,re.sub()的周下载量突破5800万次(2025年PyPI数据),它实现了: 📍 模…

gen_gauss_filter用于检测带方向的线条

目录 一、核心参数分析 1.1 方向覆盖范围 1.2 滤波器方向带宽 二、角度配置建议 三、参数选择依据 四、实施建议 五、模拟图测试(项目图档不好直接分享) 5.1 模拟图制作 5.2 检测伪代码 在Halcon中使用高斯滤波器检测多方向线条时,角度参数的选取需要综合考虑滤波…

C++17 中的 std::to_chars 和 std::from_chars:高效且安全的字符串转换工具

文章目录 1. 传统转换方法的局限性2. std::to_chars:数值到字符串的高效转换函数原型:返回值:示例代码:输出: 3. std::from_chars:字符串到数值的高效解析函数原型:返回值:示例代码&…

深入学习解析:183页可编辑PPT华为市场营销MPR+LTC流程规划方案

华为终端正面临销售模式转型的关键时刻,旨在通过构建MPRLTC项目,以规避对运营商定制的过度依赖,并探索新的增长路径。项目核心在于建设一套全新的销售流程与IT系统,支撑双品牌及自有品牌的战略发展。 项目总体方案聚焦于四大关键议…

Python正则表达式处理中日韩字符过滤全解析

Python正则表达式处理中日韩字符过滤全解析 一、核心原理:Unicode字符范围定位 中日韩字符在Unicode中的分布: 中文:\u4e00-\u9fff(基本区) \u3400-\u4dbf(扩展A区) \U00020000-\U0002a6df…

基于WOA鲸鱼优化的WSN网络最优节点部署算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 鲸鱼优化算法(WOA)是一种模拟座头鲸捕食行为的元启发式优化算法。其主要原理基于座头鲸独特的 “气泡网” 捕食策略,通过数学模…

【数据分析】3 数据分析成长之路

职业发展路径: 向上发展(技术方向):可以详细说明成为数据科学家或专家所需的具体技能和步骤,包括学习的算法、工具等。向下发展(业务方向):可以探讨结合业务知识的具体领域&#xff…

excel导入Mysql中时间格式异常

问题描述: 当使用xls/xlsx/csv导入mysql中,如果列是时间类型比如excel表中显示2024/02/20 09:18:00,导入后时间可能就会变成1900-01-01 09:18:00这样。 问题原因: 这是由于excel表中和数据库中的时间类型不匹配导致。 问题解决…

async checkpointing

Reducing Model Checkpointing Times by Over 10x with PyTorch Distributed Asynchronous Checkpointing | PyTorch 最初来源:IBM Research 核心思想:GPU->CPU,用的是blocking;CPU->Disk,用的是异步不阻塞训练…

Nginx稳定版最新1.26.2源码包安装【保姆级教学】

Nginx安装及配置 开源Nginx官网地址(https://nginx.org) Nginx源码包下载地址(https://nginx.org/en/download.html) Mainline version 主线版本 Stable version 稳定版本 Legacy versions 陈旧版本 下载Nginx源码文件 curl -O https://nginx.org/download/nginx-1.26.2.t…

在ubuntu上用Python的openpyxl模块操作Excel的案例

文章目录 安装模块读取Excel数据库取数匹配数据和更新Excel数据 在Ubuntu系统的环境下基本职能借助Python的openpyxl模块实现对Excel数据的操作。 安装模块 本次需要用到的模块需要提前安装(如果没有的话) pip3 install openpyxl pip3 install pymysql在操作前,需…

GeoHD - 一种用于智慧城市热点探测的Python工具箱

GeoHD - 一种用于智慧城市热点探测的Python工具箱 详细原理请参考:Yan, Y., Quan, W., Wang, H., 2024. A data‐driven adaptive geospatial hotspot detection approach in smart cities. Trans. GIS tgis.13137. 代码下载:下载 1. 简介 在城市数据…

16 中介者(Mediator)模式

中介者模式 1.1 分类 (对象)行为型 1.2 提出问题 实现一个机场的起飞管理系统,如果由驾驶员们讨论谁先飞,后果可能是灾难性的。 1.3 解决方案 用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用&a…

最薄的机身,游最深的海

经济全球化的潮流,势不可挡。 “技术、通讯和全球化,正在消除传统的地理和经济边界,使竞争环境趋于平等。”《世界是平的》作者托马斯弗里德曼预言的"扁平化竞争"正加速演进。 在高端智能手机战场,一场由中国企业主导…

【HarmonyOS Next】鸿蒙监听手机按键

【HarmonyOS Next】鸿蒙监听手机按键 一、前言 应用开发中我们会遇到监听用户实体按键,或者扩展按键的需求。亦或者是在某些场景下,禁止用户按下某些按键的业务需求。 这两种需求,鸿蒙都提供了对应的监听事件进行处理。 onKeyEvent 默认的…