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

win2008r2 iis配置网站sem代运营托管公司

win2008r2 iis配置网站,sem代运营托管公司,阿里云服务器官网入口,机关门花网站建设一、对话记忆 (ChatMemory)简介 1、对话记忆介绍 ”大模型的对话记忆”这一概念,根植于人工智能与自然语言处理领域,特别是针对具有深度学习能力的大型语言模型而言,它指的是模型在与用户进行交互式对话过程中,能够追踪、理解并利…

一、对话记忆 (ChatMemory)简介

1、对话记忆介绍

”大模型的对话记忆”这一概念,根植于人工智能与自然语言处理领域,特别是针对具有深度学习能力的大型语言模型而言,它指的是模型在与用户进行交互式对话过程中,能够追踪、理解并利用先前对话上下文的能力。

此机制使得大模型不仅能够响应即时的输入请求,还能基于之前的交流内容能够在对话中记住先前的对话内容,并根据这些信息进行后续的响应。

这种记忆机制使得模型能够在对话中持续跟踪和理解用户的意图和上下文,从而实现更自然和连贯的对话。

2、基于memory的对话记忆

spring-ai-alibaba支持基于chat memory的对话记忆,也就是不需要调用显示的记录每一轮的对话历史。而是将对话的上下文内容进行存储和记录。

开发者可以自行实现ChatMemory基于类似于文件、内存,MySQL,Redis等方式进行上下文内容的存储和记录。

二、对话记忆 (ChatMemory)使用

Spring AI Alibaba 对话记忆 (ChatMemory):https://java2ai.com/docs/1.0.0-M6.1/tutorials/memory/

Spring AI Alibaba 支持以上 Model 抽象与通义系列模型的适配,并通过 spring-ai-alibaba-starter AutoConfiguration 自动初始化了默认实例,因此我们可以在应用程序中直接注入 ChatModel、ImageModel 等 bean,当然在需要的时候也可以自定义 Model 实例。

1、基于内存存储的对话记忆实现

在普通 Controller Bean 中注入 ChatMemory 实例,实现下面几个功能:

  • 简单调用
  • 流式调用

由于 InMemoryChatMemory是内置支持,所以我们直接使用它。

编写 Controller接口

/*** 基于内存的对话记忆*/
@Slf4j
@RestController
@RequestMapping("/dashscope/chat-memory/inMemory")
public class DashScopeMemoryInMemoryController {//初始化基于内存的对话记忆private ChatMemory chatMemory = new InMemoryChatMemory();private final ChatClient dashScopeChatClient;public DashScopeMemoryInMemoryController(ChatModel chatModel) {this.dashScopeChatClient = ChatClient.builder(chatModel).build();}/*** 获取对话的唯一标识接口*/@GetMapping("/getChatId")public String getChatId() {//对话记忆的唯一标识String chatId = UuidUtils.generateUuid();return chatId;}/*** 简单调用*/@GetMapping("/simple/chat")public String simpleChat(@RequestParam(defaultValue = "你好,介绍下你自己!") String userInputPrompt,@RequestParam("chatId") String chatId) {//对话记忆的唯一标识if (StringUtils.isBlank(chatId)) {return "chatId is null";}String aiOutput = dashScopeChatClient.prompt(userInputPrompt).advisors(new MessageChatMemoryAdvisor(chatMemory)).advisors(a -> a.param(CHAT_MEMORY_CONVERSATION_ID_KEY, chatId).param(CHAT_MEMORY_RETRIEVE_SIZE_KEY, 100)).call().content();log.info("simpleChat --> userInputPrompt = {}", userInputPrompt);return aiOutput;}/*** 流式调用。* 可以使大模型的输出信息实现打字机效果。*/@GetMapping("/stream/chat")public Flux<String> streamChat(HttpServletResponse response,@RequestParam(defaultValue = "你好,介绍下你自己!") String userInputPrompt,@RequestParam("chatId") String chatId) {// 避免接口返回乱码response.setCharacterEncoding("UTF-8");log.info("streamChat --> userInputPrompt ={}", userInputPrompt);Flux<String> aiOutput = dashScopeChatClient.prompt(userInputPrompt).advisors(new MessageChatMemoryAdvisor(chatMemory)).advisors(a -> a.param(CHAT_MEMORY_CONVERSATION_ID_KEY, chatId).param(CHAT_MEMORY_RETRIEVE_SIZE_KEY, 100)).stream().content();return aiOutput;}}

启动项目,访问接口与 AI 大模型智能对话。

我们获取到对话id之后,进行下面多轮的对话,对话记忆机制生效。

  1. 你是一个旅游规划师
  2. 我想去西安
  3. 能帮我推荐一些旅游景点吗?
  4. 那里的美食如何?
  5. 那里有什么样的历史文化?

在这里插入图片描述
在这里插入图片描述

基于 MySQL,Redis等方式进行上下文内容的存储和记录,需要我们引入官方依赖,然后将 InMemoryChatMemory替换为对应的MySQL,Redis方式并配置连接信息。

– 求知若饥,虚心若愚。

http://www.dtcms.com/wzjs/463277.html

相关文章:

  • 豪华网站建设市场调研报告最佳范文
  • 互动网站设计与制作淘宝seo优化怎么做
  • 网站维护广州建网站seo编辑的工作内容
  • wordpress数据库配置失败网站排名优化专业定制
  • 网站模版 蓝色免费推广论坛
  • wordpress多站点功能百度搜索引擎怎么弄
  • 最新设计网站大全重庆seo网络推广
  • 哪些网站可以做外链长沙网站提升排名
  • 如何看别人网站用什么做的著名的营销成功的案例
  • 公安网站备案电话拉新推广
  • 汽车配件网上商城优化大师官网下载安装
  • 网站建设游戏开发重庆网站seo技术
  • 网站建设zvge网络推广方法大全
  • 做网站怎么样百度平台营销宝典
  • 网站权重6了该则么做优化方案网站优化排名方法有哪些
  • 怎么做m开头的网站市场营销模式有哪些
  • 进入百度公司很难吗网站排名优化首页
  • 品牌微营销网站建设seo优化的主要内容
  • 彩票自己开盘做网站竞价推广开户多少钱
  • 商城网站jq楼层响应全媒体广告投放平台
  • 关于华大18年专注seo服务网站制作应用开发网站网络推广公司
  • 网站的ftp上传地址营销团队公司
  • 装修上什么网站比较好今日国际新闻10条
  • 个人网站可以做淘客全网软文推广
  • 深圳宝安区律师事务所seo资源网站 排名
  • 代运营公司哪家好推广seo是什么意思
  • 加盟网网站建设制作网页模板
  • 中国十大含金量证书2020做seo还有出路吗
  • 搭建网站钱志鸿优化设计
  • 自己做网站用花钱么第三方营销平台有哪些