典型回答

在Java应用中想要集成LLM,一般有以下几个选择:

1、自己手撕,直接调用API

2、使用Spring AI

3、使用LangChain4j

4、使用Spring AI Alibaba

5、使用agentscope-java

首先第一个肯定不建议,因为LLM开发的话,一般不仅需要对接模型,还需要做对话记忆、工具调用、RAG等等的,这些如果要自己对接模型API的话,都要从头写一遍,成本太高了。

另外几个框架,Spring AI是比较基础的一个框架,是Spring官方的一个LLM集成框架,但是他的功能非常有限,只有简单的chatMode、ChatClient等基础封装。适合做一些简单的项目使用。

LangChain4j是一个对标Python中的LangChain的框架,但是功能肯定不如LangChain,很多功能都是阉割的,但是他在RAG这方面的支持,比Spring AI要强得的多。如果你想在Java中做一个rag,建议使用LangChain4j

如果你要做Agent开发,尤其是多智能体、复杂的Agent的话,建议使用Spring AI Alibaba或者agentscope-java,这两个都是alibaba推出的智能体框架,方便java开发者构建智能体的,主要区别是Spring AI Alibaba是基于Spring AI做的扩展,主要是为了完善spring ai的能力。agentscope是致力于做智能体搭建的。

以下是我的AI实战课中给大家做的简单总结(暂不包含agentscope):

能力LangChain4jSpring AISpring AI Alibaba
是否依赖 Spring 可独立使用✔️ 深度集成✔️ 深度集成
模型调用复杂度✔️ 支持高层次API,快速实现LLM调用只支持ChatModel和ChatClient✔️ 除Spring AI功能外,有更多增强API
结构化输出✔️ 强(JSON Schema)✔️ 基础支持✔️ 增强版
RAG 支持✔️ 全链路✔️ 基础✔️ 企业级增强
智能体(Agent) 需手动实现 需手动实现✔️ 基于Graph实现了ReAct,支持 Multi-Agent等。
工作流编排⚠️ 简单 Chain✔️ Graph 引擎(核心优势)
阿里云集成✔️ Qwen/DashScope 无官方支持✔️ 深度集成(百炼、OSS、Nacos)
生产可观测性⚠️ 需自行集成✔️ Micrometer✔️ ARMS/SLS 原生
生态依赖✔️ 我依赖要求✔️ 我依赖要求⚠️依赖阿里百炼

非 Spring/或者Spring Boot版本低于3.0,纯Java项目项目→ 选 LangChain4j

需要快速原型验证,且熟悉 LangChain 概念 → 选 LangChain4j

已有 Spring Boot 项目,只需简单 LLM 调用→ 选 Spring AI

构建企业级RAG****→ 选LangChain4j

构建企业级、多步骤、多角色协作的 AI 应用/Agent → 选 Spring AI Alibaba

想用 Java 但又想要接近 Python LangChain 的体验LangChain4j 是最佳选择