从传统 RAG 到图 RAG,赋予大型语言模型更强大的知识力量

news2024/9/29 20:45:05

大型语言模型 (LLMs) 在固定数据集上进行训练,其知识在最后一次训练更新时就已固定。

ChatGPT 的常规用户可能已经注意到其众所周知的局限性:“训练数据截止到 2021 年 9 月”。

这种局限性会导致模型产生不准确或过时的响应,因为它们会“幻觉”信息。

在不重新训练或微调的情况下,用新信息更新模型或增强其上下文理解能力,在资源和人力方面都极具挑战。

检索增强生成 (RAG)

检索增强生成 (简称 RAG) 是一种通过整合来自外部可靠知识库的信息来改进大型语言模型 (LLMs) 的技术。

RAG 背后的原理很简单:当 LLM 被问到一个问题时,它不会仅仅依赖于自己已有的知识。

相反,它会首先从指定的知识源中查找相关信息。

这种方法确保了生成的输出引用了大量语境丰富的數據,并通过最新的相关信息进行增强。

RAG 主要通过两个阶段的流程来运作:检索内容生成

检索阶段

在检索阶段,算法会定位并收集与用户提示或查询相关的相关信息片段。

例如,如果你想搜索福建面食的食谱,你的提示可能是“_福建面食的配料是什么?_”

系统会识别出与查询语义相关的文档,并使用相似度度量来计算其相关性,通常使用余弦相似度( Is Cosine-Similarity of Embeddings Really About Similarity?) 来进行计算。

在收集外部知识后,它会将其附加到用户的提示中,并将其作为增强后的输入发送到语言模型。

内容生成阶段

在随后的生成阶段,LLM 将此增强后的提示与其自身的训练数据表示相结合,以生成一个针对用户查询的定制化响应。

该响应提供了一种个性化和可验证信息,适合通过聊天机器人等应用程序使用。

检索增强生成

RAG 的重要性

在当今的技术领域,LLMs 驱动着 众多 自然 语言 应用程序 ,能够理解或生成类似人类的文本。

虽然这些模型功能强大,但有时也会出现不足。

有时,它们在生成不正确的响应时会过于自信,以至于人们很容易被它们极具说服力的论据所影响。

RAG 试图通过引导 LLM 从可信来源获取信息来缓解这些问题,从而保持模型输出的相关性和准确性。

RAG 的局限性

就像生活中的所有事物一样,传统的 RAG 方法也有其复杂性和挑战。

虽然 RAG 在增强 LLMs 的功能方面具有开创性,但它也存在一些局限性,这些局限性会影响其有效性和适用性。

其中一个主要挑战涉及检索信息的准确性和数据源异质性。

为了使 RAG 有效,它通常依赖于多个外部来源,这些来源可能具有不同的格式、标准和可靠性级别。(例如 PDF、平面文件、Markdown、CSV、Web 内容等)

RAG 实现也遇到了一些困难,例如处理含糊的查询或需要深入理解上下文的查询。

这些问题是技术设计固有的问题,主要源于检索过程,检索过程有时会忽略产生精确响应所需的细微差别。

上下文很重要,一个恰当的逗号也是如此

RAG 的改进

提高 RAG 系统的检索准确率和效率是自然语言处理和机器学习领域持续进行的研究方向。

为了实现这些改进,可以采取多种策略,但我想要重点介绍两种在当今技术条件下可以实现的显着改进。

  1. 实施更复杂的检索算法,能够更好地理解查询的语义,可以提高检索到的文档的相关性。

  2. 有效地索引知识库,以加快检索过程,而不牺牲结果的质量。

这将我们引向…

图 RAG:RAG x 知识图谱

图 RAG 在 RAG 的概念基础上,利用了知识图谱 (KGs)。

这种创新方法是由 NebulaGraph 首创的概念,它通过整合图数据库,改变了 LLMs 解释和响应查询的方式。

图 RAG 通过将 KGs 中的结构化数据整合到 LLM 的处理中,为模型的响应提供了更细致入微和信息丰富的基础。

KGs 是对现实世界实体及其关系的结构化表示。

它们包含两个主要部分:_节点_和_边_。

