又一个项目完结:基于SpringAI Alibaba开发第一个大模型智能体,支持基础版和多模式

又一个项目完结:基于SpringAI Alibaba开发第一个大模型智能体,支持基础版和多模式

作者:冰河
星球:http://m6z.cn/6aeFbs
博客:https://binghe.gitcode.host
文章汇总:https://binghe.gitcode.host/md/all/all.html
源码获取地址:https://t.zsxq.com/0dhvFs5oR

大家好,我是冰河~~

一、项目概述

随着人工智能技术的发展,智能对话系统在各个行业中的应用越来越广泛。本项目旨在基于SpringAI Alibaba快速构建一个基于大模型的智能对话助手,通过提供多种工作模式,满足用户在不同场景下的需求,例如通俗解释、要点总结、风险分析等。

我们将分两个阶段完成这个项目:

  1. 基础版本:构建具备专业领域知识的固定角色智能体
  2. 进阶版本:实现多模式切换的智能对话系统

接下来,我们一起完成这个SpringAI Alibaba项目。

完整项目工程源码已提交到冰河技术知识星球代码仓库

二、项目初始化与环境搭建

2.1 创建SpringBoot项目

首先,我们需要搭建项目基础框架。推荐使用IntelliJ IDEA进行开发:

  1. 打开IDEA,选择 FileNewProject
  2. 在左侧菜单中选择 Spring Initializr
  3. 配置项目基本信息:
    • Project SDK:选择JDK 17或更高版本
    • Groupcom.tech-explorer(可根据实际情况修改)
    • Artifactai-agent-demo
    • Package namecom.tech-explorer.aiagent
  4. 在Dependencies中添加:
    • Spring Web:用于构建Web接口
    • Lombok:简化代码编写

点击创建,等待项目初始化完成。

2.2 配置项目依赖

打开 pom.xml 文件,添加SpringAI Alibaba相关依赖:

<?xml version="1.0" encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.2.0</version><relativePath/></parent><groupId>com.tech-explorer</groupId><artifactId>ai-agent-demo</artifactId><version>1.0.0</version><name>AI Agent Demo</name><description>基于SpringAI Alibaba的智能助手Demo</description><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencyManagement><dependencies><!-- SpringAI Alibaba 依赖管理 --><dependency><groupId>com.alibaba.cloud.ai</groupId><artifactId>spring-ai-alibaba-bom</artifactId><version>1.0.0.2</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><!-- Spring Boot 基础依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- SpringAI Alibaba 核心依赖 --><dependency><groupId>com.alibaba.cloud.ai</groupId><artifactId>spring-ai-alibaba-starter-dashscope</artifactId></dependency><!-- 工具类依赖 --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><!-- 测试依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build></project>

2.3 应用配置

src/main/resources 目录下创建 application.yml 配置文件:

# 服务器配置server:port:18080servlet:context-path: /api # Spring AI Alibaba 配置spring:ai:dashscope:# 从环境变量或配置文件中读取API密钥,确保安全api-key: ${ DASHSCOPE_API_KEY:sk-your-api-key-here}chat:options:# 使用通义千问Plus模型,可根据需要调整model: qwen-plus # 温度参数,控制生成文本的随机性(0-1)temperature:0.7# 应用信息app:name: AI智能助手 version

Read more

墨色规则与血色节点:C++红黑树设计与实现探秘

墨色规则与血色节点:C++红黑树设计与实现探秘

