Java AI application development framework supporting LLM-tool/skill, RAG, MCP, Agent-ReAct, Team-Agent, compatible with Java 8-25, embeddable in SpringBoot, jFinal, Vert.x, Quarkus.
Overview#
Solon-AI is a Java AI application development framework under Apache-2.0 license, 100% Java, compatible with Java 8 to Java 25.
Core Modules#
- solon-ai-core: Core module
- solon-ai-agent: Agent module (SimpleAgent, ReActAgent, TeamAgent)
- solon-ai-mcp: MCP protocol module
- solon-ai-acp: ACP protocol module
- solon-ai-a2a: A2A module
- solon-ai-rag-loaders: RAG document loaders
- solon-ai-rag-repositorys: RAG repositories
- solon-ai-skills: Skills module
- solon-ai-flow: AI workflow orchestration
- solon-ai-llm-dialects: LLM dialect adapters
Core Capabilities#
ChatModel: Generic LLM interface with sync and reactive calls.
Multi-model Dialects: Unified interface via dialect adaptation, supporting OpenAI, Gemini, Claude, Ollama, DeepSeek, Dashscope, etc.
Skills: Skill system with dynamic instruction injection and tool integration (Tool, Skill, ChatSession).
RAG: Retrieval-augmented generation with full support for document loading, splitting, embedding, and reranking.
MCP: Deep integration with Model Context Protocol (MCP_2025_06_18), supporting server/client configuration.
Agent: Agent system supporting ReAct reasoning and multi-agent teamwork.
AI Flow: Workflow orchestration with YAML-based low-code configuration and graph-driven orchestration.
Multimodal: Support for image, audio, and video understanding.
Framework Integration#
Seamlessly integrates with Solon ecosystem and can be embedded in SpringBoot, jFinal, Vert.x, Quarkus.
Quick Start#
Requirements: Java 8+, local LLM service (e.g., Ollama).
Maven Dependency:
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon-ai</artifactId>
</dependency>
Configuration (app.yml):
solon.ai.chat:
demo:
apiUrl: "http://127.0.0.1:11434/api/chat"
provider: "ollama"
model: "llama3.2"
Code Example:
ChatModel chatModel = ChatModel.of(config).build();
ChatResponse resp = chatModel.prompt("hello").call();
Use Cases#
Autonomous agents, intelligent assistants with RAG knowledge bases, multi-agent orchestration, business-driven controlled workflows, intelligent document processing and ETL, real-time data insights, automated testing, low-code AI workflow platforms.