北京网站建设 公司东莞市seo网络推广报价
北京网站建设 公司,东莞市seo网络推广报价,手机制作游戏软件,登录注册Spring AI Alibaba 核心组件
Tools(工具)
工具创建
创建工具需要实现 BiFunctionString, ToolContext, String 接口方法。
接口方法说明
接口中包含两个核心方法: apply方法(核心方法) 参数:String s - 通常是用户输入的参数 参数:ToolContext toolContext…Spring AI Alibaba 核心组件Tools(工具)工具创建创建工具需要实现BiFunctionString, ToolContext, String接口方法。接口方法说明接口中包含两个核心方法:apply方法(核心方法)参数:String s- 通常是用户输入的参数参数:ToolContext toolContext- 工具上下文,包含调用时的元数据、配置等返回值:String- 处理结果andThen方法(链式调用)用于链式调用,可以继续添加后续处理工具通常是默认实现工具调用示例// 基本工具调用ToolCallbacksearchTool=FunctionToolCallback.builder("weather",poeticWeatherTool).inputType(String.class).description("天气查询工具").build();⚠️ 注意:inputType必须要定义链式工具创建如果需要用到andThen方法,在创建工具调用时使用andThen创建链式工具:WeatherToolweatherTool=newWeatherTool();// 显式调用 andThen,传入后置处理函数BiFunctionString,ToolContext,StringpoeticWeatherTool=weatherTool.andThen(result-{// 可以在这里二次处理结果returnresult;});完整使用流程实现BiFunctionString, ToolContext, String接口创建工具类使用andThen方法进行链式处理(可选)通过FunctionToolCallback.builder()构建工具回调必须指定inputType添加描述信息便于理解和使用System Prompt(系统提示)两种用法systemPrompt使用场景:个性化、场景化适配instruction使用场景:通用角色定义优先级:instruction systemPrompt动态系统提示词动态的系统提示词是通过ModelInterceptor(模型拦截器)来实现的:可以追加到原有的提示词后面也可以覆盖原有的提示词ModelInterceptor 接口方法ModelInterceptor 包含两个核心方法:interceptModel拦截模型,实现动态系统提示词除了实现动态提示词,还可以实现其他功能例如:日志记录、权限控制等getName获取拦截器名称Agent 执行方法核心执行方法常用的两个方法:invoke和call两者都是触发 Agent 执行的方法invoke方法可以调用到 Agent 的历史记录等多种信息核心应用场景多轮对话复杂工作流工具调用状态管理RunnableConfig 配置对象RunnableConfig 是配置对象,常用方法包括:threadId设置线程IDaddMetadata添加元数据增量添加运行时上下文信息结构化输出outputType 和 outputSchema 比较属性outputTypeoutputSchema类型ClassT- Java 类String/Schema- JSON Schema 定义使用方式直接指定 POJO 类提供 JSON Schema 字符串或对象适用场景有现成 Java 类的强类型场景需要动态定义结构或无对应 Java 类底层机制框架自动生成 Schema 并绑定到类直接使用提供的 Schema 定义灵活性较低(受类结构限制)较高(可动态构建)性能较高(编译时确定结构)较低(运行时解析)outputSchema 转化⚠️ 注意:outputSchema需要通过Be