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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1206514.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cirris Easy-Touch Pro扩展盒C150-ETPA高压电缆测试仪

http://cirris.com/product/easy-touch-prohttp://www.celiss.com/product/68222.html内置视窗操作系统的高压测试仪。Easy-Touch Pro是一款独立的高压电缆测试仪,设计用于轻松集成到您的制造过程中。该测试仪由 Wind…

我觉得 OI 就应该让机器人来打

实力固定,情感稳定,策略最优,灵机最多,想的最广,写的最快,常数最小,都不用调,没有人际交往那些事,都不用教练培训,不用上文化课,还不用休息,不用吃喝只用电。 以后 OI 就让机器人来打,比拼谁的调教能力更…

实用指南:Vue3.x —— Vuex 状态管理

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

拾光筑梦 向光而行——至圣集团合作伙伴答谢会在昆圆满举办

昆明讯&#xff08;2026 年 1 月 22 日&#xff09;—— 以 “拾光筑梦・向光而行” 为主题的至圣科技&#xff08;云南&#xff09;集团有限公司合作伙伴年终答谢会于昆明龙达温德姆酒店隆重举行。行业领军代表、核心合作伙伴与至圣集团全体同仁齐聚一堂&#xff0c;共叙合作情…

小学生的题:求桌子多高

设桌子的高度为 h 厘米&#xff0c;坐着的猫高度为 a 厘米&#xff0c;趴着的猫高度为 b 厘米。根据图中的信息&#xff0c;我们可以得到两个方程&#xff1a;ha−bhb−a​11&#xff08;左图&#xff1a;桌子高度 坐猫高度 - 趴猫高度 11&#xff09;7&#xff08;右图&…

掌握技巧:彻底消除错误代码0x80004005带来的困扰

在数字时代&#xff0c;几乎每个人都会遇到计算机错误&#xff0c;这些错误有时会阻碍我们的工作&#xff0c;甚至影响日常生活。在众多令人困惑的错误代码中&#xff0c;0x80004005是一个特别常见但通常又难以理解的错误。这个错误代码通常表示未指定的错误&#xff0c;它可能…

3.3V驱动MOS方法——稳压二极管+NMOS

一、背景 在许多实际应用中&#xff0c;如电机控制和灯光调控&#xff0c;通常需要利用PWM&#xff08;脉宽调制&#xff09;信号来控制功率或转速。这些系统常常使用MOSFET&#xff08;场效应管&#xff09;来开关负载。在常见的PMOS和NMOS中&#xff0c;除非有特殊需求&…

【两阶段鲁棒微网】【不确定性】基于关键场景辨别算法的两阶段鲁棒微网优化调度附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 &#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码及仿真…

ant -vue a-table去掉表头

<template><a-table:columns"columns":data-source"data":show-header"false" <!-- 核心属性&#xff1a;隐藏表头 -->bordered <!-- 可选&#xff1a;显示边框&#xff0c;方便查看表格结构 -->/> </template>…

【裂纹检测】检测和标记图片中的裂缝附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 &#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码及仿真…

Tulsimer树脂在锂电高盐锂液深度除杂中的技术实践与应用

在锂电新能源产业高质量发展进程中&#xff0c;高盐锂液中钙镁离子的深度去除已成为制约锂盐纯度提升与生产效率优化的关键技术瓶颈。钙镁杂质不仅影响终端电池性能与使用安全&#xff0c;还易引发设备结垢等运维问题。科海思通过定制化组合工艺与Tulsimer树脂的精准适配&#…

题解:AT_agc058_f [AGC058F] Authentic Tree DP

神题。 题意:给出一棵树,定义树 \(T\) 的权值为 \(f(T)\),其满足:对于 \(|T|=1\),\(f(T)=1\)。否则,考虑其中每一条边 \((x,y)\),记断掉这条边后两棵树分别为 \(T_x,T_y\),这里不区分顺序,\(f(T) = \sum\limi…

别再把“数字化管理”当PPT了!18.3%的权重背后,藏着你的降本增效密码

老板们注意&#xff1a;这不是又一篇“数字化转型”的鸡汤文。 这是一份能让你少花冤枉钱、多赚真金白银的实操指南。一、“数字化管理”凭什么占18.3%&#xff1f;因为它是企业的“隐形发动机”2024年&#xff0c;工信部更新了《中小企业数字化水平评测指标》&#xff0c;很多…

nodejs基于vue框架的宠物猫商城售卖管理系_eq667

文章目录基于Node.js与Vue的宠物猫商城管理系统设计要点--nodejs技术栈--结论源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;基于Node.js与Vue的宠物猫商城管理系统设计要点 技术栈选择 后端采用Node.js&#xff08;Express/Koa框架&a…

nodejs基于vue框架的家政服务系统的设计与实现_5o0if

文章目录 系统架构设计核心功能模块技术实现要点性能与安全优化扩展性设计 --nodejs技术栈--结论源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; 系统架构设计 采用前后端分离架构&#xff0c;前端基于Vue.js框架实现用户界面&#xf…

nodejs基于vue网上订餐系统的设计与实现_i23b2

文章目录基于 Node.js 和 Vue 的网上订餐系统设计摘要技术栈与核心功能系统亮点性能与扩展性--nodejs技术栈--结论源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;基于 Node.js 和 Vue 的网上订餐系统设计摘要 该系统采用前后端分离架构…

nodejs基于vue乡镇农村居民政务管理系统_93034

文章目录乡镇农村居民政务管理系统概述核心功能模块技术实现要点应用价值--nodejs技术栈--结论源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;乡镇农村居民政务管理系统概述 该系统基于Node.js和Vue.js构建&#xff0c;旨在为乡镇及农…

低代码:设备管理数字化的故障快速响应密码

传统设备管理的困境传统设备管理模式中&#xff0c;故障响应流程繁琐低效&#xff0c;诸多痛点直接影响企业生产效率与运营成本。故障响应迟缓是核心问题。设备突发故障后&#xff0c;操作人员需手动填写报修单并层层递交&#xff0c;信息传递效率低下&#xff0c;流转审批过程…

如何启动Carte,如何使用Carte

PDI&#xff08;Pentaho Data Integration&#xff09;的Carte配置主要包括以下几个方面&#xff1a; 1. 基本配置 安装PDI&#xff1a;从官方网站下载PDI的安装包&#xff0c;并解压到指定目录。 配置Java环境&#xff1a;确保系统已安装Java&#xff0c;并配置好Java环境变…

Pentaho 和他的五位成员(五灵威力) kettle spoon pancarte kitchen (pdi的前生今世)

Pentaho是个合成词Penta是希腊数字 “五”的前缀ho是夏威夷文化词语发音氛围&#xff0c;pdi的&#xff08;Pentaho Data Intergation&#xff09;软件的作者是个夏威夷文化推崇者&#xff0c;作者希望借用五种灵力&#xff0c;和五种构成世界的五种元素来代表&#xff0c;数据…