Solon AI
Solon AI ,是 Solon 官方推出的 Java AI 应用开发框架。旨在为 Java 开发者提供统一的接口抽象层,简化与 OpenAI、DeepSeek、QWen 等主流 AI 模型的集成流程,以及简化 Mcp 的开发体验。特点:
- 一套接口支持不同提供者、不同大模型调用(通过方言适配)
- 支持 Prompt 和 PromptTemplate
- 支持会话记忆(ChatSession)
- 支持 Function Call
- 支持 RAG(Document loader, Document splitter, Document repository)
- 支持 MCP(McpServer、McpClient、McpProxy)
- 支持 AI-Flow(与 Solon Flow 配合)
- 支持同步接口(call)与流式接口(stream)
- 支持聊天生成模型(ChatModel) 、图片生成模型(ImageModel) 、多态模型等
- 支持嵌入模型(EmbeddingModel) 、排序模型(RankingModel)
- 支持 Java 8 到 Java 24
- 支持 Spring、jFinal、Vert.x 等 Solon 以外的框架
- 等......更多内容,参考官网介绍
最近更新了什么?
- 新增 solon-ai-flow 插件
- 新增 solon-ai-load-ddl 插件
- 优化 solon-ai-core ToolSchemaUtil 对 Map 的处理(有些框架,太细不支持)
- 优化 solon-ai-core ToolSchemaUtil 对 Collection 的处理(有些框架,太细不支持)
- 优化 solon-ai-mcp MethodPromptProvider,MethodResourceProvider 改用 clz 构建(兼容外部代理情况)
- 优化 solon-ai-core MethodToolProvider 改用 clz 构建(兼容外部代理情况)
- 优化 solon-ai-core ChatConfig.toString (增加 proxy)
- 优化 solon-ai-core Tool:outputSchema 改为必出
- 优化 solon-ai-core 添加 ToolCallException 异常类型,用于 tool call 异常传递(之前为 ChatException)
- 优化 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 OpenaiChatDialect 方言,tool 消息也附带所有的 tools 元信息(之前被过滤了)
- 优化 solon-ai-mcp McpServerContext 同步连接时的请求参数,方便在 Tool 方法里获取
- 优化 solon-ai-mcp McpProviders 在 sse 时,支持 env 也作为 header 处理(有些服务方的配置,是用 env 的)
- 优化 solon-ai-mcp 取消 RefererFunctionTool(由 FunctionToolDesc 替代)
- 优化 solon-ai-mcp 基于 McpServerParameters 的构建能力
- 添加 solon-ai-core RepositoryStorable:insert(Doc...) 方法
- 添加 solon-ai-core ChatInterceptor 聊天拦截机制
- 添加 solon-ai-core ChatMessage:ofUserAugment 替代 augment(后者标为弃用)
- 添加 solon-ai-core ProxyDesc 的 Serializable 接口实现
- 添加 solon-ai-core ChatOptions:response_format 方法
- 添加 solon-ai-core AssistantMessage:getSearchResultsRaw 方法
- 添加 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 McpServerEndpoint:enableOutputSchema 支持(默认为 false)
- 添加 solon-ai-mcp McpServerEndpointProvider:getMessageEndpoint 方法
- 添加 solon-ai-mcp McpServerParameters http 参数支持
- 添加 solon-ai-mcp McpClientProvider 本地缓存支持(默认 30秒)
- 添加 solon-ai-mcp 原语处理异常日志
- 添加 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 ToolCallResultConverter 接口定义(增加返回类型参数)
- 调整 solon-ai-core 移除 QueryCondition:doFilter 方法(避免误解)
- 调整 solon-ai-mcp tool,resource 结果默认处理改为 ToolCallResultJsonConverter
- 调整 solon-ai-repo-elasticsearch 搜索类型,默认改为相似搜索(之前为精准,需要脚本权限)
- mcp 优化 WebRxSseClientTransport 连接等待处理(异常时立即结束)
- elasticsearch-rest-high-level-client 升为 7.17.28
- milvus-sdk-java 升为 2.5.10
- vectordatabase-sdk-java 升为 2.4.5
项目仓库地址?
- 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