diff --git a/MultiAgentOptions.md b/MultiAgentOptions.md index 8c8fcd3..b210a0f 100644 --- a/MultiAgentOptions.md +++ b/MultiAgentOptions.md @@ -1,42 +1,48 @@ -## 构建企业级 LLM 应用,主流的、开源的 SDK 或框架 +# 横评构建企业级 LLM 应用,主流的、开源的 SDK 或框架 + +## 基础能力 > 💡SAA 是 Spring AI Alibaba 的官方简称。SAA 在对 MCP 工具、提示词模板的管理具有明显优势,尤其适合企业级 LLM 应用的构建。 | 对比项 | SAA| Spring AI | LangChain4J | LangChain | |:-----|:-----|:-----|:-----|:-----| | 语言 | Java | Java | Java | Python | -| 聊天模型 | ✅ 可扩展 | ✅ 可扩展 | ✅ 扩展性不强❌ | +| 聊天模型 | ✅ | ✅ | ✅ | ✅ | | 嵌入模型 | ✅ | ✅ | ✅ | ✅ | -| 图片、音视频模型 | ✅ | ✅ | ✅ | ✅ 国内只有百度千帆、百川智能支持了多模态,**阿里百炼没有支持**,也没有提供相关API❌| +| 图片、音视频模型 | ✅ | ✅ | ✅ | ✅
国内只有百度千帆、百川智能支持了多模态
**阿里百炼没有支持,也没有提供相关API** | | RAG | ✅ | ✅ | ✅ | ✅ | -| 向量数据库 | 主流的都支持,还支持了阿里云 AnalyticDB (ADB)、OpenSearch | 主流的都支持 | 主流的都支持 | -| MCP | ✅ Nacos MCP Registry | ✅ | ✅ | ✅ | +| 向量数据库 | ✅
支持阿里云 AnalyticDB (ADB)、OpenSearch | ✅ | ✅ | ✅ | +| MCP | ✅
支持 Nacos MCP Registry | ✅ | ✅ | ✅ | | 函数调用 | ✅ | ✅ | ✅ | ✅ | -| 提示词模板 | 硬编码、通过文件配置、通过Nacos管理 | 硬编码、通过文件配置 | 硬编码、通过文件配置 | 硬编码、通过文件配置 | -| 聊天记忆 | JDBC、Redis、ES 等多种实现适配 | JDBC、Neo4J、Cassandra 等多种实现适配 | 多种实现适配 | 多种实现适配 | +| 提示词模板 | ✅
支持通过 Nacos 热更新,无需重启应用 | ✅ | ✅ | ✅ | +| 聊天记忆 | ✅ | ✅ | ✅ | ✅ | | 模型评估 | ✅ | ✅ | ✅ | ✅ | -## 可观测性 +## 可观测性(OpenTelemetry) -> 💡SAA 可以利用 +> 💡OpenTelemetry,通常缩写为 OTel,是一个开源的、厂商中立的可观测性框架,旨在实现遥测数据的标准化生成、收集和管理。遥测数据包括日志、指标和追踪,这些数据对于监控和理解软件系统的行为至关重要。 -| 对比项 | Spring AI | SAA | LangChain4J | LangChain | -|:-----|:-----|:-----|:-----|:-----| -| 工具组件 | OpenTelemetry | 除了 OpenTelemetry 官方还提供了 javaagent 可以无缝集成到阿里云 ARMS 平台 | 官方提供了一系列监听器,可以自行导出或处理数据 | 官方提供的 LongSmith 组件,并且适配了 OpenTelemetry,虽然 LongSmith 是 OTel 的终点,但是也可以导出到第三方 | +| Spring AI | SAA | LangChain4J | LangChain | +|:-----|:-----|:-----|:-----| +| ✅ | ✅ | ❌ | ✅ | +**Spring AI**框架定义了一系列endpoint,为其核心组件提供了指标和追踪能力,例如 ChatClient(包括 Advisor)、ChatModel、EmbeddingModel、ImageModel 和 VectorStore 等。 -## 与LLM提供商之间的适配 +> 💡需要注意的是,对于 ChatModel 的可观测性,目前仅支持以下提供商:Anthropic, Azure OpenAI, Mistral AI, Ollama, OpenAI, Vertex AI, MiniMax, Moonshot, QianFan, ZhiPu AI。**未提到的厂商,例如阿里百炼,可能会在未来支持。** -> 💡随着构建大语言模型应用的工具链越来越多,各个LLM提供商对于各个工具链的适配程度都不一样。因为字节的方舟模型平台,官方是没有参与这些框架的生态建设的,所以没有列出来,国外和国内各选了2个。 +**SAA**除了拥有**Spring AI**的能力,还提供了 javaagent 无需额外开发,即可扇出至阿里云ARMS。**LangChain4J**提供了一系列**Listener**,开发人员需要自行实现对监控数据的处理。**LangChain**自带**LangSmith**,并且已经支持了OTel,仅需少量代码即可扇出数据。 + +## 与云计算平台模型提供商之间的适配 | 对比项 | Open AI | Anthropic | 阿里百炼 | 百度千帆 | -|:-----|:-----|:-----|:-----| -| SAA | ✅ | ✅ | ✅ 深度适配 | ✅ | +|:-----|:-----|:-----|:-----|:-----| +| SAA | ✅ | ✅ | ✅ | ✅ | | Spring AI | ✅ | ✅ | ✅ | ✅ | | LangChain4J | ✅ | ✅ | ✅ | ✅ | -| LangChain | ✅ | ✅ | ✅ 仅支持聊天模型、嵌入模型、重排序模型,不支持 | ✅ | +| LangChain | ✅ | ✅ | ✅ | ✅ | +> 💡**SAA**深度适配了阿里百炼,阿里百炼对于**LangChain**的支持度很差,仅通过 langchain-openai 适配了部分模型:聊天模型、嵌入模型、重排序模型,**不支持多模态模型**。 +## 与私有化模型部署平台的适配 - -# AI Agent 主流 SDK 或框架 \ No newline at end of file +## 智能体开发 \ No newline at end of file