前言     前几天攻克了AVL树,我们已然是平衡二叉树的强者。但旅程还未结束,下一个等待我们的,是更强大、也更传奇的**终极BOSS**——红黑树。它不仅是map和set的强大心脏,更是C++ STL皇冠上的明珠。准备好了吗?让我们一起揭开它的神秘面纱。 1.红黑树的概念 1.1.红黑树是什么     红黑树是一科二叉搜索树,他的每个节点增加一个存储为代表着该节点的颜色,和它的名字一样,节点的颜色可以是红色或者是黑色。通过对任何一条根到叶子的路径上各个节点的颜色进行约束,红黑树确保没有一条路径会比其他路径长出2倍,因而是接近平衡的。     红黑树是被很多条规则进行束缚的二叉搜索树,通过这些规则,可以保证红黑树没有一条路径会比其他路径长出2倍,并且保持其相对平衡,下面我来讲述一下这些规则。 1.2.红黑树的规则     1.每个节点不是黑色的就是红色的(这肯定,不然不会被叫做红黑树了)。     2.根节点必须是黑色的     3.如果一个节点是红色的,则它的两个孩子节点必须是黑色的,也就是说任意一条路径上并不会出现连续的红色的节点。     4.对于任意的一个

By Ne0inhk
Rust赋能Android蓝牙协议栈:从C++到安全高效的重构之路

Rust赋能Android蓝牙协议栈:从C++到安全高效的重构之路

在移动设备生态中,蓝牙协议栈是连接物理世界与数字世界的关键桥梁,从无线耳机、智能手环到车载系统,其稳定性、安全性与效率直接决定用户体验。长期以来,Android蓝牙协议栈核心模块基于C++开发,凭借接近硬件的性能优势支撑了数十亿设备的运行。但随着物联网设备爆发式增长、蓝牙5.3/5.4等新协议落地,C++固有的内存安全缺陷与并发管理难题愈发凸显。2021年起,Google开始在Android蓝牙协议栈中引入Rust重构核心模块,这一技术选型并非偶然,而是工程实践中安全与效率平衡的必然结果。 目录 一、Android蓝牙协议栈的C++之困 1.1 内存安全漏洞:蓝牙模块的阿喀琉斯之踵 1.2 并发管理复杂:多设备连接下的稳定性难题 1.3 代码可维护性下降:遗产代码的演进瓶颈 二、Rust:破解困局的关键特性赋能 2.1 所有权模型 2.2 并发安全:无数据竞争的天生优势 2.3 零成本抽象与可维护性:

By Ne0inhk
【探寻C++之旅】第十五章:哈希表

【探寻C++之旅】第十五章:哈希表

请君浏览 * 前言 * 1. 哈希表的概念 * 1.1 哈希函数(Hash Function):哈希表的 “地址映射引擎” * 1.2 哈希冲突(Hash Collision):哈希函数的 “必然产物” * 1.3 负载因子(Load Factor):衡量 “数据拥挤程度” 的核心指标 * 2. 哈希函数 * 2.1 直接定址法(Direct Addressing) * 2.2 除留余数法(Division Method) * 2.3 其他方法 * 3. 哈希冲突 * 3.1 开放寻址法(Open Addressing) * 简单的代码实现: * 3.

By Ne0inhk
Java后端开发神器:飞算JavaAI让我从菜鸟变高手

Java后端开发神器:飞算JavaAI让我从菜鸟变高手

目录 前言 一、飞算JavaAI的核心理念 二、核心功能深度剖析 2.1 智能分析读懂你的"老项目" 2.2 自定义AI规则 2.3 引导式开发与模块化生成 三、用飞算JavaAI实战演练 3.1 飞算JavaAI的安装和登录 3.2 分析现有项目 3.3 测试为项目增加新功能 四、其他亮点功能一览 五、谁会使用飞算JavaAI?它将如何改变开发生态? 全文总结  🎬 攻城狮7号:个人主页 🔥 个人专栏:《AI前沿技术要闻》 ⛺️ 君子慎独!  🌈 大家好,欢迎来访我的博客! ⛳️ 此篇文章主要介绍 AI编程工具飞算JavaAI 📚 本期文章收录在《AI前沿技术要闻》,大家有兴趣可以自行查看! ⛺️ 欢迎各位 ✔️ 点赞 👍 收藏

By Ne0inhk