Spring AI学习 程序接入大模型(框架接入)

终于来到了使用框架来接入大模型,这里我们使用两个流行的框架来接入大模型:

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);
    }
}

执行结果:

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

相关推荐
测试员周周5 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
K姐研究社6 小时前
怎么用AI制作电商口播视频,开拍APP一键生成
人工智能·音视频
LaughingZhu7 小时前
Product Hunt 每日热榜 | 2026-05-21
前端·人工智能·经验分享·chatgpt·html
Mahir087 小时前
Spring 循环依赖深度解密:从问题本质到三级缓存源码级解析
java·后端·spring·缓存·面试·循环依赖·三级缓存
辰海Coding7 小时前
MiniSpring框架学习笔记-解决循环依赖的简化IoC容器
笔记·学习
晓梦林7 小时前
cp520靶场学习笔记
android·笔记·学习
传说故事7 小时前
【论文阅读】MotuBrain: An Advanced World Action Model for Robot Control
论文阅读·人工智能·具身智能·wam
北京耐用通信8 小时前
全域适配工业场景耐达讯自动化Modbus TCP 转 PROFIBUS 网关轻松实现以太网与现场总线互通
网络·人工智能·网络协议·自动化·信息与通信
火山引擎开发者社区8 小时前
TRAE × 火山引擎 Supabase:为你的 AI 应用装上“数据引擎”
人工智能
小a彤8 小时前
GE 在 CANN 五层架构中的位置
人工智能·深度学习·transformer