第一学: SpringAi最新版本1.0.0 实现最简单对话(详细小白都会操作java实现ai)
SpringAi版本1.0.0结合Redis实现上下文记忆对话(详细)版本在文章开始之前我们需要弄清楚几个依赖目前springchat对话的依赖包括目前需要引入必须保证jdk17 和springboot在3.xx以上目前提供了springboot 和springai相关版本最新版本可以直接去中央参考查看springboot最新支持版本1.0.0-M6spring-ai最新支持版本 1.0.0目前如果仅使用chat功能 使用spring-boot-ai对应的依赖帮助我们快速开发引入依赖此处直接省略创建idea-springboot项目过程?xml version1.0encodingUTF-8?project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersion!--继承SpringBoot父工程--parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion3.3.5/version/parentgroupIdcn.itcast/groupIdartifactIdmy-spring-ai/artifactIdversion1.0-SNAPSHOT/versionpropertiesmaven.compiler.source17/maven.compiler.sourcemaven.compiler.target17/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncodingspring-ai.version1.0.0-M6/spring-ai.versionorg.projectlombok.version1.18.36/org.projectlombok.version/propertiesdependencyManagementdependencies!--SpringAIBOM--dependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-bom/artifactIdversion${spring-ai.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagementdependencies!--lombok 管理--dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion${org.projectlombok.version}/version/dependency!--web--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!--单元测试--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion5.8.34/version/dependency!--SpringAIOpenAI依赖--dependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-openai-spring-boot-starter/artifactId/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactId/dependency/dependenciesbuildpluginManagementpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion3.13.0/versionconfigurationsource17/source!--depending on your project--target17/target!--depending on your project--/configuration/plugin/plugins/pluginManagement/build/project官方文档对应的示列-提示我们需要通过ChatClient 的实列对应进行访问操作也就是说底层以及集成访问大模型对应连接地址配置类server:port:8099#端口 tomcat:uri-encoding:UTF-8#服务编码 spring:application:name:spring-ai ai:openai:#openai配置 base-url:#api地址 api-key:#OPENAI_API_KEYkey chat:options:model:gpt-3.5-turbo #模型名称如果有翻墙直接申请openai的api直接使用OpenAI官网地址没有对应的key申请地址使用国内的通义千问也行需要修改具体直接创建对应实列直接上官网申请即可通义千问packagecn.itcast.config;importorg.springframework.ai.chat.client.ChatClient;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;ConfigurationpublicclassSpringAIConfig{/** * 创建并返回一个ChatClient的Spring Bean实例。 * * param builder 用于构建ChatClient实例的构建者对象 * return 构建好的ChatClient实例 */BeanpublicChatClientchatClient(ChatClient.Builderbuilder){returnbuilder.build();}}服务接口packagecn.itcast.service;publicinterfaceChatService{/** * 普通聊天 * * param question 用户提问 * return 大模型的回答 */Stringchat(Stringquestion);}服务层packagecn.itcast.service.impl;importcn.itcast.service.ChatService;importlombok.RequiredArgsConstructor;importlombok.extern.slf4j.Slf4j;importorg.springframework.ai.chat.client.ChatClient;importorg.springframework.stereotype.Service;Slf4jServiceRequiredArgsConstructorpublicclassChatServiceImplimplementsChatService{privatefinalChatClientchatClient;/** * 与聊天客户端进行交互发送用户问题并获取响应内容。 * * param question 用户输入的问题内容 * return 聊天客户端返回的响应内容 */OverridepublicStringchat(Stringquestion){// 调用聊天客户端处理用户问题并获取响应内容StringcontentchatClient.prompt().user(question).call().content();log.info(question: {}, content: {},question,content);returncontent;}}测试packagecn.itcast.service;importjakarta.annotation.Resource;importorg.junit.jupiter.api.Test;importorg.springframework.boot.test.context.SpringBootTest;SpringBootTestclassChatServiceTest{ResourceChatServicechatService;Testpublicvoidchat(){chatService.chat(讲一篇文章);}}目前当前只是简单对话记忆不存在连贯性。下篇文章我将整合redisspring-ai 1.0.0实现我们上下文记忆对话的过程

相关新闻

第二学:SpringAi1.0.0整合redis实现上下文记忆(详细小白都会的都会java操作ai)

第二学:SpringAi1.0.0整合redis实现上下文记忆(详细小白都会的都会java操作ai)

第二学:SpringAi1.0.0整合redis实现上下文记忆在上一篇文章中,我们已经知道怎么实现简单对话聊天,因为spring-boot-ai 现在体系和版本都还不成熟,兼容的版本目前还不够多,现在我们导入新的依赖,这一步是为了…

2026/7/28 22:14:07 阅读更多 →
告别手动操作:UI-TARS让Android自动化测试像搭积木一样简单

告别手动操作:UI-TARS让Android自动化测试像搭积木一样简单

告别手动操作:UI-TARS让Android自动化测试像搭积木一样简单 【免费下载链接】UI-TARS Pioneering Automated GUI Interaction with Native Agents 项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS 还在为Android应用的重复测试任务感到烦恼吗&…

2026/7/28 22:14:07 阅读更多 →
终极淘宝数据采集解决方案:TSDK爬虫SDK全面解析

终极淘宝数据采集解决方案:TSDK爬虫SDK全面解析

终极淘宝数据采集解决方案:TSDK爬虫SDK全面解析 【免费下载链接】TSDK 淘宝爬虫SDK,用于淘宝开放平台或淘宝、天猫、阿里巴巴登录爬取 项目地址: https://gitcode.com/gh_mirrors/ts/TSDK TSDK是一款功能强大的淘宝爬虫SDK,专为淘宝开…

2026/7/28 22:14:07 阅读更多 →

最新新闻

Takin 全链路压测平台深度解析:从设计哲学到生产落地

Takin 全链路压测平台深度解析:从设计哲学到生产落地

1. Takin 简介 Takin 是由 Shulie Technology(原数列科技)开源的全链路压测平台,专门为微服务架构下的生产环境性能测试而设计。它通过流量染色、数据隔离、影子库等核心技术,在不污染真实数据、不影响真实用户的前提下,直接在线上环境施加大规模并发流量,精准测量系统容…

2026/7/28 22:25:13 阅读更多 →
智能体技术演进与多技能动态编排实践

智能体技术演进与多技能动态编排实践

1. 智能体技术演进与2026范式转移当我在2023年第一次用GPT-4 API搭建对话机器人时,就意识到传统"一问一答"的交互模式即将被颠覆。三年后的今天,智能体(Agent)技术确实已经发展成由多种技能(Skill)组成的有机体系。这种从单一功能到技能组合的…

2026/7/28 22:25:13 阅读更多 →
为什么选择Merlin WP?10个让WordPress主题安装变简单的理由

为什么选择Merlin WP?10个让WordPress主题安装变简单的理由

为什么选择Merlin WP?10个让WordPress主题安装变简单的理由 【免费下载链接】MerlinWP Better WordPress Theme Onboarding 项目地址: https://gitcode.com/gh_mirrors/me/MerlinWP Merlin WP是一款专为简化WordPress主题安装流程设计的工具,它通…

2026/7/28 22:25:13 阅读更多 →
TI BQ27542-G1电量计:Impedance Track™算法原理与工程配置实战

TI BQ27542-G1电量计:Impedance Track™算法原理与工程配置实战

1. 项目概述:为什么我们需要一个“聪明”的电量计?如果你曾经盯着手机或笔记本电脑上那跳来跳去的电量百分比,心里没底它到底还能撑多久,那你已经亲身体验到了传统电池电量估算的痛点。在消费电子、电动工具、医疗设备甚至电动汽车…

2026/7/28 22:25:13 阅读更多 →
CustomerManager高级技巧:自定义过滤器实现客户数据精准筛选

CustomerManager高级技巧:自定义过滤器实现客户数据精准筛选

CustomerManager高级技巧:自定义过滤器实现客户数据精准筛选 【免费下载链接】CustomerManager CustomerManager AngularJS/BreezeJS Application with a custom route provider. 项目地址: https://gitcode.com/gh_mirrors/cu/CustomerManager 在日常使用Cu…

2026/7/28 22:25:13 阅读更多 →
零基础Linux入门:虚拟机安全环境搭建与核心命令实战指南

零基础Linux入门:虚拟机安全环境搭建与核心命令实战指南

如果你是一名开发者,或者正在向技术岗位转型,那么“Linux”这个词一定不会陌生。它可能是你求职JD上“熟悉Linux操作”的要求,也可能是你部署服务时遇到的第一个拦路虎。很多人对Linux的初印象是:黑乎乎的终端、复杂的命令、稍有不…

2026/7/28 22:24:13 阅读更多 →

日新闻

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:43 阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