)
核心模块体验ChatModel通用大语言模型 LLM 调用接口支持同步、流式Reactive调用内置方言适配工具Tool技能Skill会话记忆ChatSession等能力。ChatModel chatModel ChatModel.of(http://127.0.0.1:11434/api/chat) .provider(ollama) //需要指定供应商用于识别接口风格也称为方言 .model(qwen2.5:1.5b) .defaultSkillAdd(new ToolGatewaySkill()) .build(); //同步调用并打印响应消息 AssistantMessage result ChatchatModel.prompt(今天杭州的天气情况) .options(op-op.toolAdd(new WeatherTools())) //添加工具 .call() .getMessage(); System.out.println(result); //响应式调用 chatModel.prompt(hello).stream(); //PublisherChatResponseJAVA 复制 全屏SkillsSolon AI Skills 技能Skill skill new SkillDesc(order_expert) .description(订单助手) // 动态准入只有提到“订单”时才激活 .isSupported(prompt - prompt.getUserMessageContent().contains(订单)) // 动态指令根据用户是否是 VIP 注入不同 SOP .instruction(prompt - { if (VIP.equals(prompt.getMeta(user_level))) { return 这是尊贵的 VIP 客户请优先调用 fast_track_tool。; } return 按常规流程处理订单查询。; }) .toolAdd(new OrderTools()); chatModel.prompt(我昨天的订单到哪了) .options(o-o.skillAdd(skill)) .call();RAG知识库提供从加载DocumentLoader、切分DocumentSplitter、向量化EmbeddingModel到检索重排RerankingModel的全链路支持。//构建知识库 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()); //检索 ListDocument docs repository.search(query); //如果有需要可以重排一下 docs rerankingModel.rerank(query, docs); //提示语增强是 ChatMessage message ChatMessage.ofUserAugment(query, docs); //调用大模型 chatModel.prompt(message) .call();MCP (Model Context Protocol)深度集成 MCP 协议MCP_2025_06_18支持跨平台的工具、资源与提示语共享。//服务端 McpServerEndpoint(channel McpChannel.STREAMABLE, mcpEndpoint /mcp) public class MyMcpServer { ToolMapping(description 查询天气) public String getWeather(Param(description 城市) String location) { return 晴25度; } } //客户端 McpClientProvider clientProvider McpClientProvider.builder() .channel(McpChannel.STREAMABLE) .url(http://localhost:8080/mcp) .build();Agent (基于计算流图的智能体体验)Solon AI Agent 将推理逻辑转化为图驱动的协作流支持 ReAct 自省推理和多智能体 Team 协作。//自省智能体 ReActAgent agent ReActAgent.of(chatModel) // 或者用 SimpleAgent.of(chatModel) .name(weather_expert) .description(查询天气并提供建议) .defaultToolAdd(weatherTool) // 注入 MCP 或本地工具 .build(); agent.prompt(今天北京适合穿什么).call(); // 自动完成思考 - 调用工具 - 观察 - 总结 // 组建团队智能体通过协议Protocol自动编排成员角色 TeamAgent team TeamAgent.of(chatModel) .name(marketing_team) .protocol(TeamProtocols.HIERARCHICAL) // 层级式协作6种预置协议 .agentAdd(copywriterAgent) // 文案专家 .agentAdd(illustratorAgent) // 视觉专家 .build(); team.prompt(策划一个深海矿泉水的推广方案).call(); // Supervisor 自动拆解任务并分发给对应专家 .defaultToolAdd(weatherTool) // 注入 MCP 或本地工具Ai Flow流程编排体验模拟 Dify 的低代码流式应用将 RAG、提示词增强、模型调用等环节 YAML 化编排。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?formatmd 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);