freshcrate
Home > MCP Servers > solon-ai

solon-ai

Java AI application development framework (supports LLM-tool,skill; RAG; MCP; Agent-ReAct,Team-Agent). Compatible with java8 ~ java25. It can also be embedded in SpringBoot, jFinal, Vert.x, Quarkus, a

Description

Java AI application development framework (supports LLM-tool,skill; RAG; MCP; Agent-ReAct,Team-Agent). Compatible with java8 ~ java25. It can also be embedded in SpringBoot, jFinal, Vert.x, Quarkus, and other frameworks.

README


Solon-AI

Java LLM(tool, skill) & RAG & MCP & Agent(ReAct, Team) Application development framework
Restraint, efficiency and openness
It is the same type of development framework as LangChain, LangGraph and LlamaIndex

https://solon.noear.org/article/learn-solon-ai

Ask DeepWiki Maven Apache 2 jdk-8 jdk-11 jdk-17 jdk-21 jdk-25
gitee star github star gitcode star

Language: English | 中文

简介

Solon AI is one of the core subprojects of the Solon project. It is a full-scenario Java AI development framework, which aims to deeply integrate LLM large model, RAG knowledge base, MCP protocol and Agent collaboration choreography.

  • Full use case support: fits perfectly into the Solon ecosystem and can be seamlessly integrated into frameworks like SpringBoot, Vert.X, Quarkus, etc.
  • Multi-model dialects: Adapt model differences by dialect using ChatModel's unified interface (OpenAI, Gemini, Claude, Ollama, DeepSeek, Dashscope, etc.).
  • Graph-driven orchestration: supports the transformation of Agent reasoning into observable and governable computation flow graphs.

Examples of embeddings (including third-party frameworks) for solon-ai:

What types of applications can be developed?

  • General-purpose Autonomous Agents (e.g., Manus, OpenOperator)
  • Intelligent Assistants & RAG Knowledge Bases (e.g., Dify, Coze)
  • Multi-Agent Collaborative Orchestration (e.g., AutoGPT, MetaGPT)
  • Business-Driven Controlled Workflows (e.g., AI-enhanced DingTalk/Lark approvals, SAP Intelligent Modules)
  • Intelligent Document Processing & ETL (e.g., Instabase, Unstructured.io)
  • Real-time Data Insights & Dashboards (e.g., Text-to-SQL applications)
  • Automated Testing & Quality Assurance (e.g., GitHub Copilot Workspace)
  • Low-Code/Visual AI Workflow Platforms (e.g., LangFlow, Flowise)
  • And more...

Example Agent synthesis project (can be used directly for production or customization)

Core Module Experience

  • ChatModel(General Purpose LLM call interface)

Support for synchronous and Reactive calls, built-in dialect adaptation, Tool, Skill, ChatSession, etc.

ChatModel chatModel = ChatModel.of("http://127.0.0.1:11434/api/chat")
                .provider("ollama") //Need to specify vendor, used to identify interface style (also called dialect)
                .model("qwen2.5:1.5b")
                .defaultSkillAdd(new ToolGatewaySkill())
                .build();

// Synchronize the call and print the response message
AssistantMessage result = ChatchatModel.prompt("The weather in Hangzhou today?")
         .options(op->op.toolAdd(new WeatherTools())) //Adding tools
         .call()
         .getMessage();
System.out.println(result);

// Stream call
chatModel.prompt("hello").stream(); //Publisher<ChatResponse>
  • Skills(Solon AI Skills)
Skill skill = new SkillDesc("order_expert")
        .description("Order Assistant")
        // Dynamic admission: Activated only when "order" is mentioned
        .isSupported(prompt -> prompt.getUserMessageContent().contains("order"))
        // Dynamic instructions: Inject different Sops depending on whether the user is a VIP or not
        .instruction(prompt -> {
            if ("VIP".equals(prompt.getMeta("user_level"))) {
                return "This is a VIP customer, please call fast_track_tool first.";
            }
            return "Process the order inquiry according to the normal process.";
        })
        .toolAdd(new OrderTools());

