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

(二 十 二)趣学设计模式 之 备忘录模式!

在这里插入图片描述

目录

    • 一、 啥是备忘录模式?
    • 二、 为什么要用备忘录模式?
    • 三、 备忘录模式的实现方式
    • 四、 备忘录模式的优缺点
    • 五、 备忘录模式的应用场景
    • 六、 总结

🌟我的其他文章也讲解的比较有趣😁,如果喜欢博主的讲解方式,可以多多支持一下,感谢🤗!
🌟了解访问者模式请看: (二 十 一)趣学设计模式 之 访问者模式!
✨更多请看个人主页: 码熔burning

这篇文章带你详细认识一下设计模式中的备忘录模式

一、 啥是备忘录模式?

想象一下,你在玩一个游戏 🎮,你打到了一个很高的分数,但是你怕后面会失误,导致分数降低 📉。 这时候,你可以保存一个游戏存档 💾,这样即使你后面失误了,也可以读档回到之前的状态 🕹️。

备忘录模式,就是在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到保存的状态! 简单来说,就是给对象做一个“快照”,方便以后恢复 📸。

简单来说,就是给对象创建一个“存档点”,以便在需要的时候可以“读档重来”! 💾+🕹️

  • 你需要保存一个对象的内部状态,以便以后可以恢复: 就像你需要保存游戏存档,以便在失误后可以读档 🎮!
  • 你不想破坏对象的封装性: 就像你不想直接访问游戏内部的数据,而是通过存档来保存状态 💾!
  • 你需要支持撤销操作: 就像你需要支持游戏中的“悔棋”功能 🔙!

二、 为什么要用备忘录模式?

用备忘录模式,好处多多 👍:

  • 保存状态: 可以保存对象的内部状态,方便以后恢复 💾!
  • 保护封装性: 不破坏对象的封装性 🔒!
  • 支持撤销: 可以支持撤销操作 🔙!
  • 简化对象: 可以将复杂的对象状态存储到备忘录中,简化对象本身 🧘!

三、 备忘录模式的实现方式

备忘录模式主要包含以下几个角色:

  • 发起人(Originator): 创建备忘录,并使用备忘录恢复自身状态 🕹️。
  • 备忘录(Memento): 存储发起人的内部状态 💾。
  • 管理者(Caretaker): 负责保存备忘录,但不检查备忘录的内容 📦。

代码示例:

// 备忘录:游戏存档
class GameMemento {private int score; // 分数private int level; // 关卡public GameMemento(int score, int level) {this.score = score;this.level = level;}public int getScore() {return score;}public int getLevel() {return level;}
}// 发起人:游戏角色
class GameRole {private int score; // 分数private int level; // 关卡public GameRole(int score, int level) {this.score = score;this.level = level;}public int getScore() {return score;}public void setScore(int score) {this.score = score;}public int getLevel() {return level;}public void setLevel(int level) {this.level = level;}// 创建备忘录public GameMemento createMemento() {return new GameMemento(score, level);}// 从备忘录恢复状态public void restoreMemento(GameMemento memento) {this.score = memento.getScore();this.level = memento.getLevel();}// 显示游戏状态public void display() {System.out.println("当前分数:" + score + ",当前关卡:" + level);}
}// 管理者:存档管理器
class Caretaker {private GameMemento memento; // 备忘录public GameMemento getMemento() {return memento;}public void setMemento(GameMemento memento) {this.memento = memento;}
}// 客户端
public class Client {public static void main(String[] args) {GameRole gameRole = new GameRole(1000, 5); // 创建游戏角色gameRole.display(); // 显示游戏状态Caretaker caretaker = new Caretaker(); // 创建存档管理器caretaker.setMemento(gameRole.createMemento()); // 保存游戏存档gameRole.setScore(500); // 游戏失误,分数降低gameRole.setLevel(3); // 关卡降低gameRole.display(); // 显示游戏状态gameRole.restoreMemento(caretaker.getMemento()); // 读档gameRole.display(); // 显示游戏状态}
}

分析:

  • GameMemento 是备忘录,存储了游戏角色的分数和关卡。
  • GameRole 是发起人,可以创建备忘录,并使用备忘录恢复自身状态。
  • Caretaker 是管理者,负责保存备忘录。

输出结果:

当前分数:1000,当前关卡:5
当前分数:500,当前关卡:3
当前分数:1000,当前关卡:5

四、 备忘录模式的优缺点

优点:

