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

让 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) 增强跨协议版本兼容性

技术预览

  • 构建聊天模型(统一方式,支持不同的模型构建)
ChatModel chatModel = ChatModel.of(apiUrl).provider(provider).model(model); //同步请求 chatModel.prompt("hello").call(); //流式请求 chatModel.prompt("hello").stream(); 
  • 使用 MCP
//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(); 

项目仓库地址?

  • gitee:https://gitee.com/opensolon/solon-ai
  • gitcode: https://gitcode.com/opensolon/solon-ai
  • github:https://github.com/opensolon/solon-ai

官网?

  • https://solon.noear.org/article/learn-solon-ai
  • 本文作者:WAP站长网
  • 本文链接: https://wapzz.net/post-27698.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
本站部分内容来源于网络转载,仅供学习交流使用。如涉及版权问题,请及时联系我们,我们将第一时间处理。
文章很赞!支持一下吧 还没有人为TA充电
为TA充电
还没有人为TA充电
0
0
  • 支付宝打赏
    支付宝扫一扫
  • 微信打赏
    微信扫一扫
感谢支持
文章很赞!支持一下吧
关于作者
2.8W+
9
1
2
WAP站长官方

零跑霸榜销冠5个月,“半价理想”能支棱多久?

上一篇

500亿之上持续增长:淘天与中国宠物经济不断探索新边界

下一篇
评论区
内容为空

这一切,似未曾拥有

  • 复制图片
按住ctrl可打开默认菜单