Solon v3.3.0 发布:AI 能力增强与全栈优化
Solon 是一个轻量级、高性能的 Java 应用开发框架,它提供了从 Web 开发到微服务、从数据访问到云原生支持的全栈能力。最新发布的 Solon v3.3.0 版本带来了多项重要更新,特别是在 AI 能力集成方面有了显著增强,同时对框架核心和周边组件进行了全面优化。
AI 能力的三次迭代
Solon v3.3.0 对 solon-ai 模块进行了第三次预览,标志着框架在 AI 集成方面日趋成熟。这次更新带来了几个关键改进:
-
架构重构:将 solon-ai 拆分为 solon-ai-core 核心模块和 solon-ai-model-dialects 方言适配模块,这种模块化设计使得模型适配更加灵活,开发者可以根据需要选择特定的模型方言插件。
-
工具调用优化:移除了专用的 ToolParam 注解,转而使用框架通用的 Param 注解,这种统一的设计减少了学习成本,提高了 API 一致性。同时,MethodToolProvider 取消了对 Mapping 注解的支持,确保了跨生态体验的统一性。
-
模型配置增强:新增的 model.options(o->{}) 方法支持多次调用,为模型配置提供了更大的灵活性,开发者可以分阶段配置模型参数。
MCP 微控制协议的完善
solon-ai-mcp 模块迎来了第二次预览,这个微控制协议为 AI 服务间的通信提供了标准化方案:
-
资源与提示语服务:新增了 ResourceMapping 和 PromptMapping 注解,开发者可以轻松定义资源和提示语服务端点。
-
客户端增强:McpClientToolProvider 更名为 McpClientProvider 并实现了更多接口,同时增加了 httpProxy 配置支持,为复杂网络环境下的部署提供了便利。
-
服务端优化:McpServerEndpoint 现在支持 AOP 和实体参数,开发者可以像开发普通 Web 服务一样开发 AI 服务端点。
核心框架的改进
Solon 核心框架也进行了多项重要更新:
-
参数注解默认值调整:Cookie、Header、Param 注解的 required 属性默认值改为 true,这一变化使得这些注解在 MCP 场景下的复用更加自然,同时也提醒开发者更明确地处理参数缺失情况。
-
文件处理增强:Utils.getFile 方法修复了 Windows 平台下的绝对路径问题,同时 UploadedFile 新增了基于 File 的构造方法,简化了文件上传处理。
-
泛型处理修复:解决了由泛型桥接方法引起的泛型失真问题,提升了类型系统的可靠性。
数据访问与集成
在数据访问方面,v3.3.0 引入了重要改进:
-
新增 Ds 注解:为统一数据源注入做准备,这一注解将简化多数据源配置。
-
EntityConverter 接口:新增的接口可能在未来替代 Render 和 ActionExecuteHandler,为实体转换提供更统一的处理方式。
-
新增 seata-solon-plugin:为分布式事务提供了官方支持,完善了微服务场景下的数据一致性保障。
HTTP 与网络通信优化
网络通信层也有多项改进:
-
nami 增强:新增了对文件上传的支持,可以自动识别 File 或 UploadedFile 参数类型并转为 FORM_DATA 提交。同时支持了 solon Mapping 相关注解,简化了客户端开发。
-
HttpUtils 代理支持:新增了 HttpProxy 类和 proxy 方法,为需要通过代理访问外部服务的场景提供了便利。
-
空提交支持:修复了 OkHttpUtils 和 nami-channel-http 不支持 POST 空提交的问题,提升了接口兼容性。
序列化与数据格式
序列化方面的重要改进包括:
-
Fastjson2 修复:解决了全局时间格式化与个别注解格式化冲突的问题,确保了时间处理的灵活性。
-
JsonPropsUtil 优化:将 apply 方法分解为多个专用方法,使配置更加精准和高效。
总结
Solon v3.3.0 是一个功能丰富的版本,特别是在 AI 集成方面取得了显著进展。从核心框架到周边组件,从数据访问到网络通信,这次更新都带来了实质性的改进和新特性。这些变化不仅增强了框架的能力,也提高了开发者的生产力,使 Solon 成为一个更加成熟和全面的 Java 应用开发解决方案。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0191
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0114
Step-3.7-FlashStep-3.7-Flash是一个拥有 1980 亿参数的稀疏混合专家(MoE)视觉语言模型,由 1960 亿参数的语言主干网络和 18 亿参数的视觉编码器组合而成,具备原生图像理解能力。Python00
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
omega-aiOmega-AI:基于java打造的深度学习框架,帮助你快速搭建神经网络,实现模型推理与训练,引擎支持自动求导,多线程与GPU运算,GPU支持CUDA,CUDNN。Java04
llm-universe本项目是一个面向小白开发者的大模型应用开发教程,在线阅读地址:https://datawhalechina.github.io/llm-universe/Jupyter Notebook08