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

Spring AI Alibaba 核心组件

Spring AI Alibaba 核心组件

Tools(工具)

工具创建

创建工具需要实现BiFunction<String, ToolContext, String>接口方法。

接口方法说明

接口中包含两个核心方法:

  1. apply方法(核心方法)

    • 参数:String s- 通常是用户输入的参数
    • 参数:ToolContext toolContext- 工具上下文,包含调用时的元数据、配置等
    • 返回值:String- 处理结果
  2. andThen方法(链式调用)

    • 用于链式调用,可以继续添加后续处理工具
    • 通常是默认实现

工具调用示例

// 基本工具调用ToolCallbacksearchTool=FunctionToolCallback.builder("weather",poeticWeatherTool).inputType(String.class).description("天气查询工具").build();

⚠️ 注意:inputType必须要定义

链式工具创建

如果需要用到andThen方法,在创建工具调用时使用andThen创建链式工具:

WeatherToolweatherTool=newWeatherTool();// 显式调用 andThen,传入后置处理函数BiFunction<String,ToolContext,String>poeticWeatherTool=weatherTool.andThen(result->{// 可以在这里二次处理结果returnresult;});

完整使用流程

  1. 实现BiFunction<String, ToolContext, String>接口创建工具类
  2. 使用andThen方法进行链式处理(可选)
  3. 通过FunctionToolCallback.builder()构建工具回调
  4. 必须指定inputType
  5. 添加描述信息便于理解和使用

System Prompt(系统提示)

两种用法

  1. systemPrompt

    • 使用场景:个性化、场景化适配
  2. instruction

    • 使用场景:通用角色定义
    • 优先级:instruction > systemPrompt

动态系统提示词

动态的系统提示词是通过ModelInterceptor(模型拦截器)来实现的:

  • 可以追加到原有的提示词后面
  • 也可以覆盖原有的提示词
ModelInterceptor 接口方法

ModelInterceptor 包含两个核心方法:

  1. interceptModel

    • 拦截模型,实现动态系统提示词
    • 除了实现动态提示词,还可以实现其他功能
    • 例如:日志记录、权限控制等
  2. getName

    • 获取拦截器名称

Agent 执行方法

核心执行方法

常用的两个方法:invokecall

  • 两者都是触发 Agent 执行的方法
  • invoke方法可以调用到 Agent 的历史记录等多种信息
核心应用场景
  • 多轮对话
  • 复杂工作流
  • 工具调用
  • 状态管理

RunnableConfig 配置对象

RunnableConfig 是配置对象,常用方法包括:

  1. threadId

    • 设置线程ID
  2. addMetadata

    • 添加元数据
    • 增量添加运行时上下文信息

结构化输出

outputType 和 outputSchema 比较

属性outputTypeoutputSchema
类型Class<T>- Java 类String/Schema- JSON Schema 定义
使用方式直接指定 POJO 类提供 JSON Schema 字符串或对象
适用场景有现成 Java 类的强类型场景需要动态定义结构或无对应 Java 类
底层机制框架自动生成 Schema 并绑定到类直接使用提供的 Schema 定义
灵活性较低(受类结构限制)较高(可动态构建)
性能较高(编译时确定结构)较低(运行时解析)

outputSchema 转化

⚠️ 注意:outputSchema需要通过Be

http://www.jsqmd.com/news/351003/

相关文章:

  • CANN 生态工具链实战:用 `profiler` 项目深度优化模型性能
  • CANN 生态全景:`cann-toolkit` —— 一站式开发套件如何提升 AI 工程效率
  • 哪个执业医师课程通过率最高? - 医考机构品牌测评专家
  • 全网热议!2026年青岛实验室净化工程源头厂家排行 - 睿易优选
  • 从外包到大厂 AI 岗:我用 1 年时间踩平的 5 个职业坑
  • P7909 [CSP-J 2021] 分糖果
  • 学考赋能哪家优?泛微青蓝阁、考试星、酷学院、云学堂实力拆解
  • 低代码赋能供应商管理:打破管理壁垒,重塑供应链效能
  • CANN 生态新星:`minddata-dataset-engine` 如何加速 AI 数据 pipeline
  • 达梦数据库查重实战:多字段联合去重完整指南
  • 考临床执医,推荐听谁的课好? - 医考机构品牌测评专家
  • SSM基于J2EE的山西旅游网站的设计与实现iiqmx(软件+源码+数据库+调试部署+创建环境)带论文文档1万字以上,文末可获取,框架界面在最后面。
  • 2026中医执医刷题神器深度测评:如何选择高效备考工具? - 医考机构品牌测评专家
  • 维卡软化点与热变形试验设备:技术解析与操作指南
  • 飞牛Nas使用docker安装OpenClaw
  • audio核心技术原理全景解读
  • 决胜2026执业医师考试:一份全面的备考资料选择与使用指南 - 医考机构品牌测评专家
  • 2026年分样仪选购指南:分样精度/收集容器选择/品牌排名/性能参数深度解析 - 品牌推荐大师1
  • 2026年厦门HE封片机企业最新推荐榜:HE滴染封片机、滴染HE封片机、HE染色封片机、聚焦产品研发实力与行业服务能力深度剖析 - 海棠依旧大
  • 计时工具 Catime
  • 战术级MEMS陀螺适用于哪些领域?
  • Nginx 站点屏蔽/特定国家或地区
  • 【防坑指南 | 可以不会不能不懂】夏日开车注意事项
  • CANN赋能AIGC:深度剖析与实践,解锁智能生成新范式
  • 这款 MEMS 陀螺升级了哪些地方?
  • CANN赋能AIGC:深度定制算子,释放生成式AI的极致性能潜力
  • 当跨境支付遇上PayPal:避开这些“隐形成本”,让每一分钱都走得更聪明
  • 全网热议!2026年高口碑系统门窗五金产品推荐,帮助消费者选择优质产品 - 睿易优选
  • 机器学习--分类模型、特征工程与评估指标的深度复盘
  • AI办公是否真的提效?从5个真实场景看清价值与边界