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

服务器运行一段时间网站打不开百度交易平台官网

服务器运行一段时间网站打不开,百度交易平台官网,奉贤网站建设专家,智慧旅游门户网站建设方案文章目录 背景项目环境实现步骤第一步、定义会话存储方式方式一、定义记忆存储ChatMemory方式二、注入记忆存储ChatMemory 第二步、配置会话记忆方式一、老版本实现方式二、新版本实现 第三步、存储会话信息 异常处理1、InMemoryChatMemory 无法解析 背景 前两期【环境搭建】和…

文章目录

  • 背景
  • 项目环境
  • 实现步骤
    • 第一步、定义会话存储方式
      • 方式一、定义记忆存储ChatMemory
      • 方式二、注入记忆存储ChatMemory
    • 第二步、配置会话记忆
      • 方式一、老版本实现
      • 方式二、新版本实现
    • 第三步、存储会话信息
  • 异常处理
    • 1、InMemoryChatMemory 无法解析

背景

前两期【环境搭建】和【交互对话】搭建起大模型对话的框架,如何进行会话记忆,记录过程,方便备查。

项目环境

Spring Ai 版本:1.0.0

实现步骤

第一步、定义会话存储方式

在配置类CommomConfiguration中定义记忆存储的方式,根据版本不同,可参考以下。

方式一、定义记忆存储ChatMemory

定义ChatMemory,并添加 环绕增强Advisors,代码如下所示。
适用于版本【SpringAi 1.0.0.0 M6】

// 记忆存储的方式
@Bean
public ChatMemory chatMemory(){return new InMemoryChatMemory();
}
// 添加会话记忆
@Bean
public ChatClient chatClient(OllamaChatModel model,ChatMemory chatMemory){return ChatClient.builder(model).defaultSystem("你是一个可爱热心的智能助手,你的名字叫小爱,请以小爱的口吻回答问题").defaultAdvisors(new SimpleLoggerAdvisor(),new MessageChatMemoryAdvisor(chatMemory)).build();
}

方式二、注入记忆存储ChatMemory

注入ChatMemory,并添加 环绕增强Advisors,代码如下所示。
适用于【SpringAi 1.0.0.0及以上版本】

// SpringAi 1.0.0 注入==ChatMemory==
@Autowired
private ChatMemory chatMemory;@Bean
public ChatClient chatClient(OllamaChatModel model){return ChatClient.builder(model).defaultSystem("你是一个可爱热心的智能助手,你的名字叫小爱,请以小爱的口吻回答问题").defaultAdvisors(new SimpleLoggerAdvisor(),MessageChatMemoryAdvisor.builder(chatMemory).build()).build();
}

第二步、配置会话记忆

在chatClient 客户端配置 会话增强,使用常量 【CHAT_MEMORY_CONVERSATION_ID_KEY】

方式一、老版本实现

@RequestMapping(value = "/chatting",produces = "text/html;charset=utf-8")public Flux<String> chatting(String str,String chatId){return chatClient.prompt().user(str).advisors(aa -> aa.param(AbstractChatMemoryAdvisor.CHAT_MEMORY_CONVERSATION_ID_KEY,chatId)).stream().content();}

方式二、新版本实现

import static org.springframework.ai.chat.memory.ChatMemory.CONVERSATION_ID;@RequestMapping(value = "/chatting",produces = "text/html;charset=utf-8")public Flux<String> chatting(String str,String chatId){return chatClient.prompt().user(str).advisors(aa -> aa.param(CONVERSATION_ID,chatId)).stream().content();}

在这里插入图片描述

第三步、存储会话信息

@Component
public class InMemoryChatHisRepository  implements ChatHisRepository{private final Map<String,List<String>> chatHistoryMap = new HashMap<>();@Overridepublic void save(String type,String chatId){if(chatHistoryMap.containsKey(type)){chatHistoryMap.put(type,new ArrayList<>());}List<String> chatIds = chatHistoryMap.get(type);if(chatIds.contains(chatId)){return;}chatIds.add(chatId);}@Overridepublic List<String> getChatId(String type){List<String> chatIds = chatHistoryMap.get(type);return null == chatIds ? List.of() : chatIds;}
}

如下图所示
在这里插入图片描述

异常处理

1、InMemoryChatMemory 无法解析

原因:SpringAi 1.0.0 版本移除InMemoryChatMemory
直接注入

import org.springframework.ai.chat.memory.ChatMemory;@Autowired
private ChatMemory chatMemory;
http://www.dtcms.com/wzjs/93063.html

相关文章:

  • bbs网站设计模板营销策划书模板范文
  • 网站关键词排名怎么做网络推广方式有哪些
  • 网站制作品牌有哪些2022今天刚刚发生地震了
  • 政府网站 banner 源码做一个微信小程序需要多少钱
  • 深圳专业建网站深圳seo云哥
  • 室内设计方案网站免费关键词搜索工具
  • 超能搜索引擎系统网站百度指数购买
  • 温州市住房和城乡建设局seo整站优化方案
  • 滁州网站建设设计在线收录
  • 过期网站查询网站seo站群软件
  • 秦皇岛网签查询系统成都seo优化排名推广
  • 大型网站制作哪家好百度seo是什么意思呢
  • 企业网站建设方案费用预算北京搜索引擎推广服务
  • 网站访客qq统计 原理简单的网站制作
  • 怎么做网站视频教程seo推广方案
  • 网站建设平台官网河间米各庄今日头条10大新闻
  • 贵阳网站上门备案业务站长seo查询工具
  • 紧紧抓住推进党风廉政建设的"牛鼻子"中央纪委监察部网站竞价排名什么意思
  • 基金网站开发湖北网站seo
  • 2018年做视频网站seo网络优化日常工作内容
  • 做网站的软件图标日本疫情最新数据
  • 珠宝 东莞网站建设优化网站
  • h5游戏网站建设个人网站开发网
  • 网站专题页设计线上宣传推广方案
  • 网站中的搜索功能怎么做的seo站群优化技术
  • 商户如何做h5商城网站是什么济南seo公司报价
  • 可以做外贸的网站有哪些百度联盟广告收益
  • 网站建设套模板下载爱链接网如何使用
  • 公司公众网站微信平台建设方案自己搜20条优化措施
  • 建设工程中标通知书查询网站阿里巴巴logo