chatModel.prompt("Where is my order from yesterday?")
         .options(o->o.skillAdd(skill))
         .call();
  • RAG(知识库)

It provides full-link support from DocumentLoader, DocumentSplitter, EmbeddingModel, and RerankingModel.

//Building a Knowledge Warehouse
EmbeddingModel embeddingModel = EmbeddingModel.of(apiUrl).apiKey(apiKey).provider(provider).model(model).batchSize(10).build();
RerankingModel rerankingModel = RerankingModel.of(apiUrl).apiKey(apiKey).provider(provider).model(model).build();
InMemoryRepository repository = new InMemoryRepository(TestUtils.getEmbeddingModel()); //3.初始化知识库

repository.insert(new PdfLoader(pdfUri).load());

//retrieval
List<Document> docs = repository.search(query);

//You can rearrange it if you want
docs = rerankingModel.rerank(query, docs);

//Cue enhancement is
ChatMessage message = ChatMessage.ofUserAugment(query, docs);

//Calling the llm
chatModel.prompt(message) 
    .call();
  • MCP (Model Context Protocol)

Deep integration with MCP protocol (MCP_2025_06_18), supporting cross-platform tool, resource, and prompt sharing.

//server
@McpServerEndpoint(channel = McpChannel.STREAMABLE, mcpEndpoint = "/mcp") 
public class MyMcpServer {
    @ToolMapping(description = "Checking the weather")
    public String getWeather(@Param(description = "city") String location) {
        return "It's sunny, 25 degrees";
    }
}

//client
McpClientProvider clientProvider = McpClientProvider.builder()
        .channel(McpChannel.STREAMABLE)
        .url("http://localhost:8080/mcp")
        .build();
  • Agent (An Agent Experience with Computational Flow Graphs)

The Solon AI Agent transforms reasoning logic into graph-driven collaboration flows, enabling ReAct introspective reasoning and multi-agent Team collaboration.

//Reflective intelligent agent:
ReActAgent agent = ReActAgent.of(chatModel) // 或者用 SimpleAgent.of(chatModel)
    .name("weather_expert")
    .description("Check the weather and provide advice")
    .defaultToolAdd(weatherTool) // Inject MCP or local tools
    .build();

agent.prompt("What to wear in Beijing today?").call(); // Autocomplete: Think -> Call tool -> Observe -> Summarize

// Constructing a team agent: Automatically arranging member roles through protocols
TeamAgent team = TeamAgent.of(chatModel)
    .name("marketing_team")
    .protocol(TeamProtocols.HIERARCHICAL) // Hierarchical collaboration (6 preset protocols)
    .agentAdd(copywriterAgent) // Copywriter expert
    .agentAdd(illustratorAgent) // Illustrator expert
    .build();

team.prompt("Plan a promotion scheme for deep-sea mineral water").call(); // Supervisor automatically decomposes tasks and assigns them to corresponding experts    .defaultToolAdd(weatherTool) // Inject MCP or local tools
  • Ai Flow(Process orchestration experience)

The low-code flow application of Dify is simulated, and the links such as RAG, hint word enhancement and model call are YAML arranged.

id: demo1
layout:
  - type: "start"
  - task: "@VarInput"
    meta:
      message: "Solon 是谁开发的?"
  - task: "@EmbeddingModel"
    meta:
      embeddingConfig: # "@type": "org.noear.solon.ai.embedding.EmbeddingConfig"
        provider: "ollama"
        model: "bge-m3"
        apiUrl: "http://127.0.0.1:11434/api/embed"
  - task: "@InMemoryRepository"
    meta:
      documentSources:
        - "https://solon.noear.org/article/about?format=md"
      splitPipeline:
        - "org.noear.solon.ai.rag.splitter.RegexTextSplitter"
        - "org.noear.solon.ai.rag.splitter.TokenSizeTextSplitter"
  - task: "@ChatModel"
    meta:
      systemPrompt: "你是个知识库"
      stream: false
      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 flowEngine = FlowEngine.newInstance();
