(让 Java IA & MCP 更简单 )Solon AI v3.7.2 发布

Solon AI & MCP(支持 LTS)

Solon AI & MCP ,是 Solon 官方推出的 Java 智能体应用开发框架。旨在为 Java 开发者提供统一的接口抽象层,简化与 OpenAI、DeepSeek、QWen 等主流 AI 模型的集成流程,以及简化 Mcp 的开发体验。同时支持 Java 8 到 Java 25。

主要特点:

  • 一套接口支持不同提供者、不同大模型调用(通过方言适配)
  • 支持聊天模型(ChatModel)
    • 支持 Prompt 和 PromptTemplate;支持会话记忆(ChatSession);支持 Function Call(或 Tool Call)
    • 支持同步接口(call)与流式接口(stream);支持多态模型等
  • 支持生成模型(GenerateModel)
    • 支持生成文案、图像、声音、视频
  • 支持 RAG
    • 文档加载、分割(excel, html, markdown, pdf, ppt, word...)
    • 矢量知识库(chroma、dashvector、elasticsearch、milvus、opensearch、qdrant、redis、tcvectordb...)
    • 嵌入模型(EmbeddingModel) 、排序模型(RankingModel)
  • 支持 MCP(McpServer、McpClient、McpProxy),支持 MCP_2025-03-26 版本协议
    • 支持 stdio、sse、streamable 传输方式
  • 支持 AI-Flow
    • 支持包容、排它、并行、循环等网关
  • 支持 Spring、jFinal、Vert.x 等 Solon 以外的框架
  • 等......更多内容,参考官网介绍

v3.7.2 更新

  • 引入 snack4-jsonschema 优化 ToolSchemaUtil
  • 添加 solon-ai-core AiMedia:metas 方法
  • 添加 solon-ai-core GenerateModel defaultOptions 配置支持
  • 添加 solon-ai-core ToolSchemaUtil:buildInputParams 方法,支持 @Body 注解
  • 添加 solon-ai-flow GenerateModelCom 组件
  • 修复 solon-ai bean 有其它框架代理后,不能识别注解的问题
  • 修复 solon-ai ToolSchemaUtil 部分泛型识别失败的问题
  • 修复 solon-ai-flow ChatModelCom 加载 chatConfig 配置会出错的问题
  • 修复 solon-ai-mcp/mcp-sdk listTools 的 nextCursor 为空时,不能正常获取问题
  • solon 升为 3.7.2

v3.6.5 更新(LTS 维护中)

  • 修复 solon-ai-mcp/mcp-sdk listTools 的 nextCursor 为空时,不能正常获取问题
  • solon 升为 3.6.5

v3.5.9 更新(LTS 维护中)

  • 修复 solon-ai-mcp/mcp-sdk listTools 的 nextCursor 为空时,不能正常获取问题
  • solon 升为 3.5.9

技术预览

  • 构建聊天模型(统一方式,支持不同的模型构建)
java 复制代码
ChatModel chatModel = ChatModel.of(apiUrl).provider(provider).model(model);

//同步请求
chatModel.prompt("hello").call();

//流式请求
chatModel.prompt("hello").stream();
  • 使用 MCP
java 复制代码
//MCP 服务端
@McpServerEndpoint(channel = McpChannel.STREAMABLE, mcpEndpoint = "/mcp")
public class McpServerTool {
    //工具
    @ToolMapping(description = "查询天气预报")
    public String getWeather(@Param(description = "城市位置") String location) {
        return "晴,14度";
    }
    
    //资源
    @ResourceMapping(uri = "config://app-version", description = "获取应用版本号", mimeType = "text/config")
    public String getAppVersion() {
        return "v3.2.0";
    }
    
    //提示语
    @PromptMapping(description = "生成关于某个主题的提问")
    public Collection<ChatMessage> askQuestion(@Param(description = "主题") String topic) {
        return Arrays.asList(
                ChatMessage.ofUser("请解释一下'" + topic + "'的概念?")
        );
    }
}


//MCP 客户端
McpClientProvider clientProvider = McpClientProvider.builder()
                .channel(McpChannel.STREAMABLE)
                .apiUrl("http://localhost:8080/mcp")
                .build();

//客户端与聊天模型集成

//::构建时集成(全局)
ChatModel chatModel = ChatModel.of(apiUrl).provider(provider) .model(model)
                .defaultToolsAdd(clientProvider); 
                
//::聊天时集成(单次)
chatModel.prompt("hello").options(o -> o.toolsAdd(clientProvider)).call();

项目仓库地址?

官网?

相关推荐
全栈弄潮儿5 小时前
《小项目实战 1:用 AI 从零搭一个 API 服务》
aigc·openai·ai编程
白萝卜弟弟7 小时前
【大模型Qwen3.8 27B】llama.cpp 本地大模型部署与使用
ai·大模型·agent·llama·qwen3.8
李航19839 小时前
给自己的图形引擎,配上了AI渲染,做设计真是太方便了
人工智能·python·计算机视觉·ai·ai编程
玫瑰互动GEO10 小时前
开发者学GEO优化:从算法基础到CoT推理链
大数据·人工智能·ai·geo·ai搜索·geo优化
voipmaker10 小时前
AI 赋能安防系统演进:从硬件单品到场景化融合调度架构
人工智能·ai·架构
玫瑰互动GEO11 小时前
GEM优化的三层量化维度:答案层·交互层·交易意图层
ai·ai助手·gem·gem优化·生成式引擎营销
运维开发王义杰12 小时前
大模型 API 配额防透支:Redis Lua 原子预扣与多租户治理实战
ai
9i编程13 小时前
15. 把 DDD 开源脚手架化为自己的:第四次联调(一)——刚加载瘦身的 CLAUDE.md,问题就排着队来
人工智能·openai·ai编程
XLYcmy13 小时前
AI 时代,MOM(制造运营管理系统)该如何演进? 中
ai·llm·agent·工作流·rag·harness·工业系统
cczixun13 小时前
智能体怎么接进业务系统?2026 MCP 工具调用实战:从对话到数据库
落地·智能体·mcp