solon-ai
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon-ai</artifactId>
</dependency>
1、描述
(v3.1.0 后支持)基础扩展插件,为通用的生成式 AI 接口调用提供支持。目前适配有 openai,ollama 两套接口(可称为方言):
- 默认使用 openai 接口规范
- 当
provider=ollama
时,使用 ollama 接口规范
关于提示语:
- 可以直接用字符串
- 可以用
ChatMessage.of...()
构建。用户消息支持图片地址(或bae64格式)。 - 可以输入单条、多条。或一个列表。
关于 funciton call:
- 是否支持看提供者和模型
- 可以模型上添加全局函数,或者在发送时通过选项添加
2、学习与教程
此插件也可用于非 solon 生态(比如 springboot2, jfinal, vert.x 等)。具体开发学习,参考:《教程 / Solon AI 开发》
3、应用简单示例
配置参考(格式自由,与 ChatConfig 对应起来即可)
solon.ai.chat:
demo:
apiUrl: "http://127.0.0.1:11434/api/chat" # 使用完整地址(而不是 api_base)
provider: "ollama" # 使用 ollama 服务时,需要配置 provider
model: "llama3.2"
代码应用
@Configuration
public class App {
@Bean
public ChatModel build(@Inject("${solon.ai.chat.demo}") ChatConfig config) {
return ChatModel.of(config).build();
}
@Bean
public void test(ChatModel chatModel) throws IOException {
//一次性返回
ChatResponse resp = chatModel.prompt("hello").call();
//打印消息
System.out.println(resp.getMessage());
}
}
4、代码演示
https://gitee.com/opensolon/solon-examples/tree/dev/c.Solon-AI/demoC001-ai