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

5、Rag基础:RAG 专题

RAG 简介

什么是检索增强生成?

检索增强生成(RAG)是指对大型语言模型输出进行优化,使其能够在生成响应之前引用训练数据来源之外的权威知识库。大型语言模型(LLM)用海量数据进行训练,使用数十亿个参数为回答问题、翻译语言和完成句子等任务生成原始输出。在 LLM 本就强大的功能基础上,RAG 将其扩展为能访问特定领域或组织的内部知识库,所有这些都无需重新训练模型。这是一种经济高效地改进 LLM 输出的方法,让它在各种情境下都能保持相关性、准确性和实用性。

为什么检索增强生成很重要?

LLM 是一项关键的人工智能(AI)技术,为智能聊天机器人和其他自然语言处理(NLP)应用程序提供支持。目标是通过交叉引用权威知识来源,创建能够在各种环境中回答用户问题的机器人。不幸的是,LLM 技术的本质在 LLM 响应中引入了不可预测性。此外,LLM 训练数据是静态的,并引入了其所掌握知识的截止日期。

LLM 面临的已知挑战包括:

  • 在没有答案的情况下提供虚假信息。
  • 当用户需要特定的当前响应时,提供过时或通用的信息。
  • 从非权威来源创建响应。
  • 由于术语混淆,不同的培训来源使用相同的术语来谈论不同的事情,因此会产生不准确的响应。

您可以将大型语言模型看作是一个过于热情的新员工,他拒绝随时了解时事,但总是会绝对自信地回答每一个问题。不幸的是,这种态度会对用户的信任产生负面影响,这是您不希望聊天机器人效仿的!

RAG 是解决其中一些挑战的一种方法。它会重定向 LLM,从权威的、预先确定的知识来源中检索相关信息。组织可以更好地控制生成的文本输出,并且用户可以深入了解 LLM 如何生成响应。

检索增强生成有哪些好处?

RAG 技术为组织的生成式人工智能工作带来了多项好处。

经济高效的实施

聊天机器人开发通常从基础模型开始。基础模型(FM)是在广泛的广义和未标记数据上训练的 API 可访问 LLM。针对组织或领域特定信息重新训练 FM 的计算和财务成本很高。RAG 是一种将新数据引入 LLM 的更加经济高效的方法。它使生成式人工智能技术更广泛地获得和使用。

当前信息

即使 LLM 的原始训练数据来源适合您的需求,但保持相关性也具有挑战性。RAG 允许开发人员为生成模型提供最新的研究、统计数据或新闻。他们可以使用 RAG 将 LLM 直接连接到实时社交媒体提要、新闻网站或其他经常更新的信息来源。然后,LLM 可以向用户提供最新信息。

增强用户信任度

RAG 允许 LLM 通过来源归属来呈现准确的信息。输出可以包括对来源的引文或引用。如果需要进一步说明或更详细的信息,用户也可以自己查找源文档。这可以增加对您的生成式人工智能解决方案的信任和信心。

更多开发人员控制权

借助 RAG,开发人员可以更高效地测试和改进他们的聊天应用程序。他们可以控制和更改 LLM 的信息来源,以适应不断变化的需求或跨职能使用。开发人员还可以将敏感信息的检索限制在不同的授权级别内,并确保 LLM 生成适当的响应。此外,如果 LLM 针对特定问题引用了错误的信息来源,他们还可以进行故障排除并进行修复。组织可以更自信地为更广泛的应用程序实施生成式人工智能技术。

检索增强生成的工作原理是什么?

如果没有 RAG,LLM 会接受用户输入,并根据它所接受训练的信息或它已经知道的信息创建响应。RAG 引入了一个信息检索组件,该组件利用用户输入首先从新数据源提取信息。用户查询和相关信息都提供给 LLM。LLM 使用新知识及其训练数据来创建更好的响应。以下各部分概述了该过程。

创建外部数据

