2.8 KiB
2.8 KiB
横评构建企业级 LLM 应用,主流的、开源的 SDK 或框架
基础能力
| 对比项 | SAA | Spring AI | LangChain4J | LangChain |
|---|---|---|---|---|
| 语言 | Java | Java | Java | Python |
| 聊天模型 | ✅ | ✅ | ✅ | ✅ |
| 嵌入模型 | ✅ | ✅ | ✅ | ✅ |
| 图片、音视频模型 | ✅ | ✅ | ✅ | 国内只有百度千帆、百川智能支持了多模态,阿里百炼没有支持 |
| RAG | ✅ | ✅ | ✅ | ✅ |
| 向量数据库 | 除主流向量数据库外,还支持阿里云 AnalyticDB (ADB)、OpenSearch | ✅ | ✅ | ✅ |
| MCP | 支持 Nacos MCP Registry | ✅ | ✅ | ✅ |
| 函数调用 | ✅ | ✅ | ✅ | ✅ |
| 提示词模板 | 支持通过 Nacos 热更新,无需重启应用 | ✅ | ✅ | ✅ |
| 聊天记忆 | ✅ | ✅ | ✅ | ✅ |
| 模型评估 | ✅ | ✅ | ✅ | ✅ |
💡SAA 是 Spring AI Alibaba 的官方简称。SAA 在对 MCP 工具、提示词模板的管理具有明显优势,尤其适合企业级 LLM 应用的构建。
可观测性(OpenTelemetry)
OpenTelemetry 通常缩写为OTel,是一个开源的、厂商中立的可观测性框架,旨在实现遥测数据的标准化生成、收集和管理。遥测数据包括日志、指标和追踪,这些数据对于监控和理解软件系统的行为至关重要。
| Spring AI | SAA | LangChain4J | LangChain |
|---|---|---|---|
| ✅ | ✅ | ❌ | ✅ |
Spring AI框架定义了一系列endpoint,为其核心组件提供了指标和追踪能力,例如 ChatClient(包括 Advisor)、ChatModel、EmbeddingModel、ImageModel 和 VectorStore 等。SAA除了拥有Spring AI的能力,还提供了配套工具,无需额外编写代码,即可扇出至阿里云ARMS。LangChain4J提供了一系列Listener,通过 OTel 扇出数据,需要自行实现。LangChain自带LangSmith,并且支持了OTel,仅需少量代码即可扇出数据。
💡需要注意的是,Spring AI 对于 ChatModel 的可观测性,目前仅支持以下提供商:Anthropic, Azure OpenAI, Mistral AI, Ollama, OpenAI, Vertex AI, MiniMax, Moonshot, QianFan, ZhiPu AI。未提到的厂商,例如阿里百炼,可能会在未来支持。
与云计算平台模型提供商之间的适配
| 对比项 | Open AI | Anthropic | 阿里百炼 | 百度千帆 |
|---|---|---|---|---|
| SAA | ✅ | ✅ | 深度适配 | ✅ |
| Spring AI | ✅ | ✅ | ✅ | ✅ |
| LangChain4J | ✅ | ✅ | ✅ | ✅ |
| LangChain | ✅ | ✅ | 部分适配 | ✅ |
💡阿里百炼对于LangChain仅通过 langchain-openai 适配了部分模型:聊天模型、嵌入模型、重排序模型,不支持多模态模型。