【SpringAI Alibaba】快速搭建带对话记忆与历史追溯的 智能客服聊天机器人

【SpringAI Alibaba】快速搭建带对话记忆与历史追溯的 智能客服聊天机器人

 🔥个人主页: 中草药

 🔥专栏:【Java】登神长阶 史诗般的Java成神之路


Spring AI Alibaba

Spring AI Alibaba 官网_快速构建 JAVA AI 应用

Spring AI Alibaba 是阿里巴巴集团在人工智能领域推出的重要技术框架,它将 Spring 生态的工程化优势与阿里云的大模型能力深度结合,为 Java 开发者提供了一站式的 AI 应用开发解决方案。同时Spring AI Alibaba能够很好的对接阿里云的其他服务,天然生态整合

快速上手

阿里云百炼的模型服务

大模型服务平台百炼控制台

        阿里云百炼是阿里云推出的企业级大模型服务平台,旨在为开发者和企业提供从模型调用、应用构建到生产部署的全链路解决方案,类似于前文提到的硅基流动,同样有免费额度。

pom

<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud.ai</groupId> <artifactId>spring-ai-alibaba-starter-dashscope</artifactId> <version>1.0.0.2</version> </dependency> </dependencies>

yml

server: port: 8082 spring: application: name: spring-alibaba-demo ai: dashscope: api-key: sk-XXXXXX logging: pattern: console: "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" file: "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"

测试demo

@RequestMapping("/ali") @RestController public class AliController { private final ChatClient dashScopeChatClient; public AliController(ChatClient.Builder chatClientBuilder) { this.dashScopeChatClient = chatClientBuilder.build(); } @GetMapping("/chat") public String chat(String message) { return dashScopeChatClient.prompt(message).call().content(); } }

ChatClient

由于Spring AI Alibaba 是基于 Spring AI 开发的,因此 Spring AI ChatClient具备的功能,Spring AI Alibaba 大多也具备,比如流式响应,返回实体类等。

Chat Client-阿里云Spring AI Alibaba官网官网

测试demo

package com.examp

Read more

NestJS 核心揭秘:InstanceWrapper 的艺术与前端缓存新思路

NestJS 核心揭秘:InstanceWrapper 的艺术与前端缓存新思路

文章目录 * 概述 * 第一部分:深入幕后——NestJS 的“实例管家” InstanceWrapper * 一、核心职责:不止于封装 * 二、关键属性解构(增强版) * 三、一个实例的生命旅程 * 第二部分:灵感跨界——构建前端页面的“InstanceWrapper”缓存层 * 一、设计哲学:前端数据包装器 * 二、定义我们的“前端 InstanceWrapper” * 三、实现缓存管理器与 React Hook * 四、使用场景示例 * 总结 。 概述 在 NestJS 构建的精密后端世界里,依赖注入(DI)是其生命线。而在这条生命线的核心,有一个默默无闻却至关重要的角色——InstanceWrapper。它不仅是 NestJS 容器中的“实例管家”,更是整个框架实现高效、

【前端】使用Vue3过程中遇到加载无效设置点击方法提示不存在的情况,原来是少加了一个属性

【前端】使用Vue3过程中遇到加载无效设置点击方法提示不存在的情况,原来是少加了一个属性

🌹欢迎来到《小5讲堂》🌹 🌹这是《前端》系列文章,每篇文章将以博主理解的角度展开讲解。🌹 🌹温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!🌹 目录 * 前言 * 提示报错 * 问题分析 * 1. **Options API vs Composition API 风格差异** * ✅ **Options API 写法(方法直接放在外面)** * ✅ **Composition API 写法(方法必须在 setup 中定义)** * ✅ **`<script setup>` 语法糖(最简洁的 Composition API)** * 2. **为什么你的代码会报错?** * 3. **解决方案** * 方案 1:改用 **Options API**(适合从 Vue

Flutter 三方库 react 泛前端核心范式框架鸿蒙原生层生态级双向超能适配:跨时空重塑响应式单向数据流拓扑与高度精密生命周期树引擎解耦视图渲染控制中枢(适配鸿蒙 HarmonyOS ohos)

Flutter 三方库 react 泛前端核心范式框架鸿蒙原生层生态级双向超能适配:跨时空重塑响应式单向数据流拓扑与高度精密生命周期树引擎解耦视图渲染控制中枢(适配鸿蒙 HarmonyOS ohos)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 react 泛前端核心范式框架鸿蒙原生层生态级双向超能适配:跨时空重塑响应式单向数据流拓扑与高度精密生命周期树引擎解耦视图渲染控制中枢 前言 在 OpenHarmony 的大型应用开发中,面对如分布式协同白板、复杂仪表盘或多端动态配置等业务,如何优雅地组织繁杂的交互逻辑是每个架构师的宿命。虽然 Flutter 本身已有完善的 Widget 体系,但在处理极其深度的“逻辑-视图”分离时,借鉴前端 React 思想的库可以提供更高级的抽象。react 库(注:指 Dart 生态中模拟 React 核心 API 的封装库)为开发者提供了声明式、可组合的状态管理逻辑。本文将调研其在鸿蒙端的集成实战,探索逻辑复用的新边界。 一、原理解析 / 概念介绍 1.1 基础原理/概念介绍 react

2026年AI PPT生成工具终极排行榜:ChatPPT稳居榜首,谁是效率之王?

2026年AI PPT生成工具终极排行榜:ChatPPT稳居榜首,谁是效率之王?

2026年AI PPT生成工具终极排行榜:ChatPPT稳居榜首,谁是效率之王? 在快节奏的职场与学术环境中,制作一份专业、美观的演示文稿(PPT)往往耗费大量时间与精力。从内容构思、逻辑构建到视觉设计,每个环节都可能成为“时间黑洞”。随着人工智能技术的成熟,AI生成PPT工具应运而生,它们承诺将用户从繁琐的制作流程中解放出来,实现“一句话生成专业PPT”的飞跃。然而,市场上工具繁多,质量参差不齐,究竟哪一款才能真正理解用户需求,提供全链路的高效服务? 本文基于多维度深度测评与用户真实反馈,为您呈现2026年AI PPT生成工具权威排行榜。评测标准涵盖内容生成质量、逻辑架构能力、视觉设计水平、编辑灵活性、文件兼容性、使用成本及本土化支持等核心维度。最终,ChatPPT凭借其“全链路一体化服务能力”脱颖而出,以绝对优势夺得冠军。 评测标准与方法论 为确保榜单的客观性与实用性,我们设立了以下六大核心评估维度,每项满分10分,综合加权得出最终评分: 1. 内容生成与逻辑准确性(20%):AI是否深度理解用户指令,生成内容是否贴合主题、逻辑清晰,并严格尊重原始文档的数据与表述,