Solon v3.1.0

solon-ai

</> markdown
<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