Solon AI 开发学习1 - 导引

Solon AI & MCP ,是 Solon 官方推出的 Java 智能体应用开发框架。旨在为 Java 开发者提供统一的接口抽象层,简化与 OpenAI、DeepSeek、QWen 等主流 AI 模型的集成流程,以及简化 Mcp 的开发体验。同时支持 Java 8 到 Java 25。


本系列主要介绍 Solon AI 插件(AI “通用”应用开发框架)的使用。Solon-AI 采用方言适配的设计,可兼容各大语言模型(LLM)接口调用。

这里讲的 AI 主要是指生成式人工智能(Generative Artificial Intelligence)。也会称为“大模型”,或者“大语言模型”。按生成内容分的话,常见的有:

模型作用
聊天模型(ChatModel)用于聊天式生成对话、或文字创作、或解惑答疑等(可以有会话上下文)
生成模型(GenerateModel)用于一次性生成文本、图像、视频(也有叫:ImageModel、VideoModel 等)

其它模型还会有(更多,不列):

模型作用
嵌入模型(EmbeddingModel)用于生成矢量数据,进而实现相似查询
排序模型(RankingModel)用于排序

不同模型间,会有相互协作。比如 ChatModel 生成的内容,可用于 GenerateModel。而 EmbeddingModel 与 ChatModel 协作,可实现 RAG(即本地数据与大模型协作,增强生成效果)。也支持 MCP 协议,实现 Tool 服务发布,和 Tool 服务使用。

在使用时,可以粗浅得认为它是个 http-api 接口(平易近人些),solon-ai 则是它们的通用客户端。

本教程涉及的几种常用术语(也是差不多的意思):

  • ai、gai、llm
  • 大模型、大语言模型、生成式大语言模型

目前 AI 常见的应用建设(solon-flow 可提供“流程编排”支持):

学习视频:

专有仓库地址:

完整示例(Solon、SpringBoot2、SpringBoot3、jFinal、Vert.x ):

  • https://gitee.com/solonlab/solon-ai-mcp-embedded-examples
  • https://gitcode.com/solonlab/solon-ai-mcp-embedded-examples
  • https://github.com/solonlab/solon-ai-mcp-embedded-examples
### 关于 Solon AI MCP Server 的技术信息 Solon AI 是一个基于 Java 的轻量级框架,旨在简化微服务架构下的开发流程。`solon-ai-mcp-server` 是其生态系统中的一个重要模块,主要用于支持模型控制协议(Model Control Protocol, MCP)。以下是关于 `solon-ai-mcp-server` 的一些技术和使用方面的详细介绍: #### 1. **Maven 依赖** 要集成 `solon-ai-mcp-server` 到项目中,可以通过 Maven 添加以下依赖项: ```xml <dependency> <groupId>org.noear</groupId> <artifactId>solon-ai-mcp</artifactId> </dependency> ``` 此依赖提供了基础功能以构建和运行 MCP 服务器[^1]。 #### 2. **基本配置** 为了启用并正确配置 `solon-ai-mcp-server`,需要在项目的 `application.properties` 文件中设置如下参数: ```properties spring.ai.mcp.server.enabled=true spring.ai.mcp.server.name=my-solon-mcp-server spring.ai.mcp.server.version=1.0.0 spring.ai.mcp.server.type=ASYNC spring.ai.mcp.server.sse-message-endpoint=/mcp/stream-messages ``` 这些属性定义了 MCP 服务器的行为模式以及消息流的处理方式[^3]。 #### 3. **启动与初始化** 通过继承或扩展默认的服务类,开发者能够快速创建自定义逻辑的服务实例。例如: ```java import org.noear.solon.annotation.Component; import org.noear.solon.core.Aop; @Component public class MyCustomService extends AbstractMcpservice { @Override public String processRequest(String input) { // 自定义业务逻辑 return "Processed: " + input; } } ``` 在此基础上,确保应用上下文中已注册该组件以便被自动扫描加载[^4]。 #### 4. **客户端交互** 虽然当前讨论重点在于服务端部分,但了解如何设计兼容性强的客户端同样重要。Python 实现了一个简单的例子展示怎样连接到远程部署好的 MCP Server 并发送请求获取响应数据[^2]: ```python import requests url = 'http://localhost:8080/mcp/api' payload = {'text': 'hello world'} headers = {'Content-Type': 'application/json'} response = requests.post(url, json=payload, headers=headers) print(response.json()) ``` 以上脚本演示了向本地运行的服务发起 POST 请求的过程,并解析返回的结果作为 JSON 格式输出显示给用户查看。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值