节点代表单个实体,例如_人物_、_地点_、_物体_或_概念_。

另一方面,边代表这些节点之间的关系,表明它们是如何相互连接的。

一个简单的知识图谱

这种结构极大地提高了 LLMs 生成有见地的响应的能力,因为它使模型能够访问精确且与上下文相关的數據。

图 RAG 的创新之处在于它将图数据库与 LLMs 整合,以在生成响应之前丰富模型的上下文。

一些流行的图数据库产品包括 Ontotext, NebulaGraphNeo4J

图 RAG 的重要意义

随着 LLMs 继续在复杂性和能力方面不断发展,图 RAG 有可能对 AI 领域产生重大影响。

以下是我对这种整合如何演变的展望:

  1. 未来 LLMs 预计将表现出对复杂查询的改进理解能力和推理能力。

图 RAG 可以利用这些进步来提供更精确、更富含上下文的答案。

来自知识图谱的结构化知识,再加上更复杂的 LLMs,可能会导致 AI 在理解抽象概念、推理以及生成细致入微的响应方面取得突破。

  1. 随着 LLMs 的持续进步,它们与知识图谱的整合可能会变得更加动态和无缝。

这可能包括根据全球事件或发现实时更新 KGs。

LLMs 可以通过将从用户交互或其他数据源收集的新信息整合到知识图谱中,在自动增强和更新知识图谱方面发挥作用。

使用诸如来自人类反馈的强化学习 (RLHF) 和来自 AI 反馈的强化学习 (RLAIF) 等技术可以进一步帮助模型与人类偏好保持一致,并遵守 HHH (不是摔跤手,而是帮助、诚实、无害) 原则。

  1. 随着英伟达努力实现 AI 计算的民主化,未来 LLMs 和图 RAG 实现的进步将集中在提高计算效率和可扩展性方面。

这种转变将使图 RAG 能够应用于更广泛的应用程序,包括那些需要实时响应或在资源有限的环境中运行的应用程序。

  1. 未来 LLMs 预计将在多个领域拥有更广泛、更深入的知识。图 RAG 可以促进跨不同领域的知识转移,这将使生成从不同领域获取信息的见解或解决方案成为可能。

例如,应用认知科学的发现可能会导致开发更自然的人机交互模型,或者将网络安全与心理学相结合可能会提高安全措施的有效性。

  1. 随着图 RAG 技术的发展,采用诸如资源描述框架 (RDF) 等知识图谱标准可以提高各种系统之间的互操作性。

这可能意味着不同的实现可以相互交互和协作,从而推动更广泛的采用和创新。

图 RAG 演示

在本演示中,我们将使用 Govtech 的开发者门户网站 中的产品信息作为我们的知识库。

数据集示例。我们将很快将其转换为可用的格式。

  1. 设置

  • 使用 Neo4j Desktop 启动一个 Neo4j 本地实例

Neo4j Desktop 界面

  • 使用 LangChain 本地连接到 Neo4j 数据库。好消息是 LangChain 有一个 现成的模板 可以轻松设置。
  1. 提取

  • 使用提示工程和 LLM 提取信息、节点及其连接。以下是一个提示示例:
\# 创建知识图谱的说明  
\## 概述  
您被设计用于将数据组织成知识图谱。  
\- \*\*节点\*\*: 代表实体和想法。  
\- 目标是确保知识图谱简单易懂,便于广泛使用。\## 节点标记  
\- \*\*一致性\*\*: 对节点使用简单的标签。例如,将任何组织实体标记为“公司”,而不是使用诸如“Facebook”或“Amazon”之类的术语。  
\- \*\*节点标识符\*\*: 选择文本或可理解的标识符,而不是数字标识符。  
  - \*\*允许的节点标签\*\*: 如果存在特定允许的节点标签,请在此处列出。  
  - \*\*允许的关系类型\*\*: 如果存在特定允许的关系类型,请在此处列出。