# ...
# flowEngine.eval("demo1");

Solon Project code repository

Code repository Description
/opensolon/solon Solon ,Main code repository
/opensolon/solon-examples Solon ,Official website supporting sample code repository
/opensolon/solon-ai Solon Ai ,Code repository
/opensolon/solon-flow Solon Flow ,Code repository
/opensolon/solon-expression Solon Expression ,Code repository
/opensolon/solon-cloud Solon Cloud ,Code repository
/opensolon/solon-admin Solon Admin ,Code repository
/opensolon/solon-integration Solon Integration ,Code repository
/opensolon/solon-java17 Solon Java17 ,Code repository(base java17)
/opensolon/solon-java25 Solon Java25 ,Code repository(base java25)
/opensolon/soloncode SolonCode(Java8 impl version of "Claude Code") ,Code repository
/opensolon/solonclaw SolonClaw(Java8 impl version of "OpenClaw") ,Code repository
/opensolon/solon-maven-plugin Solon Maven ,Plugin code repository
/opensolon/solon-gradle-plugin Solon Gradle ,Plugin code repository
/opensolon/solon-idea-plugin Solon Idea ,Plugin code repository
/opensolon/solon-vscode-plugin Solon VsCode ,Plugin code repository

Release History

VersionChangesUrgencyDate
v3.10.2 * 新增 solon-ai-repo-dashvector-official 插件 * 添加 solon-ai-core ChatModel.getModel 方法 * 添加 solon-ai-core ChatModel.getProvider 方法 * 添加 solon-ai-core ChatOptions.name 方便 agent 传递 name(打印日志) * 添加 solon-ai-core 基于语义的分割器 SemanticSplitter * 添加 solon-ai-core AiConfig.name, description 配置属性(用于管理显示) * 添加 solon-ai-agent AgentRequest.callAsync 异步调用方法 * 添加 solon-ai-agent AgentResponse.getTrace 方法 * 添加 solon-ai-agent SummarizationInterceptor.copyWith 方法(方便复制实例并调整限制) * 添加 solon-ai-harness HarnessPropHigh4/14/2026
v3.10.1* 新增 acp-sdk 模块(从 solon-ai-acp 分离出来,方便独立升级) * 新增 solon-ai-harness 智能体马具框架 * 添加 solon-ai-core ChatModel.of().systemPrompt 方法 * 添加 solon-ai-core 工具执行时的参数注解支持 * 添加 solon-ai-core RepositoryTool 工具,为实现 Agent RAG 提供支持 * 添加 solon-ai-core AbsToolProvider 类(取代之前添加 toolObj 的方式) * 优化 solon-ai-skill-cli ExpertSkill 原来的二档展示升为三级 * 优化 solon-ai-skill-restapi 原来的三档展示升为四级,并添加分组(可增强注意力) * 优化 solon-ai-skill-toolgateway 原来的三档展示升为四级,并添加分组(可增强注意力) * 优化 solon-ai-agent ReActRequest, TeamRequest 支持叠加 options * High4/3/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

npcpyThe python library for research and development in NLP, multimodal LLMs, Agents, ML, Knowledge Graphs, and more.v1.4.21
studioOpen-source control plane for your AI agents. Connect tools, hire agents, track every token and dollarv2.268.0
UltraRAGA Low-Code MCP Framework for Building Complex and Innovative RAG Pipelinesv0.3.0.2
unity-mcpA Unity MCP server that allows MCP clients like Claude Desktop or Cursor to perform Unity Editor actions.v2.6.9
mcp-mifosxModel Context Protocol - MCP for Mifos Xmain@2026-04-21