Spring AI Alibaba使用教程

准备:

1.环境要求:

  • JDK 17+
  • Maven 3.8+
  • 选择你的 LLM 提供商并获取 API-KEY(如阿里云百炼的 DashScope)

2.mave 依赖:

复制代码
<dependencies>
<!-- Spring AI Alibaba Agent Framework -->
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-agent-framework</artifactId>
<version>1.1.0.0-RC2</version>
</dependency>

<!-- DashScope ChatModel 支持(如果使用其他模型,请跳转 Spring AI 文档选择对应的 starter) -->
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-starter-dashscope</artifactId>
<version>1.1.0.0-RC2</version>
</dependency>
</dependencies>

一,官网信息

1.官网文档地址:https://java2ai.com/

2.阿里巴巴讨论群:https://github.com/alibaba/spring-ai-alibaba/discussions

二,ReactAgent 的入门

1.ReactAgent 的核心执行流程:

1.DashScopeApi 介绍

  1. 介绍:DashScopeApi 是阿里云推出的一个 大模型(LLM)统一调用接口/平台,主要用于调用通义千问Qwen)及相关 AI 能力,让开发者可以方便地在应用中接入大模型能力。

2.常用的类型名

|---------|-----|
| apikey | 密钥 |
| baseUrl | api |

实例代码:

复制代码
package com.spring.ai.alibaba.agent.springaialibabaagent.test;

import com.alibaba.cloud.ai.dashscope.api.DashScopeApi;
import com.alibaba.cloud.ai.dashscope.chat.DashScopeChatModel;
import com.alibaba.cloud.ai.dashscope.chat.DashScopeChatOptions;
import org.springframework.ai.chat.model.ChatModel;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 基础配置类
 */
@Configuration
public class ReactAgentModelChatConfig {


    /**
     * 配置DashScopeApi
     * @return
     */
    @Bean(name = "dashScopeApiTest")
    public DashScopeApi dashScopeApiTest() {
        return DashScopeApi.builder()
                .apiKey("sk-9ce4989be07147368bc9760265f82e89")
                .build();
    }

    /**
     * 配置DashScopeChatModel
     * @param dashScopeApi
     * @return
     */
    @Bean(name = "dashScopeChatModelTest")
    public ChatModel dashScopeChatModelTest(DashScopeApi dashScopeApi) {
        return DashScopeChatModel.builder()
                .dashScopeApi(dashScopeApi)
                .defaultOptions(DashScopeChatOptions.builder()
                        .maxToken(1024) //token数
                        .temperature(0.7) //温度
                        .build())
                .build();
    }
}

2.ReactAgent

简介:ReactAgent 是 Spring AI Alibaba 中提供的一个核心 Agent 实现类,它实现了经典的 ReAct 模式(Reasoning+Acting)模型

  • Reason(推理/思考):分析当前情况,规划下一步
  • Act(行动):调用工具(Tool)获取外部信息

常用的构建和使用方法(基于 builder 模式)

常用的方法

常用的构建和使用方法(基于 builder 模式)

|--------------------------------------------------|----------------------------------------------------------------|
| 方法 / 属性 | 作用 |
| .name | Agent 的名字 |
| .model(ChatModel) | 注入大模型 |
| .tools | 添加工具(支持 FunctionToolCallback、自定义 Tool 等) |
| .hooks | 添加钩子(如 ModelCallLimitHook、LoggingHook、HumanInTheLoopHook) |
| .systemPrompt(String).instruction(String) | 系统提示词 |
| .maxIterations(int) | 最大迭代轮次(防止无限循环,类似 runLimit) |
| .savers(ChatMemory) | 对话记忆(短期/长期记忆,支持向量存储) |
| .outputSchema | 使用 BeanOutputConverter 生成时提供类型安全,手动提供字符串时灵活性高,适合动态或复杂的输出格式 |
| .Interceptors | interceptors 提供更粒度的控制,可以拦截和修改模型调用和工具执行。 |
| .outputType | 类型安全,适合结构固定的场景(推荐) |

3.测试学习代码地址:

Spring_AI_Alibaba_ReactAgent_test_demo:ReactAgent的测试项目用于起步学习 - AtomGit | GitCode

相关推荐
蕤葳-2 分钟前
非编程背景学习AI的方法
人工智能
北京耐用通信5 分钟前
不换设备、不重写程序:耐达讯自动化网关如何实现CC-Link IE转Modbus TCP的高效互通?
人工智能·科技·物联网·网络协议·自动化·信息与通信
计算机毕业设计指导6 分钟前
基于机器学习和深度学习的恶意WebURL检测系统实战详解
人工智能·深度学习·机器学习·网络安全
珂朵莉MM7 分钟前
第七届全球校园人工智能算法精英大赛-算法巅峰赛产业命题赛第3赛季优化题--多策略混合算法
人工智能·算法
GlobalInfo9 分钟前
2026-2032全球AI服务器连接器市场洞察:规模、竞争与趋势深度解析
人工智能
希望永不加班10 分钟前
SpringBoot 集成测试:@SpringBootTest 与 MockMvc
java·spring boot·后端·log4j·集成测试
Elastic 中国社区官方博客13 分钟前
使用 Jina-VLM 小型多语言视觉语言模型来和图片对话
大数据·人工智能·elasticsearch·语言模型·自然语言处理·jina
enAn_13 分钟前
对照片和视频文件名,程序追加日期,直观看
java·maven
罗西的思考14 分钟前
【OpenClaw】通过 Nanobot 源码学习架构---(6)Skills
人工智能·深度学习·算法
uzong14 分钟前
软件人员可以关注的 Skill,亲测确实不错,值得试一下
人工智能·后端