news 2026/4/16 7:39:26

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
(让 Java IA MCP 更简单 )Solon AI v3.7.2 发布

olon 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

技术预览

构建聊天模型(统一方式,支持不同的模型构建)

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();

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/11 4:53:32

FastAPI 流式响应中,如何优雅处理客户端断连后的数据库操作?

问题出现过程1. 客户端发起流式对话请求我们从一个典型的流式对话接口开始。我们使用依赖注入来获取一个 SQLAlchemy 的 AsyncSession&#xff0c;在对话开始时创建消息&#xff0c;在对话结束后更新 AI 的回答。流式对话原始代码&#xff08;伪代码&#xff09;2. 客户端取消对…

作者头像 李华
网站建设 2026/4/5 11:03:34

【elementUI】form表单rules没生效

关键原则是&#xff1a; 中的 prop 值必须与验证规则对象中的键名完全一致。对于嵌套属性如 info.modelId&#xff0c;需要在两个地方都指定完整的路径。<template><el-form :model"editForm" ref"editRef" :rules"editFormRules">&…

作者头像 李华
网站建设 2026/4/12 14:26:09

天津到潍坊危险品物流运输公司 | 天津危化品专线直达潍坊 | 危险品仓储运输一体化

全链条服务覆盖天津至潍坊的危化品运输通道已形成成熟服务体系&#xff0c;覆盖全国34个省级行政区域&#xff0c;重点辐射京津冀、长三角及珠三角经济带。该线路支持医疗废弃物、腐蚀性化学品等9大类危险品运输&#xff0c;配套智能仓储系统实现货物分类存储与全流程溯源管理。…

作者头像 李华
网站建设 2026/4/12 23:08:22

学GIS开发,都应该了解的顺序!

01 学习人群一般来说&#xff0c;学习WebGIS开发的人员有两类。其中较为庞大的群体是3S&#xff08;GIS、RS、GNSS&#xff09;及相关专业的学生&#xff1b;另一类是计算机专业的学生2024年陆续也有一些其他专业的人士也对进入WebGIS开发行业感兴趣&#xff0c;这里不多赘述。…

作者头像 李华
网站建设 2026/4/15 17:01:31

docker网络总结

、 Docker 网络核心概念在 Docker 中&#xff0c;网络的核心目标是让容器之间、容器与外部世界&#xff08;包括宿主机和其他机器&#xff09;能够进行通信。Docker 采用了一种可插拔的驱动架构&#xff0c;默认提供了几种网络驱动程序&#xff08;Driver&#xff09;&#xff…

作者头像 李华