7.9 KiB
横评构建企业级 LLM 应用,主流的、开源框架
基础能力
| 对比项 | 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 | OpenAI | Ollama | Xinference | GPUStack |
|---|---|---|---|---|---|---|---|---|
| ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
云计算平台模型提供商对开源框架的适配
| 对比项 | Open AI | Anthropic | 阿里百炼 | 百度千帆 |
|---|---|---|---|---|
| SAA | ✅ | ✅ | 深度适配 | ✅ |
| Spring AI | ✅ | ✅ | ✅ | ✅ |
| LangChain4J | ✅ | ✅ | ✅ | ✅ |
| LangChain | ✅ | ✅ | 部分适配 | ✅ |
💡阿里百炼对于LangChain仅通过 langchain-openai 适配了部分模型:聊天模型、嵌入模型、重排序模型,不支持多模态模型。
适合用于智能体开发的框架对比
一、LangGraph
- 开源协议:MIT
- 语言:Python
- 核心:使用图结构编排智能体,相比LangChain的链式调用,能够应对更多场景、更复杂的任务。
- 亮点:内置 Checkpoint 和中断、持久化机制,在执行期间发生中断,恢复时可以从 Checkpoint 继续执行。适合通过人工干预保障执行过程的正确性,以及长时间运行的任务发生异常中断从 Checkpoint 恢复执行,而不必重新开始,这是 LangGraph 的独到之处
- 补充:官方的 LangGraph Platform 还提供了配套的 LangGraph Studio 用于开发智能体的 IDE,它支持可视化、交互和调试,还与 LangSmith 集成,以实现追踪、评估和提示工程。
- 模型:参见上文对于 LangChain 支持的模型提供商说明
💡LangGraph Platform 是收费的,适合企业部署的自托管版本仅支持 AWS。
二、Spring AI Alibaba Graph
- 开源协议:Apache 2.0
- 语言:Java
- 亮点:LangGraph 的核心能力基本上都抄了
- 模型:参见上文对于 SAA 支持的模型提供商说明
官方原话:Spring AI Alibaba Graph 是社区核心实现之一,也是整个框架在设计理念上区别于 Spring AI 只做底层原子抽象的地方,Spring AI Alibaba 期望帮助开发者更容易的构建智能体应用。基于 Graph 开发者可以构建工作流、多智能体应用。Spring AI Alibaba Graph 在设计理念上借鉴 LangGraph,因此在一定程度上可以理解为是 Java 版的 LangGraph 实现,社区在此基础上增加了大量预置 Node、简化了 State 定义过程等,让开发者更容易编写对等低代码平台的工作流、多智能体等。
三、AutoGen
- 开源协议:MIT
- 语言:Python、.NET
- 核心:通过智能体运行时环境,使用消息作为多智能体之间的通信载体,基于发布订阅的模式在智能体之间实现1对1和1对多的传播形式。
- 亮点:命令行代码执行器能够将Python代码块打包成1个文件,丢到 Docker 容器执行,或者在本机开启1个新的进程执行。这种方式更安全,也是 LangGraph 不具备的特性。除此之外,官方提供了一系列多智能体的设计模式,来辅助开发者设计与开发多智能体。
- 补充:AutoGen 还提供了一个免费的、本地化部署的 AutoGen Studio 可视化工具,旨在帮助开发团队快速原型化多智能体。
- 模型:
官方提供了以下多智能体设计模式
- Concurrent Agents(并发智能体)
- Sequential Workflow(顺序工作流)
- Group Chat(群聊)
- Handoffs(交接,源自OpenAI Swarm)
- Mixture of Agents(混合代理)
- Multi-Agent Debate(多智能体辩论)
- Reflection(反思)
- Code Execution(代码执行)
四、Crew AI
- 开源协议:MIT
- 语言:Python
- 核心:
- 亮点:
- 模型:CrewAI 通过 LiteLLM 连接到 LLM 提供商,点击查看 LiteLLM 支持的模型提供商,点击查看对于 Xinference 的支持说明
参考来源
- SAA 官网:https://java2ai.com
- Spring AI 官方文档:https://docs.springframework.org.cn/spring-ai/reference/index.html
- LangChain4J 官方文档:https://docs.langchain4j.info/get-started
- LangChain 官方文档:https://python.langchain.ac.cn/docs/introduction
- 使用 OpenTelemetry 跟踪 LangChain:https://langsmith.langchain.ac.cn/observability/how_to_guides/trace_langchain_with_otel
- 使用 OpenTelemetry 客户端将记录到 LangSmith:https://langsmith.langchain.ac.cn/observability/how_to_guides/trace_with_opentelemetry
- Spring AI 可观测性:https://docs.springframework.org.cn/spring-ai/reference/observability/index.html
- Spring AI 对于聊天模型可观测性的支持说明:https://docs.springframework.org.cn/spring-ai/reference/observability/index.html#_chat_model
- 阿里百炼对于 LangChain 的适配:https://help.aliyun.com/zh/model-studio/use-bailian-in-langchain
- 百度千帆对于 LangChain 的适配:https://cloud.baidu.com/doc/qianfan-docs/s/Mm9cr5bs6
- LangGraph 官方文档:https://github.langchain.ac.cn/langgraph/
- LangGraph Platform 官方文档:https://github.langchain.ac.cn/langgraphjs/concepts/langgraph_platform/
- LangGraph Platform 定价说明:https://langchain.ac.cn/pricing-langgraph-platform
- LangGraph Studio 使用说明:https://github.langchain.ac.cn/langgraphjs/concepts/langgraph_studio/
- AutoGen 官方文档:https://msdocs.cn/autogen/stable/user-guide/core-user-guide/quickstart.html
- AutoGen 运行时环境:https://msdocs.cn/autogen/stable/user-guide/core-user-guide/core-concepts/architecture.html
- AutoGen 主题和订阅(消息传递):https://msdocs.cn/autogen/stable/user-guide/core-user-guide/core-concepts/topic-and-subscription.html
- AutoGen 多智能体设计模式:https://msdocs.cn/autogen/stable/user-guide/core-user-guide/design-patterns/intro.html
- AutoGen Studio 使用教程:https://www.aidoczh.com/autogen/stable/user-guide/autogenstudio-user-guide/index.html