让 Java AI 再伟大些!Solon AI & MCP v3.5.1 发布

Solon AI & MCP

是 Solon 官方推出的 Java 智能体应用开发框架。旨在为 Java 开发者提供统一的接口抽象层,简化与 OpenAI、DeepSeek、QWen 等主流 AI 模型的集成流程,简化 RAG 的开发体验,简化 Mcp 的开发体验,简化 AI-Flow 的开发体验,简化 A2A 的开发体验。主要特点有:

  • 同时支持 Java 8 到 Java 24
  • 一套接口支持不同提供者、不同大模型调用(通过方言适配)
  • 支持图片生成模型(ImageModel)
  • 支持聊天生成模型(ChatModel)
  • 支持嵌入模型(EmbeddingModel)
  • 支持排序模型(RankingModel)
  • 支持 RAG 应用开发
  • 支持 MCP 协议应用开发,支持 MCP_2025-03-26 版本协议(支持 mcp streamable)
  • 支持 AI-Flow 应用开发
  • 支持 A2A 协议预览(可简化混合智能体应用的开发)
  • 支持 jFinal、Spring、Vert.x 等 Solon 之外的框架
  • 等......更多内容,参考官网介绍

最近更新了什么?

  • 新增 solon-ai-a2a 插件
  • 新增 solon-ai-core GenerateModel 接口,可替代 ImageModel
  • 新增 solon-ai-core ChatModel 增加多媒体内容输出(增强感知型模型的兼容,比如输出图片或视频)
  • 新增 solon-ai-core ImageModel 增加结构体提示语输入(比如图片编辑模型)
  • 添加 solon-ai-core AbstractChatDialect 对多媒体内容输出的支持
  • 添加 solon-ai-core AssistantMessage:contentRaw 原生内容(可能是 String、Map、List、null)
  • 添加 solon-ai-dialect-dashscope 通过接口地址识别方言
  • 添加 solon-ai-mcp McpServerEndpointProvider:Builder 添加 context-path 配置
  • 优化 solon-ai-mcp McpClientProvider 配置向 McpServers json 格式上靠
  • 修复 solon-ai-core think-> tool -> think 时,工具调用的内容无法加入到对话的问题
  • 修复 solon-ai-mcp 服务端传输层的会话长连会超时的问题
  • 修复 solon-ai-mcp 客户端提供者心跳失效的问题
  • 修复 solon-ai-mcp SSE 传输时 message 端点未附加 context-path 的问题
  • mcp McpSchema:*Capabilities 添加 @JsonIgnoreProperties(ignoreUnknown = true) 增强跨协议版本兼容性

技术预览

  • 构建聊天模型(统一方式,支持不同的模型构建)
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();

项目仓库地址?

官网?

相关推荐
FYKJ_201031 分钟前
springboot助农产品销售商城05829-计算机课程设计、毕业设计
java·spring boot·python·mysql·spark·django
Yunovian35 分钟前
AI时代,针对模型与应用,浅谈一下各编程语言
开发语言·c++·人工智能·python·ai·rust·ai编程
林伽一1 小时前
每任务成本成为模型选型新标尺,AI基础设施走向“可验证“ | 林伽一 · AI科技日报 | 2026年09月24日
人工智能·科技·ai
cpolar技术支持1 小时前
服务器上的 Nginx 只想改配置却不敢动?把 Nginx-UI 跑起来,用 MCP 让 AI 助手帮你安全改配置,再用 cpolar 把面板短时开给自己
nginx·ai·cpolar·mcp·nginx-ui
user_admin_god3 小时前
第 10 篇:拼上下文与生成——预算、边界与防幻觉
java·人工智能·spring boot·语言模型
用户3126874877203 小时前
GC 算法与垃圾收集器演进:从 Serial 到 ZGC
java
天天被压力3 小时前
【别再到处找免费股票数据API了:官方204个接口,32篇一次讲透 #02】涨停跌停与特色股池:5类股池接口一次拉全
java·人工智能·python
VIP_CQCRE3 小时前
用 Ace Data Cloud 快速接入 GLM Chat Completion API:OpenAI 兼容格式,一套接口调用主流大模型
ai·大模型·api·glm·acedatacloud
斯维赤4 小时前
从 @Tool 到 Agent 流水线:LangChain4j 进阶教学,一个库打全套
java·后端
SimonKing4 小时前
SSE项目`nexus-sse`持续优化,不一样的视觉效果
java·后端·程序员