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

执行结果:

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

相关推荐
roman_日积跬步-终至千里6 小时前
【计算机视觉-作业1】从图像到向量:kNN数据预处理完整流程
人工智能·计算机视觉
春日见6 小时前
自动驾驶规划控制决策知识点扫盲
linux·运维·服务器·人工智能·机器学习·自动驾驶
人工智能AI技术6 小时前
【Agent从入门到实践】43 接口封装:将Agent封装为API服务,供其他系统调用
人工智能·python
云边散步6 小时前
godot2D游戏教程系列二(4)
笔记·学习·游戏开发
hjs_deeplearning6 小时前
文献阅读篇#14:自动驾驶中的基础模型:场景生成与场景分析综述(5)
人工智能·机器学习·自动驾驶
nju_spy7 小时前
离线强化学习(一)BCQ 批量限制 Q-learning
人工智能·强化学习·cvae·离线强化学习·双 q 学习·bcq·外推泛化误差
jrlong7 小时前
DataWhale大模型基础与量化微调task4学习笔记(第 2 章:高级微调技术_RLHF 技术详解)
笔记·学习
副露のmagic7 小时前
深度学习基础复健
人工智能·深度学习
番茄大王sc7 小时前
2026年科研AI工具深度测评(一):文献调研与综述生成领域,维普科创助手领跑学术严谨性
人工智能·深度学习·考研·学习方法·论文笔记
Darkershadow7 小时前
蓝牙学习之Time Set
python·学习·蓝牙·ble·mesh