当前位置: 首页 > news >正文

公司网站怎么建站微网站如何做微信支付宝支付

公司网站怎么建站,微网站如何做微信支付宝支付,中山建网站找哪家,郑州哪家医院看妇科比较专业核心需求拆解​ 首先得明确什么是 “记忆隔离”。在对话系统里,这意味着:​ 用户 A 的历史对话不能被用户 B 获取​同一用户的多轮对话必须保持上下文连贯​ 技术选型思路​SpringAI 本身提供了对话记忆(ChatMemory),如…

核心需求拆解​

首先得明确什么是 “记忆隔离”。在对话系统里,这意味着:​

  • 用户 A 的历史对话不能被用户 B 获取​
  • 同一用户的多轮对话必须保持上下文连贯​

技术选型思路​

SpringAI 本身提供了对话记忆(ChatMemory),如果不用这个的话就得手动维护一轮对话中上下文内容,会非常麻烦,ChatMemory实际上内部也是封装了一个map,这个map大致就是Map<用户id,List<消息>>这样子的结构,通过这个id进行用户的记忆隔离。本文先用基于内存的方式实现
在这里插入图片描述

实现步骤详解

1.导入ChatMemory所用到的包,使用ChatMemoryAutoConfigure配置类

 <dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-autoconfigure-model-chat-memory</artifactId></dependency>

2.在构造出ChatClient加上ChatMemory的配置

ChatClient chatClient = ChatClient.builder(dashScopeChatModel)//chatMemory专门提供存储记录的功能.defaultAdvisors(PromptChatMemoryAdvisor.builder(chatMemory).build()).defaultOptions(ChatOptions.builder().temperature(0.1).build()).build();

3.在Promt设置用户id

 String content = chatClient.prompt().user("我是路飞").advisors(pcm -> {pcm.param(ChatMemory.CONVERSATION_ID, userId1);}).call().content();

ChatMemory.CONVERSATION_ID是一个key的标识 通过这个标识来确定是哪个用户
在这里插入图片描述

效果展示

在这里插入图片描述

完整代码

@RestController
public class IsolationController {@Autowiredprivate DashScopeChatModel dashScopeChatModel;@Autowiredprivate ChatMemory chatMemory;@GetMapping("/ci")public void ConversationIsolation() {//假设有两个用户idString userId1="userId1";String userId2="userId2";ChatClient chatClient = ChatClient.builder(dashScopeChatModel)//chatMemory专门提供存储记录的功能.defaultAdvisors(PromptChatMemoryAdvisor.builder(chatMemory).build()).defaultOptions(ChatOptions.builder().temperature(0.1).build()).build();String content = chatClient.prompt().user("我是路飞").advisors(pcm -> {pcm.param(ChatMemory.CONVERSATION_ID, userId1);}).call().content();System.out.println(content);System.out.println("-------------------------------------------我是分割线---------------------------------------");String content1 = chatClient.prompt().user("我是谁???").advisors(pcm -> {pcm.param(ChatMemory.CONVERSATION_ID, userId1);}).call().content();System.out.println(content1);System.out.println("-------------------------------------------我是分割线---------------------------------------");String content2 = chatClient.prompt().user("我是谁???").advisors(pcm -> {pcm.param(ChatMemory.CONVERSATION_ID, userId2);}).call().content();System.out.println(content2);}}
http://www.dtcms.com/a/449610.html

相关文章:

  • Ubuntu 原地升级 MongoDB 全攻略
  • 网站变灰色代码安徽省建设工程信息网官网是什么网站
  • Hexo博客搭建系列(四):透明居中导航栏+鼠标悬停放大效果
  • 【STM32项目开源】基于STM32的智能仓库火灾检测系统
  • 陕西省建设监理协会网站证书wordpress 图片外链
  • 做模板网站企业网站类型
  • 24H2壁纸显示错误修复(针对vb.net的紧急加更)
  • 兰州做网站 东方商易怎么样做美术招生信息网站
  • 酒店客房管理系统|基于SpringBoot和Vue的酒店客房管理系统(源码+数据库+文档)
  • AI编程开发系统019-基于Vue+SpringBoot的邮件收发系统(源码+部署说明+演示视频+源码介绍+lw)
  • 做海免费素材网站排版设计模板
  • 212-基于Python的老人健康管理系统
  • 万能格式文件查看工具,支持查看图像、音视频和文档等,免安装超方便!
  • 做食品企业网站的费用wordpress文章图片全屏浏览
  • 韩国免费行情网站的推荐理由外贸 wordpress
  • 嵌入式开发核心知识点详解教程
  • 操作系统应用开发(二十六)RustDesk tls证书不匹配错误—东方仙盟筑基期
  • 如何制作个人网站住建局查询房产信息
  • 西安网站建设hyk123wordpress帖子添加代码
  • 乐理知识学习内容
  • 新手SEO教程:高效提升网站访问量的实用技巧与策略
  • 代码文件内容
  • 一款基于ESP32的导航小车
  • 自己建设网站赚钱湘潭网站建设 要选磐石网络
  • Python图形界面——TKinter
  • 深圳策划公司网站建设大型网站制作品牌
  • Django 配置与安装完整指南
  • seo网站优化方法网站建设技术指标
  • Javaweb(BeanUtils)
  • Oracle数据库imp/exp