  • 保存状态 💾!
  • 保护封装性 🔒!
  • 支持撤销 🔙!
  • 简化对象 🧘!

缺点:

  • 增加了存储成本(需要存储备忘录) 💰!
  • 管理备忘录可能会比较复杂 📦!

五、 备忘录模式的应用场景

  • 需要保存一个对象的内部状态,以便以后可以恢复: 就像你需要保存游戏存档,以便在失误后可以读档 🎮!
  • 需要支持撤销操作: 就像你需要支持游戏中的“悔棋”功能 🔙!
  • 需要在事务管理中实现回滚操作: 就像数据库事务需要支持回滚操作 🔄!
  • 需要在编辑器中实现撤销/重做功能: 就像 Word 编辑器需要支持撤销/重做功能 📝!

六、 总结

  • 备忘录模式就像给对象创建一个“存档点”,以便在需要的时候可以“读档重来”! 💾+🕹️
  • 优点是保存状态、保护封装性、支持撤销、简化对象! 👍
  • 缺点是增加存储成本、管理备忘录复杂! 👎
  • 适用于需要保存对象状态,并支持撤销操作的场景! 🎯

希望这篇文章能让你彻底理解备忘录模式! 💯 祝你学习愉快! 😄
看完请看:(二 十 三)趣学设计模式 之 解释器模式!

相关文章:

(二 十 二)趣学设计模式 之 备忘录模式!

目录 一、 啥是备忘录模式?二、 为什么要用备忘录模式?三、 备忘录模式的实现方式四、 备忘录模式的优缺点五、 备忘录模式的应用场景六、 总结 🌟我的其他文章也讲解的比较有趣😁,如果喜欢博主的讲解方式,…...

物联网同RFID功能形态 使用场景的替代品

在物联网(IoT)和自动识别技术领域,除了RFID标签外,还有一些其他技术产品可以在形态和大小上与RFID标签相似,同时提供类似或更强大的功能。以下是几种能够替代RFID标签的产品: 一、NFC标签 NFC(…...

蓝陵科技:以“数字底座”之力,全面布局影视行业工业化

“在数字技术与文化产业深度融合的今天,海南蓝陵数字科技有限公司(以下简称蓝陵科技)凭借其卓越的渲染实力和前瞻性的战略布局,正逐步成为推动中国影视行业工业化进程的重要力量。2025年2月,蓝陵科技不仅获得了陵水融媒…...

React + TypeScript 实战指南:用类型守护你的组件

TypeScript 为 React 开发带来了强大的类型安全保障,这里解析常见的一些TS写法: 一、组件基础类型 1. 函数组件定义 // 显式声明 Props 类型并标注返回值 interface WelcomeProps {name: string;age?: number; // 可选属性 }const Welcome: React.FC…...

本地部署大数据集群前置准备

1. 设置VMware网段 虚拟网络编辑器——更改设置——选择VMnet8——子网改成192.168.88.0——NAT设置——网关设置为192.168.88.2 2. 下载CentOS操作系统 下载CentOS 7.6(1810)版本 3. 在VMware中安装CentOS操作系统 创建新的虚拟机——典型——安装光盘映像文件——输入账…...

016.3月夏令营:数理类

016.3月夏令营:数理类: 中国人民大学统计学院: http://www.eeban.com/forum.php?modviewthread&tid386109 北京大学化学学院第一轮: http://www.eeban.com/forum.php?m ... 6026&extrapage%3D1 香港大学化学系夏令营&a…...

历年北京理工大学计算机复试上机真题

历年北京理工大学计算机复试上机真题 在线评测&#xff1a;https://app2098.acapp.acwing.com.cn/ 分段函数 题目描述 编写程序&#xff0c;计算下列分段函数 yf(x) 的值。 当 0< x <2&#xff0c;y -x2.5&#xff1b;当 2< x <4&#xff0c;y2-1.5(x-3)(x-3)…...

Linux的缓存I/O和无缓存IO

一、I/O缓存的背景 I/O缓存是指在内存里开辟一块区域&#xff0c;存放用来接收用户输入和用于计算机输出的数据&#xff0c;以减小系统开销和提高外设效率。linux对IO文件的操作分为不带缓存的IO操作和带缓存的IO操作&#xff08;标准IO操作&#xff09;。为什么存在C标准I/O库…...

题目 3216 ⭐团建⭐【DFS】蓝桥杯2024年第十五届省赛

小蓝正在和朋友们团建&#xff0c;有一个游戏项目需要两人合作&#xff0c;两个人分别拿到一棵大小为 n 和 m 的树&#xff0c;树上的每个结点上有一个正整数权值 c 1 , c 2 , ⋅ ⋅ ⋅ , c n c_1, c_2, , c_n c1​,c2​,⋅⋅⋅,cn​, d 1 , d 2 , ⋅ ⋅ ⋅ , d m d_1, d_…...

从0到1入门Linux

一、常用命令 ls 列出目录内容 cd切换目录mkdir创建新目录rm删除文件或目录cp复制文件或目录mv移动或重命名文件和目录cat查看文件内容grep在文件中查找指定字符串ps查看当前进程状态top查看内存kill终止进程df -h查看磁盘空间存储情况iotop -o直接查看比较高的磁盘读写程序up…...

战略合作升级 | 大势智慧携手广西地测院,共绘智慧测绘新蓝图

2月26日&#xff0c;武汉大势智慧科技有限公司&#xff08;以下简称“大势智慧”&#xff09;与广西壮族自治区地理信息测绘院&#xff08;以下简称“广西地测院”&#xff09;在南宁举行战略合作升级签约仪式暨技术交流座谈会。 大势智慧董事长黄先锋与广西地测院党委书记、院…...

批量插入对比-mysql-oracle-sqlserver

单个插入mysql //单个 根据有值就插入&#xff0c;无值不改动 <insert id"insertOne" keyColumn"id" keyProperty"id"parameterType"com.test.log" useGeneratedKeys"true">insert into test_mysql_tab<trim p…...

jmeter阶梯式压测

1、安装plugins manager 链接 Install :: JMeter-Plugins.org 将下载下来的jar包放置在jemter文件的lib\ext下&#xff0c; 重启Jmeter 2、安装阶梯测试第三方插件 在Available Plugins中找到Custom Thread Groups&#xff0c;点击Apply Changes and Restart JMeter后等待插件…...

nginx.conf 完整配置总结概述

----------------------------------------------------------- /usr/local/nginx/sbin/nginx -s reload # 重新载入配置文件 /usr/local/nginx/sbin/nginx -s reopen # 重启 Nginx /usr/local/nginx/sbin/nginx -s stop # 停止 Nginx /usr/local/nginx/sbin/nginx …...

docker常规命令和高级用法

Docker 是一个强大的容器化平台&#xff0c;提供了丰富的命令和功能来管理容器、镜像、网络和存储等。以下是一些常用的 Docker 命令及其高级用法。 1. 容器管理 1.1 启动容器 基本用法&#xff1a; docker run <image_name>示例&#xff1a; docker run ubuntu高级用法…...

Spark核心之02:常用算子详解

1、RDD操作详解 # 启动spark-shell spark-shell --master local[2] 1.1 基本转换 1) map map是对RDD中的每个元素都执行一个指定的函数来产生一个新的RDD。 任何原RDD中的元素在新RDD中都有且只有一个元素与之对应。 举例&#xff1a; scala> val a sc.parallelize(1 …...

【CSS—前端快速入门】CSS 常用样式

CSS 常用 CSS 样式 1. 前端样式查询网站&#xff1a; MDN Web Docs (mozilla.org) w3school 2. border 2.1 借助 MDN 了解 border 我们借助 MDN 网站来学习 border 样式的使用&#xff1a; 2.2 border 常见属性 保存代码&#xff0c;打开页面&#xff1a; 对于标签不同样式的…...

探索DeepSeek-R1的核心秘诀:突破SFT技术的新篇章

摘要 近期&#xff0c;一种显著超越SFT&#xff08;Sequence-to-Sequence with Teacher Forcing&#xff09;的技术成为研究焦点。作为o1/DeepSeek-R1的核心秘诀&#xff0c;该技术不仅提升了模型性能&#xff0c;还成功应用于多模态大型模型中&#xff0c;实现了功能扩展。与传…...

DailyNotes 增加提醒功能

TODO&#xff1a;准备给 DailyNotes 增加一个提醒功能&#xff0c;准备接入 AI 来做一些事情。试了一下&#xff0c;非常靠谱。 具体 DailyNotes 和 Ollama 的交互方式&#xff0c;可以直接调用命令行&#xff0c;也可以走网络API。 rayuK2CD9WCYN4 ~ % ollama run deepseek-…...

[Computer Vision]实验六:视差估计

目录 一、实验内容 二、实验过程 2.1.1 test.py文件 2.1.2 test.py文件结果与分析 2.2.1 文件代码 2.2.2 结果与分析 一、实验内容 给定左右相机图片&#xff0c;估算图片的视差/深度&#xff1b;体现极线校正&#xff08;例如打印前后极线对&#xff09;、同名点匹配…...

软件测试基础:功能测试知识总结

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、测试项目启动与研读需求文档 &#xff08;一&#xff09; 组建测试团队 1、测试团队中的角色 2、测试团队的基本责任 尽早地发现软件程序、系统或产品中…...

171. Excel 表列序号

Excel 表列序号 题目描述尝试做法推荐做法 题目描述 给你一个字符串 columnTitle &#xff0c;表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。 例如&#xff1a; A -> 1 B -> 2 C -> 3 … Z -> 26 AA -> 27 AB -> 28 … 示例 1: 输入: colum…...

03.05 QT事件

实现一个绘图工具&#xff0c;具备以下功能&#xff1a; 鼠标绘制线条。 实时调整线条颜色和粗细。 橡皮擦功能&#xff0c;覆盖绘制内容。 撤销功能&#xff0c;ctrl z 快捷键撤销最后一笔 程序代码&#xff1a; <1> Widget.h: #ifndef WIDGET_H #define WIDGET…...

es如何进行refresh?

在 Elasticsearch 中,refresh 操作的作用是让最近写入的数据可以被搜索到。以下为你介绍几种常见的执行 refresh 操作的方式: 1. 使用 RESTful API 手动刷新 你可以通过向 Elasticsearch 发送 HTTP 请求来手动触发 refresh 操作。可以针对单个索引、多个索引或者所有索引进…...

unity6 打包webgl注意事项

webgl使用资源需要异步加载 使用localization插件时要注意&#xff0c;webgl不支持WaitForCompletion&#xff0c;LocalizationSettings.InitializationOperation和LocalizationSettings.StringDatabase.GetTable都不能用 web里想要看到具体的报错信息调试开启这两个&#xf…...

【前端基础】Day 9 PC端品优购项目

目录 1. 品优购项目规划 1.1 网站制作流程 1.2 品优购项目整体介绍 1.3 学习目的 1.4 开发工具以及技术栈 1.5 项目搭建工作 1.6 网站favicon图标 1.7 网站TDK三大标签SEO优化 2. 品优购首页制作 2.1 常见模块类命名 2.2 快捷导航shortcut制作 2.3 header制作 2.4…...

【django初学者项目】

下面为你详细介绍如何创建一个简单有趣的 Django 项目——博客系统。这个项目允许用户创建、查看、编辑和删除博客文章。 步骤 1&#xff1a;环境准备 首先&#xff0c;确保你已经安装了 Python 和 pip。然后&#xff0c;创建一个虚拟环境并激活它&#xff0c;接着安装 Django…...

自学微信小程序的第十三天

DAY13 1、使用map组件在页面中创建地图后&#xff0c;若想在JS文件中对地图进行控制&#xff0c;需要通过地图API来完成。先通过wx.createMapContext()方法创建MapContext&#xff08;Map上下文&#xff09;实例&#xff0c;然后通过该实例的相关方法来操作map组件。 const m…...

gitbash忽略未追踪文件的解决方式

文章目录 问题描述&#xff0c;如下图解决方式 问题描述&#xff0c;如下图 因为这些事项目本地运行或者IDE环境配置时产生的文件或目录&#xff0c;手动删除后还来出现&#xff0c;怎么实现忽略不显示呢&#xff1f; 解决方式 查看项目的根目录下是否存在.gitignore文件&…...

React生态、Vue生态与跨框架前端解决方案

React生态系统 1 基础框架 React.js 是一个用于构建UI的JavaScript库。 2 应用框架 Next.js 是基于React.js的完整应用框架。主要负责应用如何工作&#xff1a; 应用架构&#xff1a;路由系统、页面结构渲染策略&#xff1a;服务端渲染(SSR)、静态生成(SSG)、客户端渲染性…...

GPPT: Graph Pre-training and Prompt Tuning to Generalize Graph Neural Networks

GPPT: Graph Pre-training and Prompt Tuning to Generalize Graph Neural Networks KDD22 推荐指数&#xff1a;#paper/⭐⭐#​ 动机 本文探讨了图神经网络&#xff08;GNN&#xff09;在迁移学习中“预训练-微调”框架的局限性及改进方向。现有方法通过预训练&#xff08…...

【Elasticsearch】Elasticsearch 的`path.settings`是用于配置 Elasticsearch 数据和日志存储路径的重要设置

Elasticsearch 的path.settings是用于配置 Elasticsearch 数据和日志存储路径的重要设置&#xff0c;这些路径在elasticsearch.yml配置文件中定义。以下是关于 Elasticsearch 的路径设置&#xff08;path.data和path.logs&#xff09;以及快照存储库配置的详细说明&#xff1a;…...

使用vue3+element plus 的table自制的穿梭框(支持多列数据)

目录 一、效果图 二、介绍 三、代码区 一、效果图 话不多说&#xff0c;先上图 二、介绍 项目需要&#xff1a;通过穿梭框选择人员信息&#xff0c;可以根据部门、岗位进行筛选&#xff0c;需要显示多列&#xff08;不光显示姓名&#xff0c;还包括人员的一些基础信息&…...

学习笔记:IC存储总结(ROM,RAM, EEPROM, Flash, SRAM, DRAM, DDL)

一&#xff0c;概述 半导体存储器是一种可以存储大量二值信息的半导体器件。在电子计算机及一些其他的数字系统的工作过程中&#xff0c;需要对大量的数据进行储存。由于数据处理的数据量和运算速度的要求&#xff0c;因此把存储量和存取速度作为衡量存储器的重要指标。 在电子…...

本地部署pangolin获取谱系,从而达到预测新冠的流行趋势

步骤 1&#xff1a;安装Docker 注&#xff1a;此步骤忽略&#xff0c;可通过Docker官网对于文档进行安装,地址如下 Docker: Accelerated Container Application Developmenthttps://www.docker.com/ 步骤 2&#xff1a;拉取Pangolin镜像 docker pull staphb/pangolin:latest 步…...

【Python】文件File处理详细解释,附示例(文件操作、模式、编码、指针、调试、大文件处理、文件管理等)

文件 File 处理方法 1. 前言2. 文件基础操作2.1 文件打开与关闭2.2 with 语句(上下文管理器)3. 文件模式详解3.1 基础模式3.2 扩展模式4. 文件读写操作4.1 读取内容4.2 写入内容5. 文件指针和随机访问5.1 seek(offset.whence)5.2 二进制模式下的指针操作6. 文件编码处理6.1 指定…...

Windows 10/11 系统下 Git 的详细安装步骤和基础设置指南

以下是 Windows 10/11 系统下 Git 的详细安装步骤和基础设置指南&#xff1a; Windows 10/11 系统下 Git 的详细安装步骤和基础设置指南 一、详细安装步骤1. 下载 Git 安装包2. 运行安装程序1. 双击安装包&#xff0c;按以下选项配置&#xff1a;2. 点击 Install 完成安装。 二…...

RabbitMQ的四种交换机

RabbitMQ交换机 什么是RabbitMQ RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用于在分布式系统中存储和转发消息。它基于 AMQP&#xff08;高级消息队列协议&#xff09;实现&#xff0c;支持多种消息传递模式&#xff0c;广泛应用于异步通信、应用解耦、负载均衡…...

探秘基带算法:从原理到5G时代的通信变革【一】引言

文章目录 一、引言1.1 研究背景与意义1.2 研究目的与方法1.3 研究内容与创新点 本博客为系列博客&#xff0c;主要讲解各基带算法的原理与应用&#xff0c;包括&#xff1a;viterbi解码、Turbo编解码、Polar编解码、CORDIC算法、CRC校验、FFT/DFT、QAMtiaozhi/解调、QPSK调制/解…...

ES中数据刷新策略refresh

在 Elasticsearch 中&#xff0c;插入数据时的 refresh 参数控制文档在写入后何时对搜索可见&#xff0c;其行为直接影响数据可见性和系统性能。以下是 refresh 参数的三个可选值&#xff08;true、false、wait_for&#xff09;的详细说明及适用场景&#xff1a; 1. refreshtr…...

【向量数据库Weaviate】 和Elasticsearch的区别

Weaviate 和 Elasticsearch 是两种不同类型的数据库&#xff0c;设计目标和应用场景有显著差异。以下是它们的核心区别和适用场景的详细对比&#xff1a; 1. 设计目标与核心能力 维度WeaviateElasticsearch核心能力向量数据库 图数据库&#xff08;语义搜索优先&#xff09;全…...

【Wireshark 02】抓包过滤方法

一、官方教程 Wireshark 官网文档 &#xff1a; Wireshark User’s Guide 二、显示过滤器 2.1、 “数据包列表”窗格的弹出过滤菜单 例如&#xff0c;源ip地址作为过滤选项&#xff0c;右击源ip->prepare as filter-> 选中 点击选中完&#xff0c;显示过滤器&#…...

【零基础到精通Java合集】第十五集:Map集合框架与泛型

课程标题:Map集合框架与泛型(15分钟) 目标:掌握泛型在Map中的键值类型约束,理解类型安全的键值操作,熟练使用泛型Map解决实际问题 0-1分钟:泛型Map的意义引入 以“字典翻译”类比泛型Map:明确键和值的类型(如英文→中文)。说明泛型Map的作用——确保键值对的类型一…...

三参数水质在线分析仪:从源头保障饮用水安全

【TH-ZS03】饮用水安全是人类健康的重要保障&#xff0c;其质量直接关系到人们的生命健康。随着工业化、城市化的快速发展&#xff0c;水体污染问题日益严峻&#xff0c;饮用水安全面临着前所未有的挑战。为了从源头保障饮用水安全&#xff0c;科学、高效的水质监测手段必不可少…...

Java8-Stream流介绍和使用案例

Java 8 引入了 Stream API&#xff0c;它提供了一种高效且声明式的方式来处理集合数据。Stream 的核心思想是将数据的操作分为中间操作&#xff08;Intermediate Operations&#xff09;和终端操作&#xff08;Terminal Operations&#xff09;&#xff0c;并通过流水线&#x…...

FieldFox 手持射频与微波分析仪

FieldFox 手持射频与微波分析仪 简述 Keysight FieldFox 便携式分析仪可以在非常恶劣的工作环境中&#xff0c;轻松完成从日常维护到深入故障诊断的各项工作。 选择最适合您需求且有强大软件支持的 Keysight FieldFox 配置。 主要特性 特点&#xff1a; FieldFox 分析仪可…...

JQuery学习笔记,点击按钮加载更多的图片

利用点击按钮模拟某京&#xff0c;某宝&#xff0c;滚动页面加载图片的效果&#xff0c;代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title>Ajax请求</title></head><body><button id…...

swift4-汇编分析枚举内存布局

一、枚举的内存原理 1.1 常规case enum TestEnum { case test1, test2, test3 } var t TestEnum.test1 t .test2 t .test3枚举是常规的case的情况-是采取一个字节来存枚举变量通过拿到枚举的内存地址&#xff0c;看地址里面存的枚举值情况窥探枚举内存存储情况 var t Te…...

Vue 3 整合 WangEditor 富文本编辑器:从基础到高级实践

本文将详细介绍如何在 Vue 3 项目中集成 WangEditor 富文本编辑器&#xff0c;实现图文混排、自定义扩展等高阶功能。 一、为什么选择 WangEditor&#xff1f; 作为国内流行的开源富文本编辑器&#xff0c;WangEditor 具有以下优势&#xff1a; 轻量高效&#xff1a;压缩后仅…...

Docker安装嵌入框架Text Embeddings Inference (TEI)

Docker安装Text Embeddings Inference (TEI) 1 简单介绍 文本嵌入推理&#xff08;TEI&#xff0c;Text Embeddings Inference &#xff09;是HuggingFace研发的一个用于部署和服务开源文本嵌入和序列分类模型的工具包。TEI兼容OpenAI的嵌入模型的规范。 # 官网地址 https:/…...