LLM 原始训练数据集之外的新数据称为外部数据。它可以来自多个数据来源,例如 API、数据库或文档存储库。数据可能以各种格式存在,例如文件、数据库记录或长篇文本。另一种称为嵌入语言模型的 AI 技术将数据转换为数字表示形式并将其存储在向量数据库中。这个过程会创建一个生成式人工智能模型可以理解的知识库。

检索相关信息

下一步是执行相关性搜索。用户查询将转换为向量表示形式,并与向量数据库匹配。例如,考虑一个可以回答组织的人力资源问题的智能聊天机器人。如果员工搜索:“我有多少年假?”,系统将检索年假政策文件以及员工个人过去的休假记录。这些特定文件将被退回,因为它们与员工输入的内容高度相关。相关性是使用数学向量计算和表示法计算和建立的。

增强 LLM 提示

接下来,RAG 模型通过在上下文中添加检索到的相关数据来增强用户输入(或提示)。此步骤使用提示工程技术与 LLM 进行有效沟通。增强提示允许大型语言模型为用户查询生成准确的答案。

更新外部数据

下一个问题可能是:如果外部数据过时了怎么办? 要维护当前信息以供检索,请异步更新文档并更新文档的嵌入表示形式。您可以通过自动化实时流程或定期批处理来执行此操作。这是数据分析中常见的挑战:可以使用不同的数据科学方法进行变更管理。

下图显示了将 RAG 与 LLM 配合使用的概念流程。


检索增强生成和语义搜索有什么区别?

语义搜索可以提高 RAG 结果,适用于想要在其 LLM 应用程序中添加大量外部知识源的组织。现代企业在各种系统中存储大量信息,例如手册、常见问题、研究报告、客户服务指南和人力资源文档存储库等。上下文检索在规模上具有挑战性,因此会降低生成输出质量。

语义搜索技术可以扫描包含不同信息的大型数据库,并更准确地检索数据。例如,他们可以回答诸如 “去年在机械维修上花了多少钱?”之类的问题,方法是将问题映射到相关文档并返回特定文本而不是搜索结果。然后,开发人员可以使用该答案为 LLM 提供更多上下文。

RAG 中的传统或关键字搜索解决方案对知识密集型任务产生的结果有限。开发人员在手动准备数据时还必须处理单词嵌入、文档分块和其他复杂问题。相比之下,语义搜索技术可以完成知识库准备的所有工作,因此开发人员不必这样做。它们还生成语义相关的段落和按相关性排序的标记词,以最大限度地提高 RAG 有效载荷的质量。

Document loaders和Text splitters

Document loaders(文档加载器)

Document loaders(文档加载器) 这些类加载文档对象。LangChain与各种数据源有数百个集成,可以从中加载数据:Slack、Notion、Google Drive等。 每个文档加载器都有自己特定的参数,但它们可以通过相同的方式使用<font style="color:rgb(28, 30, 33);">.load</font>方法调用。 以下是一个示例用法:

from langchain_community.document_loaders.csv_loader import CSVLoader
loader = CSVLoader(...  # <-- 在这里添加特定于集成的参数
)
data = loader.load()

如何加载 CSV 文件

逗号分隔值(CSV)文件是一种使用逗号分隔值的定界文本文件。文件的每一行是一个数据记录。每个记录由一个或多个字段组成,字段之间用逗号分隔。

LangChain 实现了一个 CSV 加载器,可以将 CSV 文件加载为一系列 Document 对象。CSV 文件的每一行都会被翻译为一个文档。

#示例:csv_loader.py
from langchain_community.document_loaders.csv_loader import CSVLoaderfile_path = ("../../resource/doc_search.csv"
)
loader = CSVLoader(file_path=file_path,encoding="UTF-8")
data = loader.load()
for record in data[:2]:print(record)
page_content='名称: 狮子
种类: 哺乳动物
年龄: 8
栖息地: 非洲草原' metadata={'source': '../../resource/doc_search.csv', 'row': 0}
page_content='名称: 大熊猫
种类: 哺乳动物
年龄: 5
栖息地: 中国竹林' metadata={'source': '../../resource/doc_search.csv', 'row': 1}
自定义 CSV 解析和加载