\## 管理数值数据和日期  
\- 将数值信息直接作为节点的属性集成。  
\- \*\*集成日期/数字\*\*: 不要为日期或数字创建单独的节点,而是将它们作为属性附加。  
\- \*\*属性格式\*\*: 使用键值对格式。  
\- \*\*避免使用引号\*\*: 在属性值中不要使用转义引号。  
\- \*\*键命名\*\*: 采用 camelCase 命名键,例如 \`dateTime\`。

\## 一致性  
\- \*\*实体一致性\*\*: 确保跨不同提及或引用的实体一致地识别。

## 遵守指南  
严格遵守这些说明是强制性的。不遵守将导致终止。

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

  1. 图谱构建

  • 使用 CSVLoader 和文档分段来处理我们的文档

  • 将提取的信息映射到图节点和关系

  • 通过我们的提取管道处理文档,并将信息存储在 Neo4j 中

该过程花费了近一个小时,最终产生了提取的节点标签列表

  • 不幸的是,并非所有节点标签都对我们的上下文有用,或者符合我们的需求。
{  
  "identity": 1040,  
  "labels": \[  
    "Feedbackstatus"  
  \],  
  "properties": {  
    "id": "Feedback-Success",  
    "message": "已发送。感谢您的反馈!”  
  },  
  "elementId": "4:81cd2613-0f18-49c1-8134-761643e88b7a:1040"  
},  
{  
  "identity": 1582,  
  "labels": \[  
    "Feedbackstatus"  
  \],  
  "properties": {  
    "id": "Feedbacksuccess",  
    "status": "已发送。感谢您的反馈!”  
  },  
  "elementId": "4:81cd2613-0f18-49c1-8134-761643e88b7a:1582"  
},  
{  
  "identity": 1405,  
  "labels": \[  
    "Header"  
  \],  
  "properties": {  
    "id": "Modalcardhead",  
    "class": "sgds-modal-card-head"  
  },  
  "elementId": "4:81cd2613-0f18-49c1-8134-761643e88b7a:1405"  
},  
{  
  "identity": 1112,  
  "labels": \[  
    "Feedbackindicator"  
  \],  
  "properties": {  
    "id": "Feedbacksuccess",  
    "title": "check",  
    "message": "已发送。感谢您的反馈!”  
  },  
  "elementId": "4:81cd2613-0f18-49c1-8134-761643e88b7a:1112"  
...
  1. 评估和细化

  • 我们将指定 LLM 应该提取哪些节点标签来细化我们的方法
permissible\_nodes\_to\_extract = \[  
    "Aisubfield",  
    "Application",  
    "Cloudservice",  
    "Concept",  
    "Digitalsolution",  
    "Division",  
    "Entity",  
    "Feature",  
    "Fundinginitiative",  
    "Initiative",  
    "Link",  
    "Location",  
    "Organization",  
    "Person",  
    "Platform",  
    "Policy",  
    "Program"  
    "Resource",  
    "Role",  
    "Schema",  
    "Service",  
    "Standard",  
    "Technology",  
    "Technologyplatform",  
    "Technologystack",  
    "Webframework",  
    "Webresource",  
    "Website"  
\]
  • 使用 Neo4j 浏览器浏览我们新构建的知识图谱

好多了!

  • 持续细化我们的提取和图谱构建方法

经过所有努力,魔法终于开始了!

考虑以下查询:

Q: “请告诉我更多关于 AiSay 的信息,谁开发了这款产品,以及它的优势和应用。另外,请告诉我 AiSay 的独特之处。”

基础 RAG: “AiSay 是一款由新加坡政府开发的 AI 驱动的文档阅读器。它可以自动检测、扫描和理解各种类型的文档,包括手写笔记、印刷文章、多语言文本以及结构化/非结构化文档。与传统的 OCR 系统不同,AiSay 可以为图像和 PDF 文件等文档提供结构化的响应。它使用 OCR、文档问答技术和大型语言模型来推导出上下文并回答查询。AiSay 可扩展,具有同步和异步调用选项,允许处理大型文件。它在云上托管为无服务器,使其在体积上可扩展,能够处理大型文件。AiSay 正在积极开发中,支持安全性和数据分类,最高可达 RESTRICTED/SENSITIVE NORMAL。展望未来,将支持更多文档类型。AiSay 的独特功能包括它能够为各种文档类型提供结构化的响应,其可扩展性和对安全性和数据分类的支持。”

图 RAG: “AiSay 是一款由新加坡政府开发的 AI 驱动的文档阅读器。它是一个文档解析器,可以提供结构化的响应,提取和整合来自各种文档的信息到现有系统中。AiSay 可以自动检测、扫描和理解各种类型的文档,包括手写笔记、印刷文章、多语言文本以及结构化/非结构化文档。与传统的光学字符识别 (OCR) 系统不同,AiSay 可以为图像 (JPEG、PNG、TFIF) 和 PDF 文件等文档提供结构化的响应。

AiSay 的一些主要优势包括:

  1. 由于自动填写从文档上传中获取的关键数据以进行表单提交,从而减少了人工错误并提高了數據准确性。

  2. 提高了数字服务体验,因为一旦文档上传,AiSay 可以自动填写关键数据。

AiSay 在为各种文档类型提供结构化响应方面独树一帜,支持多种格式和语言。它还为每个任务提供置信度得分,以确定是否需要额外支持,从而在置信度高的任务中实现最少的人工干预。此外,AiSay 可扩展,因为它在云上托管为无服务器,使其能够处理大型文件和异步提取过程。”

图 RAG 与基础 RAG 的比较

在本例中,图 RAG 与传统 RAG 方法相比的优势显而易见。

该响应不仅证明了准确性,而且还丰富了上下文和关系,提供了一种标准 RAG 方法所没有的深度。

图 RAG 的秘密在于它能够分析用户的查询,在图数据库中确定相关數據,并将这种上下文洞察整合到引导 LLM 响应的过程中。

这种方法利用了一个传统方法可能错过的相互关联的信息网络,从而对查询有了更细致入微的理解。

让我们再尝试几个例子

Q: “我需要从一些文档中删除敏感信息。Govtech 提供哪些具有这些功能的产品?”

基础 RAG: “Govtech 提供 Cloak 和 FileSG 这两种产品,它们具有帮助从文档中删除敏感信息的功能。”

图 RAG: “GovTech 提供一款名为 Cloak 的产品,它是一个用于符合政策的數據匿名化的中央隐私工具包。该产品帮助公务员将數據匿名化技术应用于数据集,并根据指南审查重新识别风险。”

我们需要解决你频繁的操控行为

Q: “DIAB 与 SIaC 有什么不同?”

基础 RAG: “提供的文档没有直接比较数据基础设施一体化 (DIAB) 与任何名为 SIaC 的东西,也没有提及 SIaC。因此,根据给定的上下文,无法直接概述 DIAB 和 SIaC 之间的差异。但是,我们可以总结 DIAB 的关键方面如下:

  1. **目的和开发**: DIAB 由 GovTech 的数据科学与人工智能部门 (DSAID) 开发,旨在作为商业云政府 (GCC) 上数据基础设施部署和维护的加速器。它专门设计用于帮助政府机构构建、部署和保护数据基础设施。

  2. **关注数据基础设施**: DIAB 强调构建一致且可扩展的数据基础设施,使机构在设计和实施云基础设施时可以节省时间并减少开销。这种关注使机构能够更专注于构建应用程序层。

  3. **使用基础设施即代码 (IaC)**: DIAB 利用 IaC 模板和参考架构来帮助进行数据工程方面的考虑,简化设置和管理数据基础设施的过程。

由于没有关于 SIaC 的信息,因此无法进行比较。DIAB 的特点突出了其作为政府机构在云中有效部署和管理数据基础设施的工具的作用,它利用 IaC 来提高效率和可扩展性。”

图 RAG: “DIAB (数据基础设施一体化) 和 SIaC (安全基础设施即代码) 都是旨在为政府机构简化云基础设施部署的产品。但是,它们在具体关注点和功能方面有所不同。

DIAB 作为商业云政府 (GCC) 上数据基础设施部署和维护的加速器。它帮助机构构建、部署和保护数据基础设施,专注于数据工程方面的考虑,并提供基础设施即代码 (IaC) 模板。DIAB 的目标是帮助机构构建一致且可扩展的数据基础设施,其主要优势包括易用性、提高效率、内置合规性、部署灵活性和未来证明。

另一方面,SIaC 提供可定制的模板,用于以安全、合规和自动化的方式部署云基础设施。它专注于安全配置来自云服务提供商的托管服务和工具,具有模块化且易于适应的模板。SIaC 的关键功能包括遵守新加坡政府标准、针对不同用例的模块化、与 SGTS 组件的集成以及云原生设计。

总而言之,虽然 DIAB 和 SIaC 都旨在为政府机构简化云基础设施部署,但 DIAB 专注于数据基础设施部署,重点关注数据工程方面的考虑和 IaC 模板,而 SIaC 专注于安全且合规的云基础设施部署,具有可定制的模板和模块化设计。”

赢了

结论

从传统的检索增强生成 (RAG) 向图 RAG 的转变,代表了我们与大型语言模型 (LLMs) 交互方式的重要进步。

这种转变解决了以下基本挑战:_如何提高 LLMs 提供与上下文相关的准确答案以应对复杂查询的能力_。

当比较这两种方法时,图 RAG 在处理与上下文相关的复杂查询方面的优势变得显而易见。

传统的 RAG 技术往往无法处理与上下文相关的复杂问题。

相比之下,图 RAG 利用了更复杂的数据网络,提供能捕捉到查询细微之处更深刻理解的响应。

然而,图 RAG 的有效性并非一种一刀切的解决方案。

它仍然高度依赖于底层 KGs 的质量、深度和广度。

在 KG 有限或偏向特定领域的场景中,图 RAG 的性能可能无法超过传统 RAG 方法。

尽管如此,这种转变有望导致 AI 系统更好地模仿人类的思维和发现。

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
在这里插入图片描述

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2177774.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【计算机网络】初识Socket编程,揭秘Socket编程艺术--UDP篇

🍑个人主页:Jupiter. 🚀 所属专栏:Linux从入门到进阶 欢迎大家点赞收藏评论😊 目录 Socket编程准备知识理解源IP地址和目的IP地址 认识端口号 网络字节序 socket编程socket编程接口socket系统调用bzero函数struct soc…

生信机器学习入门4 - 构建决策树(Decision Tree)和随机森林(Random Forest)分类器

机器学习文章回顾 生信机器学习入门1 - 数据预处理与线性回归(Linear regression)预测 生信机器学习入门2 - 机器学习基本概念 生信机器学习入门3 - Scikit-Learn训练机器学习分类感知器 生信机器学习入门4 - scikit-learn训练逻辑回归(L…

【Android 14源码分析】Activity启动流程-2

忽然有一天,我想要做一件事:去代码中去验证那些曾经被“灌输”的理论。                                                                                  – 服装…

高并发内存池(六):补充内容

目录 有关大于256KB内存的申请和释放处理方法 处理大于256KB的内存申请 补充内容1 补充内容2 补充内容3 处理大于256KB的内存释放 新增内容1 新增内容2 测试函数 使用定长内存池替代new 释放对象时不传对象大小 补充内容1 补充内容2 补充内容3 补充内容4 测试…

Python(五)-函数

目录 函数的定义与调用 特点 语法格式 函数的参数 函数的返回值 函数嵌套调用 变量的作用域 局部变量 全局变量 函数的多种参数 位置参数 关键字参数 默认参数 可变参数 函数的定义与调用 python函数需要使用def关键字来定义,需要先定义,后调用 特点: 先定义…

课堂讨论:评价计算机性能的指标

**课堂讨论:评价计算机性能的指标** --- ### 课堂开始 **王老师**:同学们,今天我们来讨论如何评价计算机性能的指标。小明,你知道有哪些指标吗? **小明**:嗯...有吞吐率和响应时间吧?&#…

双链表的插入删除遍历

双链表的插入操作 双链表的删除操作 双链表的遍历操作

Watchdog Timers(WDT)

文章目录 1. 介绍2. Feature List3. 概述3.1. Safety Watchdog3.2. CPU Watchdog 4. 看门狗定时器功能5. Endinit Functions5.1 Password Access to WDTxCON05.1.1 Static Password5.1.2 Automatic Password Sequencing 5.2 Check Access to WDTxCON05.3 Modify Access to WDTx…

点餐小程序实战教程13餐桌管理

目录 1 创建数据源2 搭建管理后台3 生成餐桌码4 找到自己的appid和secret5 小程序里获取餐桌信息总结 我们上一篇介绍了点餐界面的菜品展示功能。现实中如果你去餐馆用餐,总是给餐桌贴一个二维码,服务员会告诉你扫码点餐。 扫码大家现在都已经非常熟练了…

“从零开始学排序:简单易懂的算法指南“

“一辈人有一辈人要做的事!!!” 这一期的节目呢,是关于排序的内容,相信大家对此一定很熟悉吧! 排序: 排序是将一组元素按照一定的规则或标准进行组织和排列的过程。 冒泡排序: 冒…

此连接非私人连接

当你手机浏览器输入网站打开提示“此连接非私人连接,此网站可能在冒充来窃取你的个人或财务信息。你应回到之前的页面”这是因为该网站的SSL数字证书到期导致,需要此网站的管理员重新申请数字证书替换之前的文件才可以实现。 注意:如果你不是…

Token: 数据库、存储系统和API安全的应用

一. Token Token是一种常见的计算机术语,它在不同的上下文中有不同的含义。在身份验证和授权的上下文中,Token通常指的是服务端生成的一串字符串,作为客户端进行请求的一个令牌。当用户登录后,服务器会生成一个Token并返回给客户…

【高阶数据结构】平衡二叉树(AVL)的删除和调整

🤡博客主页:醉竺 🥰本文专栏:《高阶数据结构》 😻欢迎关注:感谢大家的点赞评论关注,祝您学有所成! ✨✨💜💛想要学习更多《高阶数据结构》点击专栏链接查看&a…

记一次教学版内网渗透流程

信息收集 如果觉得文章写的不错可以共同交流 http://aertyxqdp1.target.yijinglab.com/dirsearch dirsearch -u "http://aertyxqdp1.target.yijinglab.com/"发现 http://aertyxqdp1.target.yijinglab.com/joomla/http://aertyxqdp1.target.yijinglab.com/phpMyA…

DialFRED基准:具有对话能力的具身智能Agent

目录 一、DialFRED数据集1.1 数据集规模与任务结构1.2 任务实例的构成1.3 人类标注的问答数据1.4 Oracle自动生成答案1.5 任务多样性与数据增强1.6 数据集的词汇多样性1.7 任务和环境的多样性 二、提问者-执行者框架2.1 框架概述2.2 提问者模型设计2.3 执行者模型设计2.4 强化学…

【读书笔记-《30天自制操作系统》-25】Day26

本篇仍然是围绕着命令行窗口做文章。首先优化命令行窗口的移动速度,然后增加多个命令行窗口功能。接着优化了命令行窗口的关闭,最后增加了两个命令start与ncst。 1. 优化命令行窗口移动速度 首先对命令行窗口的移动速度进行优化。主要的优化点有以下几…

WEB服务器——Tomcat

服务器是可以使用java完成编写,是可以接受页面发送的请求和响应数据给前端浏览器的,而在开发中真正用到的Web服务器,我们不会自己写的,都是使用目前比较流行的web服务器。 如:Tomcat 1. 简介 Tomcat 是一个开源的轻量…

二维数组的存放

今天我水的文章是二维数组的存放 二维数组的存放方式其实和一维数组没有区别&#xff0c;但如果想要更直观的了解&#xff0c;我们可以把它们的地址打印出来。 代码如下&#xff1a; #include <stdio.h> int main() {int arr[3][3];//二维数组&#xff0c;int数组类型…

【高效管理集合】并查集的实现与应用

文章目录 并查集的概念主要操作优化技术应用场景 并查集的实现基本框架并查集的主要接口总体代码 并查集的应用省份的数量等式方程的可满足性 总结 并查集的概念 并查集&#xff0c;也称为不相交集&#xff0c;是一种树形的数据结构&#xff0c;用于处理一些不相交集合的合并及…

ClickHouse | 查询

1 ALL 子句 2 ARRAY JOIN 使用别名 :在使用时可以为数组指定别名&#xff0c;数组元素可以通过此别名访问&#xff0c;但数组本身则通过原始名称访问 3 DISTINCT子句 DISTINCT不支持当包含有数组的列 4 FROM子句 FROM 子句指定从以下数据源中读取数据: 1.表 2.子…