终于来到了使用框架来接入大模型,这里我们使用两个流行的框架来接入大模型:
Spring AI:基于 Spring 生态系统的 AI 框架
LangChain4j:专注于构建 LLM 应用的 Java 框架,提供丰富的 AI 调用组件
Spring AI
首先就是我们常见的spring家族的新成员,Spring AI,旨在简化 AI 功能与 Spring 应用的集成。他集成了多种模型和各种AI常用的特性,比如RAG知识库、Tools 工具调用和 MCP 模型上下文协议,简化了AI的应用开发。
话不多说,直接快速开始:
引入依赖
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-starter</artifactId>
<version>1.0.0-M6.1</version>
</dependency>
编写配置:
spring:
application:
name: TT-ai-agent
ai:
dashscope:
api-key: ${DASHSCOPE_API_KEY}
chat:
options:
model: qwen-plus
编写示例代码:
@Component
public class SpringAiAiInvoke implements CommandLineRunner {
@Resource
private ChatModel dashscopeChatModel;
@Override
public void run(String... args) throws Exception {
AssistantMessage output = dashscopeChatModel.call(new Prompt("你好 我现在正在学习spring ai 你可以给我一些学习建议吗"))
.getResult().getOutput();
System.out.println(output.getText());
}
}
这里简单说一下spring boot中的CommandLineRunner 接口,它是一个函数式接口,用于在Spring Boot应用程序启动后执行一些初始化操作。它提供了一个run方法,该方法在应用程序启动后被调用。
上述代码中我们是通过 ChatModel 对象调用大模型,适合简单的对话场景。后续我们会学到ChatClient 调用方式,提供更多高级功能,比如会话记忆等,适合复杂的场景。
启动项目:

LangChain4j
同样引入依赖:
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-community-dashscope</artifactId>
<version>1.0.0-beta2</version>
</dependency>
编写代码:
public class Langchain4jAiInvoke {
public static void main(String[] args) {
QwenChatModel build = QwenChatModel
.builder()
.apiKey("sk-XXXXXXXXXXXXXX").modelName("qwen-max").build();
String chat = build.chat("hello i am bbtat how are you");
System.out.println(chat);
}
}
执行结果:

从上面我们可以发现,使用框架实现程序接入大模型,代码更加整洁,清晰易懂。