<font style="color:rgb(28, 30, 33);">CSVLoader</font> 接受一个 <font style="color:rgb(28, 30, 33);">csv_args</font> 关键字参数,用于自定义传递给 Python 的 <font style="color:rgb(28, 30, 33);">csv.DictReader</font> 的参数。有关支持的 csv 参数的更多信息,请参阅 csv 模块 文档。

#示例:csv_custom.py
from langchain_community.document_loaders.csv_loader import CSVLoaderfile_path = ("../../resource/doc_search.csv"
)
loader = CSVLoader(file_path=file_path,encoding="UTF-8",csv_args={"delimiter": ",","quotechar": '"',"fieldnames": ["Name", "Species", "Age", "Habitat"],},
)
data = loader.load()
for record in data[:2]:print(record)
page_content='Name: 名称
Species: 种类
Age: 年龄
Habitat: 栖息地' metadata={'source': '../../resource/doc_search.csv', 'row': 0}
page_content='Name: 狮子
Species: 哺乳动物
Age: 8
Habitat: 非洲草原' metadata={'source': '../../resource/doc_search.csv', 'row': 1}

如何加载 HTML

超文本标记语言(HTML)是用于在Web浏览器中显示的文档的标准标记语言。

这里介绍了如何将HTML文档加载到LangChain的Document对象中,以便我们可以在下游使用。

解析HTML文件通常需要专门的工具。在这里,我们演示了如何通过Unstructured和BeautifulSoup4进行解析,可以通过pip安装。请前往集成页面查找与其他服务的集成,例如Azure AI Document Intelligence或FireCrawl。

使用Unstructured加载HTML
%pip install "unstructured[html]"
#示例:html_loader.py
from langchain_community.document_loaders import UnstructuredHTMLLoaderfile_path = "../../resource/content.html"
loader = UnstructuredHTMLLoader(file_path, encodings="UTF-8")
data = loader.load()
print(data)
[Document(metadata={'source': '../../resource/content.html'}, page_content='风景展示\n\n黄山\n\n黄山位于中国安徽省南部,是中国著名的风景名胜区,以奇松、怪石、云海和温泉“四绝”闻名。\n\n大峡谷\n\n大峡谷位于美国亚利桑那州,是世界上最著名的自然景观之一,以其壮观的地质奇观和深邃的峡谷闻名。')]
使用BeautifulSoup4加载HTML

我们还可以使用BeautifulSoup4使用<font style="color:rgb(28, 30, 33);">BSHTMLLoader</font>加载HTML文档。这将将HTML中的文本提取到<font style="color:rgb(28, 30, 33);">page_content</font>中,并将页面标题提取到<font style="color:rgb(28, 30, 33);">metadata</font><font style="color:rgb(28, 30, 33);">title</font>中。

#pip install bs4
#示例:html_bs4.py
from langchain_community.document_loaders import

相关文章:

5、Rag基础:RAG 专题

RAG 简介 什么是检索增强生成? 检索增强生成(RAG)是指对大型语言模型输出进行优化,使其能够在生成响应之前引用训练数据来源之外的权威知识库。大型语言模型(LLM)用海量数据进行训练,使用数十亿个参数为回答问题、翻译语言和完成句子等任务生成原始输出。在 LLM 本就强…...

FISCO BCOS 智能合约开发详解

一、FISCO BCOS 智能合约开发概览 FISCO BCOS 是一个国产开源联盟链平台&#xff0c;支持两种类型的智能合约&#xff1a;​FISCO BCOS Documentation Solidity 合约&#xff1a;​与以太坊兼容&#xff0c;使用 Solidity 语言编写&#xff0c;适用于灵活的业务逻辑开发。 预…...

Linux操作系统从入门到实战(四)Linux基础指令(下)

Linux操作系统从入门到实战&#xff08;四&#xff09;Linux基础指令&#xff08;下&#xff09; 前言一、date 指令二、cal 指令三、find 指令四、which 指令五、whereis 指令六、alias 指令七、grep 指令八、zip/unzip 指令九、tar 指令&#xff08;重要&#xff09;十、bc 指…...

使用 LLM助手进行 Python 数据可视化

在数据科学中&#xff0c;数据可视化是一项至关重要的任务&#xff0c;旨在揭示数据背后的模式和洞察&#xff0c;并向观众传达这些信息。然而&#xff0c;在编程语言&#xff08;如 Python&#xff09;中创建有洞察力的图表有时可能会耗时且复杂。本文介绍了一种借助 AI 助手&…...

docker安装jenkins自动化测试

#搭建gitlab docker pull gitlab/gitlab-ce docker run -d\--hostname localhost \-p 443:443 -p 80:80 -p 2222:22 \--name gitlab \-v /myproject/gitlab/config:/etc/gitlab \-v /myproject/gitlab/logs:/var/log/gitlab \-v /myproject/gitlab/data:/var/opt/gitlab \gitla…...

Python3:面向对象编程

这里写目录标题 &#x1f9e9; 面向对象编程&#xff1a;让代码化身为积木世界一、核心概念&#xff1a;类与对象二、四大基石&#xff1a;面向对象的核心特性1️⃣ 封装(Encapsulation)&#xff1a;包装复杂性&#xff0c;提供简单接口2️⃣ 继承(Inheritance)&#xff1a;站在…...

数据可视化 —— 饼图

一、饼图的所有常用使用场景 饼图是一种直观展示数据占比关系的图表&#xff0c;适用于以下常见场景&#xff1a; 1. 市场与商业分析 市场份额&#xff1a;展示不同品牌/产品在市场中的占有率。 收入构成&#xff1a;分析公司各业务线或产品的收入占比。 客户分布&#xff1…...

OpenLayers WebGL与3D渲染 (进阶一)

1. WebGL概述 WebGL是一种JavaScript API&#xff0c;它基于OpenGL ES 2.0/3.0标准&#xff0c;允许在不使用插件的情况下在兼容的Web浏览器中呈现高性能的交互式3D和2D图形。在地理信息系统(GIS)领域&#xff0c;WebGL为地图渲染和空间数据可视化提供了强大的性能支持。 1.1…...

ARP协议(地址解析协议)

ARP协议是用来把IP地址转换成MAC地址的。 因为在局域网里&#xff0c;真正通信靠的是MAC地址&#xff0c;但我们平时只知道目标的IP地址&#xff0c;所以需要一个办法把IP地址变成MAC地址 —— 这个过程就是靠ARP完成的。 举个超简单的例子&#xff1a; 你电脑要发数据给192.1…...

深度学习常见框架:TensorFlow 与 PyTorch 简介与对比

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《深度探秘&#xff1a;AI界的007》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、为什么需要深度学习框架&#xff1f; 2、框架的发展背…...

iOS 类与对象底层原理

iOS 类与对象底层原理 文章目录 iOS 类与对象底层原理探索对象本质objc_setProperty 源码cls与类的关联原理联合体isa的类型isa_t 原理探索initIsa方法通过setClass方法中的shiftcls来验证绑定的一个流程通过 isa & ISA_MSAK通过object_getClass通过位运算 类&类的结构…...

Babel、core-js、Loader之间的关系和作用全解析

在现代前端开发中&#xff0c;Babel、polyfill&#xff08;如 core-js&#xff09;和 Loader 是非常常见又容易混淆的几个概念。为了彻底搞明白它们的作用、关系和使用方法&#xff0c;下面一篇文章详细梳理。 一、Babel的作用 Babel 是一个 JavaScript 的编译器&#xff0c;主…...

总线位宽不变,有效数据位宽变化的缓存方案

总线位宽不变&#xff0c;有效数据位宽变化的缓存方案 譬如总线位宽为64bit&#xff0c;但是有时候只有高32bit有效&#xff0c;有时只有低32bit有效&#xff0c;有时64bit都有效。总线上收到的数据要先缓存到FIFO中&#xff0c;那么这个FIFO的宽度和深度如何设置呢&#xff1…...

若依脱敏功能升级:接口返回想脱就脱,想不脱就不脱(实现灵活可控制的数据脱敏)

若依原生框架中的脱敏功能不够灵活&#xff08;默认超级管理员不脱敏&#xff0c;其他则脱敏&#xff09;。 有时候&#xff0c;我们有些接口想要脱敏&#xff0c;但是有些接口又不想脱敏。&#xff08;例如列表查询的时候脱敏。修改的时候&#xff0c;不想数据脱敏&#xff0…...

【Azure Redis 缓存】在Azure Redis中,如何限制只允许Azure App Service访问?

问题描述 在Azure Redis服务中&#xff0c;如何实现只允许Azure App Service访问呢&#xff1f; 问题解答 Azure Redis 开启 防火墙的功能&#xff0c;并在防火墙中添加上App Service的出口IP地址即可。两步即可实现此目的&#xff01; 1&#xff09;查询 App Service 的出口IP…...

如何解决无训练数据问题:一种更为智能化的解决方案

手动标注数据真的很费时间,而且买数据集又贵得要命,还不一定能完全符合你的需求。但这里有个令人兴奋的好消息,为啥不用 AI 来解决这个问题呢? 别再依赖传统方法了,你可以用像 LLM(大型语言模型)和图像生成器这样的 AI 工具,为你的特定目标创建合成训练数据。如今有那…...

AI 应用同质化:一场看不见的资源 “吞噬战”

大家好&#xff0c;我是涛涛&#xff0c;今天聊聊令人担心的事情。 一、同质化的“繁荣”背后 当ChatGPT在2022年掀起全球AI热潮时&#xff0c;中国互联网行业迅速进入“All in AI”模式。根据艾瑞咨询数据&#xff0c;2023年国内AI应用市场新增注册企业超2.3万家&#xff0c…...

Java + Spring Boot + MyBatis获取以及持久化sql语句的方法

在Java的Spring Boot项目中结合MyBatis获取实际执行的SQL语句&#xff0c;可以通过以下几种方法实现&#xff1a; 方法一&#xff1a;配置MyBatis日志级别 通过调整日志级别&#xff0c;MyBatis会输出执行的SQL语句及参数&#xff0c;适用于快速调试。 修改application.prope…...

「浏览器即OS」:WebVM技术栈如何用Wasm字节码重构冯·诺依曼体系?

一、冯诺依曼架构的维度坍塌 1. 传统计算模型的能量耗散 浏览器执行效率瓶颈分析&#xff1a; 操作x86指令周期Wasm指令周期能效比提升矩阵乘法3894.2x内存访问1234x系统调用120012100x 二、WebVM的量子纠缠架构 1. 浏览器内核的重构 // 基于WASI的系统调用处理 #[no_mangl…...

Vue3项目目录结构规范建议

以下是一个推荐的 Vue 3 项目目录结构规范&#xff0c;适用于中大型项目并遵循最佳实践&#xff1a; 基础目录结构 bash src/ ├─ assets/ # 静态资源 │ ├─ images/ # 图片文件 │ ├─ fonts/ # 字体文件 │ └─ styles/ …...

【计算机视觉】CV实战项目- Four-Flower:基于TensorFlow的花朵分类实战指南

深度解析Four-Flower&#xff1a;基于TensorFlow的花朵分类实战指南 项目概述与技术背景技术栈组成 完整实战流程环境配置1. 基础环境安装2. 项目环境搭建3. 环境验证 数据准备模型架构解析训练过程优化1. 训练配置2. 关键参数建议3. 训练监控 常见问题与解决方案1. 内存不足错…...

4.27 JavaScript核心语法+事件监听

JavaScript负责网页的行为&#xff08;交互行为&#xff09; JS基本语法&#xff1a; 引用方式 变量&常量&数据类型&#xff1a; alert()标签输出弹出框&#xff0c;如以上代码会输出true。 函数&#xff1a; 自定义对象: 属性方法行为 JS中的全局变量是window。 js…...

于键值(KV)的表

基于键值&#xff08;KV&#xff09;的表 将行编码为键值&#xff08;KVs&#xff09; 索引查询&#xff1a;点查询和范围查询 在关系型数据库中&#xff0c;数据被建模为由行和列组成的二维表。用户通过SQL表达他们的意图&#xff0c;而数据库则神奇地提供结果。不那么神奇的…...

Matlab算例运行

1. 使用终端命令运行算例&#xff1a; 2. 如果点击Run 按钮就是会一直报错&#xff0c;所以直接改成终端运行算例...

package.json script 中的 prepare 脚本的作用是什么

在 package.json 的 scripts 中&#xff0c;prepare 脚本是一个特殊的生命周期脚本&#xff0c;主要作用和执行时机如下&#xff1a; prepare 脚本的作用和执行时机 执行时机&#xff1a; 在执行 npm publish 命令之前运行。在执行不带参数的 npm install 命令时运行&#xff…...

图论---最大流(Dinic)

最大流一定是阻塞流&#xff0c;阻塞流不一定是最大流。 阻塞流---从起点到终点的管道已经阻塞了。 时间复杂度&#xff1a; 一般情况&#xff1a;O(n2m)O(n2m)&#xff08;但实际运行效率较高&#xff0c;尤其在稀疏图上&#xff09;。 使用当前弧优化后&#xff0c;效率接近…...

FastAPI系列06:FastAPI响应(Response)

FastAPI响应&#xff08;Response&#xff09; 1、Response入门2、Response基本操作设置响应体&#xff08;返回数据&#xff09;设置状态码设置响应头设置 Cookies 3、响应模型 response_model4、响应类型 response_classResponse派生类自定义response_class 在“FastAPI系列0…...

双目RealSense系统配置rs_camera.launch----实现D435i自制rosbag数据集到离线场景的slam建图

引言 Intel RealSense系列相机因其出色的深度感知能力和灵活的配置选项&#xff0c;在机器视觉与应用中得到广泛应用。大家在后期的slam学习中&#xff0c;无论是对算法本身的性能要求还是实验的泛化性都有一定的要求&#xff0c;那么公开的数据集如kitti、tum、Eourc不能满足…...

【MCP-2】MCP是什么,利用智普大模型在MaxKB中调用自己开发的MCP服务

在上一篇【MCP-1】MCP是什么&#xff0c;从DEMO入手文章中我们介绍了MCP是什么、他能干啥&#xff0c;以及简单的Demo示例等&#xff0c;这篇文章我们使用MaxKB这个工具&#xff0c;利用智普大模型&#xff0c;看看MCP到底怎么用。 创建SSE协议的MCP服务 在上篇文章中的Demo是…...

Allegro23.1新功能之如何单独关闭铜皮显示效果操作指导

Allegro23.1新功能之如何单独关闭铜皮显示效果操作指导 Allegro升级到了23.1的时候,支持单独关闭铜皮显示 ,如下图 如何仅关闭shape的显示,单独显示线,具体操作如下 点击setup...

《从分遗产说起:JS 原型与继承详解》

“天天开心就好” 先来讲讲概念&#xff1a; 原型&#xff08;Prototype&#xff09; 什么是原型&#xff1f; 原型是 JavaScript 中实现对象间共享属性和方法的机制。每个 JavaScript 对象&#xff08;除了 null&#xff09;都有一个内部链接指向另一个对象&#xff0c;这…...

【Part 2安卓原生360°VR播放器开发实战】第二节|基于等距圆柱投影方式实现全景视频渲染

《VR 360全景视频开发》专栏 将带你深入探索从全景视频制作到Unity眼镜端应用开发的全流程技术。专栏内容涵盖安卓原生VR播放器开发、Unity VR视频渲染与手势交互、360全景视频制作与优化&#xff0c;以及高分辨率视频性能优化等实战技巧。 &#x1f4dd; 希望通过这个专栏&am…...

Android——RecyclerView

RecyclerView的使用 依赖 implementation("androidx.recyclerview:recyclerview:1.4.0")activity_recyclerview.xml <androidx.recyclerview.widget.RecyclerViewandroid:id"id/rv"android:layout_width"match_parent"android:layout_height…...

跨域问题(Cross-Origin Problem)

跨域问题&#xff08;Cross-Origin Problem&#xff09;是浏览器出于安全考虑&#xff0c;对不同源&#xff08;协议、域名、端口&#xff09;之间的资源访问进行限制而引发的限制。以下是详细解释&#xff1a; 1. 核心定义 跨域&#xff1a;当一个网页&#xff08;源A&#x…...

阿里云直接对系统云盘扩容

阿里云直接对系统云盘扩容 登录阿里云控制台&#xff0c;进入ECS实例管理页面&#xff0c;检查目标磁盘的容量是否已更新为扩容后的数值。通过SSH远程连接服务器&#xff0c;使用命令 lsblk 或 fdisk -l 查看当前磁盘分区和容量&#xff0c;确认扩容后的物理磁盘已被系统识别。…...

Java大厂面试突击:从Spring Boot自动配置到Kafka分区策略实战解析

第一轮核心知识 面试官&#xff1a;请解释Spring Boot中自动配置的工作原理并演示如何自定义一个ConfigurationProperties组件&#xff1f; xbhog&#xff1a;自动配置通过EnableAutoConfiguration注解触发&#xff0c;结合当前环境判断&#xff08;如是否检测到MyBatis依赖&…...

【python】lambda用法(结合例子理解)

目录 lambda 是什么? 为什么叫 lambda? 语法 举例 1. 最简单的 lambda:单个数字处理 2. 用 lambda 排序一组字符串(按照长度排序) 3. 在列表里找出绝对值最小的数字 4. 给 map() 用 lambda 5. 组合使用:筛选出偶数 lambda 和 def 的对比 lambda 适合用在什么地…...

前端Ui设计工具

PS 稿、蓝湖、Sketch 和 Figma 前端 UI 设计工具的对比分析 PS 稿&#xff08;Adobe Photoshop&#xff09; 提供精准设计细节&#xff1a;PS 稿能让前端更精准地理解页面布局、元素尺寸、颜色等&#xff0c;通过精确测量和查看信息面板&#xff0c;把握设计元素的空间关系、…...

深入探索Python Pandas:解锁数据分析的无限可能

放在前头 深入探索Python Pandas&#xff1a;解锁数据分析的无限可能 深入探索Python Pandas&#xff1a;解锁数据分析的无限可能 在当今数据驱动的时代&#xff0c;高效且准确地处理和分析数据成为了各个领域的关键需求。而Python作为一门强大且灵活的编程语言&#xff0c;…...

django admin 设置字段不可编辑

在Django中&#xff0c;如果你想让管理员在后台管理界面中无法编辑某个字段&#xff0c;你可以通过在模型的Meta类中设置editable属性为False&#xff0c;或者在admin.py文件中使用readonly_fields属性来实现。 方法1&#xff1a;在模型中使用Meta类设置 你可以在模型的Meta类…...

AI在医疗领域的10大应用:从疾病预测到手术机器人

AI在医疗领域的10大应用&#xff1a;从疾病预测到手术机器人 系统化学习人工智能网站&#xff08;收藏&#xff09;&#xff1a;https://www.captainbed.cn/flu 文章目录 AI在医疗领域的10大应用&#xff1a;从疾病预测到手术机器人摘要引言1. 医学影像诊断&#xff1a;从静态…...

深入理解 Java 单例模式:从基础到最佳实践

单例&#xff08;Singleton&#xff09;模式是 Java 中最基本、最常用的设计模式之一。它确保一个类在任何情况下都只有一个实例&#xff0c;并提供一个全局访问点来获取这个唯一的实例。 一、为什么需要单例模式&#xff1f;&#xff08;使用场景&#xff09; 单例模式主要适…...

Rust:安全与性能兼得的现代系统编程语言

一、起源与设计理念 Rust 是由 Mozilla 研究院 Graydon Hoare 于 2006 年发起设计的系统级编程语言&#xff0c;其诞生源于传统系统语言&#xff08;如 C/C&#xff09;在内存安全与并发编程方面的缺陷。经过近十年的迭代&#xff0c;Rust 1.0 稳定版于 2015 年正式发布&#…...

AI赋能智慧医疗新范式:小天互连即时通讯打造高效、安全的医疗通讯平台

在医疗行业&#xff0c;高效的信息协作与严格的数据安全不仅直接关系患者诊疗效率&#xff0c;更是医院现代化管理的核心命题。小天互连即时通讯系统通过将智能化功能与医疗场景深度结合&#xff0c;打造出全链路数字化协作平台&#xff0c;有效破解了传统沟通模式的效率瓶颈&a…...

图像生成新势力:GPT-Image-1 与 GPT-4o 在智创聚合 API 的较量

在人工智能领域&#xff0c;图像生成技术正迅速发展&#xff0c;OpenAI 推出的 GPT-Image-1 和 GPT-4o 在图像生成方面展现出了强大的能力。智创聚合 API 平台已支持这两个模型&#xff0c;并且其图片生成 / 编辑工作台支持图片的循环编辑等功能&#xff0c;为用户提供了更便捷…...

如何避免爬虫因Cookie过期导致登录失效

1. Cookie的作用及其过期机制 1.1 什么是Cookie&#xff1f; Cookie是服务器发送到用户浏览器并保存在本地的一小段数据&#xff0c;用于维持用户会话状态。爬虫在模拟登录后&#xff0c;通常需要携带Cookie访问后续页面。 1.2 Cookie为什么会过期&#xff1f; 会话Cookie&…...

集成方案 | Docusign + 甄零科技,赋能企业海外业务高效增长!

本文将详细介绍 Docusign 与甄零科技的集成步骤及其效果&#xff0c;并通过实际应用场景来展示 Docusign 的强大集成能力&#xff0c;以证明 Docusign 集成功能的高效性和实用性。 甄零科技是一家专注于数字化合同管理系统的 SaaS 解决方案提供商&#xff0c;致力于为企业打造“…...

【Arxiv 2025】Single Image Iterative Subject-driven Generation and Editing

文章目录 文章标题作者及研究团队介绍01 在论文所属的研究领域&#xff0c;有哪些待解决的问题或者现有的研究工作仍有哪些不足&#xff1f;02 这篇论文主要解决了什么问题&#xff1f;03 这篇论文解决问题采用的关键解决方案是什么&#xff1f;04 这篇论文的主要贡献是什么&am…...

CoOAG:首个捕捉学术研究兴趣动态演变的数据集

2025-04-24&#xff0c;由西安交通大学基于学术合作网络构建一种新的动态图数据集CoOAG&#xff0c;用于研究动态图中的节点分类问题。该数据集通过捕捉作者研究兴趣的动态变化&#xff0c;为动态图学习领域提供了新的研究方向和测试平台&#xff0c;特别是在标签受限的动态节点…...

决策树随机深林

决策树和随机森林是机器学习中常用的两种模型&#xff0c;以下是对它们的简单介绍&#xff1a; 决策树 - 原理&#xff1a;通过一系列的条件判断对样本进行分类或预测。它由节点&#xff08;内部节点是属性上的测试&#xff0c;叶节点是类别或值&#xff09;和边组成&#xff0…...