🔥 Solon AI 正式发布(支持 Java8+、RAG、MCP、模力方舟)
Solon AI 正式发布了(版号,随 Solon v3.3.1)。历时小半年。
1、简介
Solon AI 是一个 Java AI(智能体) 全场景应用开发框架,提供有丰富的接口能力。主要支持的的智能体开发场景有:Chat;RAG;MCP;AiFlow。
其中 ChatModel 是 Solon AI 的核心模型接口(其它暂略),通过方言的方式(ChatDialect)可适配各种环境(或平台)提供的大语言模型。
2、历时回顾
时间 | 回顾 | 备注 |
---|---|---|
2025-01 中 | Solon Flow 项目启动 | 将为 Solon AI 编排提供支持 |
2025-01 底 | Solon AI 项目启动 | |
2025-02 中 | 设计 Solon AI 开放接口,和适配机制 | |
2025-03 中 | Solon Expression 项目启动 | 为 Solon AI RAG 知识库,提供统一的过滤表达式支持 |
2025-04 初 | Solon AI MCP 项目启动 | |
2025-05 初 | Solon Flow Designer 项目启动 | (由 广东越洋科技有限公司 供献代码) |
2025-05 中 | Solon AI Flow 项目启动 | 使用 Solon Flow 编排 Solon AI 定制的任务组件 |
3、体验展示
- ChatModel
public void call(ChatModel chatModel) throws IOException { chatModel.prompt("hello").call(); } public void stream(ChatModel chatModel) throws IOException { chatModel.prompt("hello").stream(); } public void toolCall(ChatModel chatModel) throws IOException { chatModel.prompt("今天杭州的天气情况?") .options(o -> o.toolsAdd(new WeatherTools()) .call(); } public void session(ChatModel chatModel) throws IOException { ChatSession chatSession = new ChatSessionDefault("session-1"); chatSession.addMessage(ChatMessage.ofUser("今天杭州的天气情况?")); chatModel.prompt(chatSession) .options(o -> o.toolsAdd(new WeatherTools()) .stream(); }
- RAG
public void init(ChatModel chatModel, RepositoryStorable repository) throws IOException { PdfLoader loader = new PdfLoader(new File("lzsite.pdf")).additionalMetadata("file", "lzsite.pdf"); List<Document> documents = new SplitterPipeline() .next(new RegexTextSplitter("\n\n")) .next(new TokenSizeTextSplitter(500)) .split(loader.load()); repository.insert(documents); } public void search(ChatModel chatModel, RepositoryStorable repository) throws IOException { String query = "良渚遗址公司有哪些景点?" //知识库检索 List<Document> context = repository.search(message); //消息增强 ChatMessage message = ChatMessage.augment(query, context) chatModel.prompt(message).call(); }
- MCP-server
@McpServerEndpoint(sseEndpoint = "/mcp/sse") 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"; } @ResourceMapping(uri = "db://users/{user_id}/email", description = "根据用户ID查询邮箱") public String getEmail(@Param(description = "用户Id") String user_id) { return user_id + "@example.com"; } @PromptMapping(description = "生成关于某个主题的提问") public Collection<ChatMessage> askQuestion(@Param(description = "主题") String topic) { return Arrays.asList(ChatMessage.ofUser("请解释一下'" + topic + "'的概念?")); } }
- MCP-client
public void client(ChatModel chatModel){ McpClientProvider clientProvider = McpClientProvider.builder() .apiUrl("http://localhost:8080/mcp/sse") .build(); String rst = clientProvider.callToolAsText("getWeather", Map.of("location", "杭州")) .getContent(); chatModel.prompt("杭州今天的天气怎么样?") .options(options -> { options.toolsAdd(clientProvider)) .call(); }
- AiFlow
id: helloworld layout: - task: "@VarInput" meta: message: "你好" - task: "@ChatModel" meta: chatConfig: # "@type": "org.noear.solon.ai.chat.ChatConfig" provider: "ollama" model: "qwen2.5:1.5b" apiUrl: "http://127.0.0.1:11434/api/chat" - task: "@ConsoleOutput" # flowEngine.eval("helloworld");
4、最近更新日志
- 新增 solon-ai-flow 插件
- 新增 solon-ai-load-ddl 插件
- 添加 solon-ai-core ChatMessage:ofUser(media) 方法
- 添加 solon-ai-core ChatSession:addMessage(ChatPrompt) 方法
- 添加 solon-ai-core ChatSession:addMessage(Collection) 方法
- 添加 solon-ai-core RerankingConfig,RerankingModel toString 方法
- 添加 solon-ai-core 模型的网络代理支持(支持简单配置,和复杂构建)
- 添加 solon-ai-mcp 客户端的网络代理简单配置支持
- 添加 solon-ai-mcp messageEndpoint 端点配置支持(应对特殊需求,一般自动更好)
- 添加 solon-ai-mcp ToolMapping,ResourceMapping 注解方法对 Produces 注解的支持(用它可指定结果转换处理)
- 添加 solon-ai-mcp ToolCallResultConverter:matched 方法
- 添加 solon-ai-mcp 资源模板的响应适配
- 添加 solon-ai-mcp McpClientProvider:getResourceTemplates 方法
- 添加 solon-ai-mcp 检查原语是否存在的方法(hasTool, hasPrompt, hasResource)
- 添加 solon-ai-mcp 提示语支持 UserMessage 拆解成多条 mcp 内容(如果,同时有媒体和文本的话)
- 优化 solon-ai-core tool 空参数时的不同大模型兼容性
- 优化 solon-ai-core ChatSession 的作用,为限数提供支持
- 优化 solon-ai-core MethodFunctionTool 移除对 Mapping 注解的支持(语意更清楚,之前 MethodToolProvider 已经移除,这个落了)
- 优化 solon-ai-core EmbeddingRequest,ImageRequest,RerankingRequest 当 resp.getError() 非 null 时,直接出抛异常
- 优化 solon-ai-mcp 取消 MethodFunctionResource 对反回类型的限制(增加了 resultConverter 转换处理)
- 优化 solon-ai-mcp McpServerEndpointProvider 支持零添加原语,postStart 后,可添加原语
- 修复 solon-ai ChatRequestDefault:stream 请求 r1 时,可能会产生两次 tink 消息发射

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
「AI 时代的 OS」应该是什么样的?
当大家都忙着将“AI 助手”塞进操作系统侧边栏时,一场更深刻的变革正在底层发生——AI 需要的不是功能插件,而是一套重构的人机交互范式。 FydeOS 创始人兼 CEO唐文松认为,未来的 AI 体验,或许更趋向于演化成一个全新的、与用户交互深度融合的智能环境,而浏览器正凭借其开放的 Web 生态和技术栈,成为构建这一环境的核心底座。Web 技术的开放性、跨平台性及其全球公认的标准地位,使得浏览器作为其核心载体,天然适合承载这种新兴 AI 交互范式,并真正成为一个智能化的操作平台。 FydeOS 作为一款底层携带 Linux 内核,用户态绝大部分基于 Chromium 浏览器技术实现的桌面操作系统产品,也正在探索面向 AI 时代的操作系统升级之路。 透过 FydeOS 的实践案例,我们可以看到,当行业聚焦于AI功能的形式化嵌入时,这支团队正通过Chromium技术栈的底层整合能力,探索操作系统与AI的深度耦合路径。开源中国采访了唐文松,请他聊聊 FydeOS 的技术特性以及 AI 方向上的探索。 本周六,唐文松也将出席上海站源创会活动,发表《Journey to native AI OS...
- 下一篇
ng-zorro-antd 19.3.0 发布,基于 Angular 的 UI 组件
ng-zorro-antd 是 Ant Design 的 Angular 实现,主要用于研发企业级中后台产品。全部代码开源并遵循 MIT 协议,任何企业、组织及个人均可免费使用。 ng-zorro-antd 19.3.0 正式发布,更新内容如下: Features avatar:支持通过 ng-content 自定义图标 (#9090) (89d0767) input-number:新增 Output 属性nzBlur和nzFocus(#9098) (1b1a013) tabs:附加内容支持 start 和 end 两种位置 (#9097) (2500821) transfer:支持键入Shift后多选 (#9092) (b78b99f) Bug Fixes i18n:更新es_ES国际化文案 (#9127) (0aadfdf) segmented:修复初始化时发射不必要的值更新事件 (#9125) (fb0635b) tabs:修复首次加载页面时nzLinkRouter不生效的问题 (#9118) (0f7f94d) Performance Improvements transfer...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS8编译安装MySQL8.0.19
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS6,7,8上安装Nginx,支持https2.0的开启