You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
classToolProviderLoader {
// load all ToolProvider implsList<ToolProvider> tools = load(ToolProvider.class)
// register impl into Spring AI function contextfunctionCallbackContext.register();
}
Spring AI Function
先来看 Spring AI Function Calling 是怎么定义的。
设计方案
方案一
不做额外的抽象,用户使用标准的 Spring AI 使用方式定义 Function,以 spring-starter 或类似的方式来透出插件定义。
比如我们可能会有:
baidu-search-plugin-starter
一个示例插件定义如下
用户使用方式
方案二
定义额外的 SPI 接口,开发者遵循SPI接口扩展即可,扩展者无需做Spring等相关配置。
先看看用户怎么使用插件
配置以上实现到标准的 java SPI services
插件机制具体设计方案(框架内核实现)
SPI 定义
SPI 实现加载与注册
部分插件实现可做内部抽象
方案其他待考虑事项
常见插件分类
从开发者角度来讲,插件和工具主要包括以下几类:
The text was updated successfully, but these errors were encountered: