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

用.net做购物网站推广网站文案素材

用.net做购物网站,推广网站文案素材,南宁手机平台网站,廊坊seo扣费一、对话记忆 (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/571052.html

相关文章:

  • wordpress 改变滑页连云港seo公司
  • 怎么让网站排名上去天津网站开发网站
  • 怎么给自己公司做网站wordpress写文章500
  • 石家庄自适应网站建设常德市建设局网站
  • 企业网站色彩asp做登入网站
  • 潇朋友免费班级网站建设系统天津企业网站制作公司
  • 专门做spa的网站百度建设公司网站
  • 手机门户网站开发网站备案如何申请
  • 建设网站网址是多少中小微企业名录查询系统
  • 广西建设工会网站oa系统登录入口
  • 江苏省医院网站建设管理规范网站文本编辑器
  • 网站关键词排名优化系统岳阳建设银行网站
  • 太原建网站的公司wordpress下载5.11
  • 如何用c 做网站背景住房和城乡建设部网站第九批
  • logo网站做内网网站教程
  • 鄂尔多斯市网站建设闵行网络推广公司
  • 甜点网站要怎么做重庆做网站找谁
  • 在线h5免费制作网站查询网址域名ip地址
  • 营销型网站建设ppt陕西网站推广费用
  • 2018年主流网站开发语言网络直接营销渠道
  • 企业微网站哪家好为wordpress配置邮箱服务
  • 旅游分析 网站品牌logo查询网
  • 网站开发制作包括哪些的基本流程手机网站改版公司
  • phpcms 怎么做视频网站首页在网站做的pdf有水印如何删除
  • 定期做图书推荐的网站十大互联网营销公司
  • 网站制作公司上海做互联网推广的公司
  • 物流网站免费源码保定小程序开发公司
  • 网站开发公司不干了长沙手机网站设计公司
  • 邯郸中国建设银行网站自己如何建设外贸网站建站
  • seo网站查询工具东莞百度seo找谁