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

GraphReader: 将长文本结构化为图,并让 agent 自主探索,结合的大模型长文本处理增强方法

GraphReader: 将长文本结构化为图,并让 agent 自主探索,结合的大模型长文本处理增强方法

    • 论文大纲
    • 理解
      • 为什么大模型和知识图谱不够?还要多智能体
    • 设计思路
    • 数据分析
    • 解法拆解
    • 全流程
    • 核心模式
    • 提问
      • 为什么传统的长文本处理方法会随着文本长度增加而性能下降?
      • 图结构相比线性结构在表示长文本时有哪些本质优势?
      • 如何判断一个原子事实的重要性?值得被提取为节点吗?
      • 智能体的探索策略是如何避免陷入局部最优的?
      • 笔记本机制在整个系统中扮演什么角色?为什么需要它?
      • 如何确保提取的图结构不会丢失原文的关键信息?
      • 智能体的理性规划和人类解决问题的思维过程有什么异同?
      • 为什么4k窗口就能达到128k窗口的效果?背后的原理是什么?
      • 这种方法对于不同类型的长文本都同样有效吗?
      • 如何评估这种方法的可解释性?
      • GraphReader每个搜索路径限制了10次函数调用,如果遇到特别复杂的文本结构,需要超过10跳才能找到答案,这种情况GraphReader如何处理?
      • 论文中提到"normalize the key elements as described by Lu et al. (2023)",但没有详细说明具体的规范化方法。如果遇到模糊词、一词多义等情况,GraphReader如何确保规范化的准确性?
      • 在构建图时,原子事实的抽取严重依赖于LLM的性能。如果LLM在抽取阶段漏掉了关键信息或产生了错误的原子事实,有什么机制来检测和纠正这些错误吗?
      • 图6中的论文实例看起来相对简单。如果遇到包含隐式逻辑、需要常识推理、或者需要跨段落整合信息的复杂问题,GraphReader如何保证答案的准确性?
      • 论文提到最大chunk size设为2k tokens。当处理长度为256k的文本时,会生成大量chunk。在这种情况下,如何确保相关信息没有被错误地分散到不同chunk中而影响理解?
      • 实验结果显示GraphReader在256k长度文本上仍然保持较好性能。但这个结论是基于HotpotWikiQA-mixup数据集得出的,这个数据集是否足够具有代表性?
      • 表8显示了不同数据集上的函数调用统计,但没有分析失败案例。在那些GraphReader没能正确回答的问题中,是哪个阶段(图构建、路径探索、还是答案推理)出现问题?
      • 论文提到使用GPT-4来评估recall,但GPT-4本身的判断也可能出错。有没有更客观的方法来评估GraphReader的recall性能?
      • 在InitialNode选择阶段,如果预选的5个节点都不是最优起点,会导致后续探索效率低下。有什么机制来动态调整初始节点的选择吗?
    • 提示词
      • 关键元素和原子事实提取提示词
      • 制定合理计划提示词
      • 初始节点选择提示词
      • 探索原子事实提示词
      • 探索文本块提示词
      • 探索相邻节点提示词
      • 答案推理提示词
      • 评分和阅读提示词

论文:GraphReader: Building Graph-based Agent to Enhance Long-Context Abilities of Large Language Models

论文大纲

├── 1 长文本处理能力【研究背景】
│      ├── LLMs的进展与局限【现状分析】
│      │      ├── 处理长文本能力受限【技术限制】
│      │      └── 上下文窗口和内存限制【具体约束】
│      └── 现有解决方案【技术方案】
│             ├── 模型层面优化【方法类型】
│             │      ├── 位置嵌入修改【具体技术】
│             │      └── 注意力机制变体【具体技术】
│             └── 智能体层面优化【方法类型】
│                    ├── 检索增强生成【具体技术】
│                    └── 智能体系统【具体技术】
│
├── 2 GraphReader方案【技术创新】
│      ├── 图结构化处理【核心方法】
│      │      ├── 文本分段【处理步骤】
│      │      ├── 信息提取【处理步骤】
│      │      └── 图结构构建【处理步骤】
│      └── 智能体探索【关键技术】
│             ├── 节点探索【功能模块】
│             ├── 理性规划【功能模块】
│             └── 记录反思【功能模块】
│
├── 3 实验评估【研究验证】
│      ├── 基准测试【评估方法】
│      │      ├── 单跳问答【测试类型】
│      │      └── 多跳问答【测试类型】
│      └── 性能表现【评估结果】
│             ├── 优于GPT-4-128k【比较结果】
│             └── 可扩展性强【性能特点】
│
└── 4 局限性【研究反思】
├── API依赖【技术局限】
└── 智能体效率【性能局限】

理解

  1. 背景与问题
    主要类别:长文本理解问题
    具体问题:
  • 现有LLMs处理长文本存在固有的上下文窗口限制
  • 现有方法要么成本高(模型层面),要么容易忽视细节(智能体层面)
  • 多跳问题中难以建立长距离依赖关系
  1. GraphReader的核心性质
    性质:图结构化的长文本处理方案
    原因:
  • 通过图结构捕获文本间的关联
  • 使用智能体进行有规划的探索
  • 结合粗粒度到细粒度的阅读策略
  1. 对比示例
    正例:查询"演唱Never Too Loud的乐队来自哪个城市的哪个城堡附近?"
  • GraphReader能通过图结构连接:歌曲→乐队→城市→城堡
  • 形成清晰的推理路径

反例:直接用GPT-4处理相同问题

  • 可能因为信息分散在长文本中而遗漏关键细节
  • 难以建立远距离的信息关联
  1. 类比理解
    就像图书馆的分类系统:
  • 图书(原始文本)按主题分类(节点)
  • 主题之间有关联(边)
  • 图书管理员(智能体)按需查找相关书籍
  1. 概念总结
    GraphReader是一个结合图结构和智能体的长文本处理系统,它将长文本组织成图的形式,通过智能规划和探索来回答复杂问题。

  2. 概念重组
    “图读者”(GraphReader):通过图的方式阅读文本,让阅读和理解变得有规律可循。

  3. 与上下文关联
    这种方法解决了文章开头提出的长文本处理问题,同时避免了现有方法的局限性。

  4. 关键规律分析
    主要矛盾:如何在有限的上下文窗口下处理无限的长文本
    次要矛盾:

  • 计算效率与准确性的平衡
  • 探索范围与深度的权衡
  • API依赖带来的限制
  1. 功能分析
    根本需求:准确理解和回答基于长文本的问题
    核心功能:
  • 信息的结构化表示(定性:图结构完整性)
  • 智能化信息检索(定性:路径合理性)
  • 多步推理能力(定量:准确率提升10-20%)
  1. 来龙去脉梳理
    起因:现有LLMs难以高效处理长文本
    过程:
  • 提出图结构化表示方案
  • 设计智能体探索机制
  • 实现从粗到细的阅读策略
    结果:
  • 使用4k窗口超越GPT-4的128k表现
  • 在多个基准测试中展现优势
  • 证明了方法的可扩展性

为什么大模型和知识图谱不够?还要多智能体

复杂度/长度  短文本   中等文本   长文本
简单问题    直接处理  检索增强   图结构
多跳问题    直接处理  图结构    图结构+智能体
复杂推理    图结构    图结构    图结构+多智能体

医疗诊断的复杂性

一个看似简单的症状可能涉及多个系统:
“患者最近经常感到头晕、心慌,半夜会突然惊醒,是什么原因导致的?”

单一大模型的局限:

  • 可能过于关注某个症状而忽视整体
  • 难以权衡多个可能的诊断路径
  • 容易漏掉潜在的关联症状

静态图结构的不足:

  • 仅能展示症状和疾病的已知关联
  • 无法反映症状的动态变化
  • 难以处理患者个体差异

一个患者有3个病 知识图谱和大模型只能找到一个。

增加智能体后:

  • 记忆性:通过 notebook 机制保存多个发现
  • 迭代性:可以多次探索直到解释所有症状
  • 全面性:不会因为找到一个答案就停止 & 会综合各个部门

多智能体协作的优势

分工示例:

初诊智能体:收集基础症状信息
→ 记录:头晕、心慌、睡眠问题专科智能体:
├── 心内科智能体:评估心血管系统
├── 神经科智能体:评估神经系统
└── 心理科智能体:评估心理状态整合智能体:综合多个专科意见
验证智能体:交叉检查诊断合理性

诊断推理过程:

  1. 信息收集阶段
心内科智能体关注:
- 心率变化
- 血压情况
- 胸闷程度神经科智能体关注:
- 头晕性质
- 平衡功能
- 神经系统症状心理科智能体关注:
- 睡眠质量
- 焦虑程度
- 生活压力
  1. 交叉验证阶段
可能的诊断路径:
路径A:心血管问题 → 睡眠障碍 → 焦虑加重
路径B:焦虑症状 → 自主神经失调 → 心血管表现
路径C:神经系统问题 → 影响睡眠 → 诱发焦虑
  1. 综合诊断
  • 多个智能体共同评估各条路径的可能性
  • 考虑症状之间的相互影响
  • 权衡不同诊断的优先级

为什么这种方式更有效

  1. 提高诊断准确性
  • 多角度评估避免偏见
  • 专科知识深度互补
  • 降低漏诊风险
  1. 动态调整能力
  • 根据新发现及时调整诊断方向
  • 灵活应对症状变化
  • 考虑治疗反馈
  1. 透明可解释
  • 清晰的推理过程
  • 明确的诊断依据
  • 可追溯的决策链条

这就像一个由多位专科医生组成的会诊团队,每位成员都发挥其专业优势,通过充分讨论和验证最终达成共识,这比单一医生的判断要可靠得多。

因此,在处理复杂的医疗诊断问题时,多智能体系统不是可有可无的,而是提高诊断准确性和可靠性的必要手段。

 

设计思路

确认目标
如何让模型处理和理解超出其上下文窗口限制的长文本?

分析过程

主要问题拆解

  1. 如何有效存储长文本信息?
  • 将文本分段提取关键信息
  • 构建图结构保存信息和关系
  • 通过节点和边建立长距离连接
  1. 如何高效检索相关信息?
  • 设计智能体进行规划
  • 实现从粗到细的阅读策略
  • 动态调整探索路径
  1. 如何确保推理的准确性?
  • 记录探索过程中的关键信息
  • 通过反思优化探索方向
  • 整合多路径获取的信息

实现步骤

  1. 文本预处理阶段
  • 将长文本切分为固定大小的块
  • 从每个块中提取原子事实
  • 识别关键元素作为节点
  1. 图构建阶段
  • 对关键元素进行标准化
  • 基于共现关系建立边连接
  • 形成完整的信息图结构
  1. 智能探索阶段
  • 制定理性探索计划
  • 选择初始探索节点
  • 动态调整探索策略
  1. 答案生成阶段
  • 收集探索过程中的关键信息
  • 整合多条路径的发现
  • 生成最终答案

效果展示

目标:使用有限上下文窗口处理超长文本
过程:图结构化表示 + 智能化探索
方法:GraphReader框架
结果:4k窗口超越128k GPT-4
数据:在256k长文本上仍保持约30%正确率

领域金手指

图结构化表示是这个领域的金手指,能够解决:

  1. 文档问答系统
  • 将大型文档转换为图结构
  • 智能定位相关段落
  1. 多文档摘要
  • 构建文档间的关系图
  • 提取关键信息链路
  1. 知识推理
  • 建立知识图谱
  • 进行多跳推理
  1. 事实核验
  • 追踪信息来源
  • 验证信息一致性
  1. 长文本理解
  • 保存上下文关联
  • 实现远距离依赖

这个"金手指"的核心优势在于它能够将离散的文本信息组织成结构化的关系网络,让模型能够"看到"信息之间的连接,从而突破上下文窗口的限制。

数据分析

  1. 收集数据
  • 使用了多类长文本问答数据集:
    • HotpotQA(多跳问答数据)
    • 2WikiMultihopQA(复杂问答数据)
    • MuSiQue(需要多步推理的数据)
    • NarrativeQA(长文本理解数据)
    • HotpotWikiQA-mixup(不同长度的文本数据)
  1. 基于图的方法能更好地保持长距离信息
图方法的优势:
-256k长度文本上的表现:GraphReader (4k窗口): 30-38%准确率GPT-4 (128k窗口): 14-16%准确率- 性能随距离的衰减:传统方法:性能随距离快速下降图方法:性能保持相对稳定原因分析:
- 图结构将相关信息通过边直接连接
- 不受文本线性距离的限制
- 可以直接跳转到相关节点
  1. 智能体的探索策略对性能影响
策略效果对比:
- 使用理性规划 vs 随机探索:性能差距:15-22%- 关键策略组件:* 预先规划* 有方向的探索* 信息积累机制
  1. 文本结构化程度与模型性能的关系
结构化影响:
- 原子事实提取的质量:好的结构化:76.4%召回率最终笔记本:90.5%召回率- 节点连接的质量:平均每个节点~10个邻居较均匀的信息分布
  1. 智能体探索策略与问答准确性的关系
关键发现:
- 探索深度:* 平均3-4次函数调用* 多阶段探索更准确- 策略组合效果:* 邻居节点探索:占26-28%* 原子事实探索:占40-42%* 文本块探索:占31-34%

这些发现说明:

  1. 图结构本身提供了处理长距离信息的基础
  2. 智能体的策略让这种优势能被充分利用
  3. 良好的结构化是性能的基础保证
  4. 多阶段的探索策略能提升准确性

总的来说,这是一个结构(图)和策略(智能体)相互配合的系统,两者缺一不可。

解法拆解

在这里插入图片描述
GraphReader的整体工作流程,包含3个主要部分:

  • 图的构建 - 从长文本中提取关键信息形成图结构
  • 图的探索 - agent根据问题对图进行探索
  • 答案推理 - 基于探索获取的信息生成答案
  1. 逻辑关系拆解:

技术:GraphReader = 图结构构建 + 智能体探索

问题:长文本处理中的信息遗失和推理能力下降

主要区别:传统方法是线性处理 vs GraphReader是结构化探索

子解法拆解:

解法 = 图构建(因为需要结构化信息) + 智能体探索(因为需要高效检索) + 笔记本机制(因为需要记忆和整合)A. 图构建子解法
- 原因:需要高效组织长文本信息
- 包含:* 文本分块* 原子事实提取* 节点规范化* 边关系建立B. 智能体探索子解法
- 原因:需要高效定向搜索相关信息
- 包含:* 理性规划* 多起点探索* 邻居节点遍历C. 笔记本机制子解法
- 原因:需要累积和整合发现的信息
- 包含:* 信息记录* 探索历史追踪* 答案推理
  1. 逻辑链分析:
决策树结构:
GraphReader
├── 图构建阶段
│   ├── 文本分块
│   ├── 提取原子事实
│   └── 构建图结构
│       ├── 节点创建
│       └── 边连接
└── 探索阶段├── 理性规划├── 节点选择└── 迭代探索├── 原子事实探索├── 文本块探索└── 邻居探索
  1. 隐性方法:
  • 节点规范化:处理同义词和共指关系
  • 探索状态追踪:避免重复访问
  • 多路径信息融合:整合不同探索路径的发现
  1. 隐性特征:
  • 信息密度:影响节点和边的构建
  • 探索深度:影响答案质量
  • 文本相关性:影响探索效率
  1. 潜在局限性:
  • 依赖原子事实提取质量
  • 图构建开销较大
  • 可能错过非结构化的隐含信息
  • 探索策略可能陷入局部最优
  • 对某些简单问题可能过于复杂

这个分析展示了GraphReader是一个复合型解决方案,其核心创新在于将文本结构化和智能探索相结合。

全流程

在这里插入图片描述

特征1:信息局部集中
解法:直接检索特征2:需要多跳推理
解法:图结构探索特征3:信息分散
解法:智能体迭代搜索本质上,诊断就是动态信息的输入和输出,不断校正的大模型如果只做静态的模式识别  只能保证一个基础结果

优化方向:

1. 图构建优化- 更精确的原子事实提取- 更智能的节点规范化- 更有效的边连接策略2. 探索策略优化- 更精准的初始节点选择- 更高效的路径规划- 更智能的终止判断3. 信息整合优化- 更好的冗余消除- 更强的推理能力

 

  1. 具体应用示例:

A. 复杂病例问诊:

输入:
- 病历:包含多次就医记录、各类检查结果、用药历史等
- 问题:"患者目前的主要症状可能与哪些基础疾病相关?"处理流程:
1. 图构建- 节点类型:症状、检查、诊断、用药、时间点- 边关系:时序关系、因果关系、关联关系2. 智能体探索Step 1: 识别当前主要症状群Step 2: 追溯症状发展历史Step 3: 关联历史诊断记录Step 4: 分析用药效果Step 5: 整合检查结果3. 输出诊断报告:"患者当前头痛、眩晕症状,根据病历分析:- 可能与高血压病史相关(2年病史,用药控制欠佳)- 颈椎病变可能加重症状(近期MRI显示)- 建议进一步心脑血管评估"

B. 治疗方案制定:

输入:
- 诊断记录
- 问题:"为该患者制定糖尿病和高血压的联合治疗方案"处理流程:
1. 医疗知识图构建- 提取当前状况:血糖、血压值- 整理用药历史:降糖药、降压药- 收集相关检查:肾功能、心功能等- 建立并发症关联2. 智能体分析Step 1: 评估疾病严重程度Step 2: 检查药物相互作用Step 3: 分析治疗依从性Step 4: 评估并发症风险Step 5: 制定监测计划3. 输出治疗方案:"建议治疗方案:1. 药物调整:- 降压药:缬沙坦 80mg bid- 降糖药:二甲双胍 0.5g tid2. 生活方式:- 低盐饮食 (<6g/)- 规律运动 (快走30min/)3. 监测计划:- 血压:每天早晚各一次- 血糖:空腹及餐后2h4. 随访安排:- 两周后复查血压、血糖- 一个月后评估药物调整效果"

这个应用展示了GraphReader在医疗场景的优势:
4. 可处理复杂的病历信息
5. 能建立症状间的关联
6. 支持多角度分析
7. 可追踪时序发展
8. 能整合多源信息

主要优化点:
9. 医疗实体识别准确性
10. 因果关系推理能力
11. 治疗方案个性化程度
12. 医学指南合规性
13. 药物相互作用分析

核心模式

GraphReader = 图结构 + 智能探索 + 记忆机制1. 图结构压缩文本:
原始文本 -> {节点 + 关系}
- 删除冗余:相似实体合并
- 提取模式:关系类型复用2. 智能探索压缩搜索空间:
盲目搜索 -> 定向探索
- 删除无效路径
- 复用探索策略3. 记忆机制压缩历史信息:
完整历史 -> 关键发现
- 保留决策相关
- 抽取共性模式

提问

为什么传统的长文本处理方法会随着文本长度增加而性能下降?

随着文本变长出现"丢失在中间"效应,信息被稀释

有限的上下文窗口难以维持全局连贯性

线性处理方式难以捕捉长距离依赖关系

缺乏有效的信息组织和检索机制

图结构相比线性结构在表示长文本时有哪些本质优势?

可以显式表达概念之间的关系

支持灵活的探索路径而不是固定的线性遍历

在保持全局结构的同时允许局部聚焦

通过节点连接支持多跳推理

能更好地反映文本的语义网络特性

如何判断一个原子事实的重要性?值得被提取为节点吗?

与潜在问题/任务的相关性

信息的独特性与不可替代性

与其他事实的连接密度

在整体文档结构中的重要程度

是否包含关键实体或关系

智能体的探索策略是如何避免陷入局部最优的?

探索前进行战略规划

根据发现动态调整路径

维护多条探索路径

使用笔记本追踪进度

定期反思和评估当前策略

笔记本机制在整个系统中扮演什么角色?为什么需要它?

为智能体提供工作记忆

帮助追踪推理链条

支持对收集信息的反思

辅助生成连贯的答案

作为临时知识库

如何确保提取的图结构不会丢失原文的关键信息?

全面提取原子事实

维护与原文块的链接

分层组织信息

与原始内容进行验证

保持冗余信息以防遗漏

智能体的理性规划和人类解决问题的思维过程有什么异同?

相似点:都会分解复杂问题、制定步骤计划、动态调整策略

不同点:智能体更系统和完整,人类可能会跳过某些步骤

为什么4k窗口就能达到128k窗口的效果?背后的原理是什么?

图结构有效保存了全局上下文

原子事实高效捕捉关键信息

战略性探索减少了对大窗口的需求

笔记本维持了信息的连贯性

这种方法对于不同类型的长文本都同样有效吗?

适用于结构化程度高的文档

对信息密度较大的文本效果更好

在多跳问题上表现突出

领域特异性会影响效果

如何评估这种方法的可解释性?

探索路径的可追踪性

理性规划的合理性

笔记本内容的完整性

与人类推理过程的对比

决策过程的透明度

GraphReader每个搜索路径限制了10次函数调用,如果遇到特别复杂的文本结构,需要超过10跳才能找到答案,这种情况GraphReader如何处理?

关于10次函数调用的限制:

这确实是我们系统的一个限制。根据表8的统计,大多数问题只需要3-4次调用就能完成。

但对于超复杂结构,我们采用了多路径并行探索策略(从5个初始节点同时开始),这在一定程度上缓解了单路径调用次数的限制。

不过这确实是个需要改进的方向,比如可以根据问题复杂度动态调整调用次数限制。

论文中提到"normalize the key elements as described by Lu et al. (2023)",但没有详细说明具体的规范化方法。如果遇到模糊词、一词多义等情况,GraphReader如何确保规范化的准确性?

关于规范化方法:

确实,这是论文中描述不足的地方。

Lu等人的方法主要处理实体对齐,而对于模糊词和一词多义,我们实际上是依赖LLM在构建原子事实时的上下文理解。

但坦白说,这个过程并不完美。我们在未来工作中计划集成更强大的实体链接和消歧方法。

在构建图时,原子事实的抽取严重依赖于LLM的性能。如果LLM在抽取阶段漏掉了关键信息或产生了错误的原子事实,有什么机制来检测和纠正这些错误吗?

关于原子事实抽取的准确性:

这是个关键问题。

目前我们主要依靠多头验证 - 即一个事实往往会在多个chunk中以不同形式出现。

我们通过分析原子事实的重叠度和一致性来提高可靠性。

但确实缺乏明确的错误检测机制,这是需要改进的地方。

图6中的论文实例看起来相对简单。如果遇到包含隐式逻辑、需要常识推理、或者需要跨段落整合信息的复杂问题,GraphReader如何保证答案的准确性?

关于复杂推理能力:

GraphReader通过图结构和理性规划来处理复杂推理。

根据第3.3节所述,系统会记录探索过程中的发现,并不断反思和更新策略。

但确实,对于需要深度常识推理的问题,现有方法可能不够完善。

论文提到最大chunk size设为2k tokens。当处理长度为256k的文本时,会生成大量chunk。在这种情况下,如何确保相关信息没有被错误地分散到不同chunk中而影响理解?

关于chunk分割问题:

这是我们特别关注的问题。

根据3.2节,我们在分chunk时会考虑段落结构,并通过图结构中节点间的连接来保持信息的连贯性。

原子事实的提取也跨chunk进行,帮助保持语义完整性。

实验结果显示GraphReader在256k长度文本上仍然保持较好性能。但这个结论是基于HotpotWikiQA-mixup数据集得出的,这个数据集是否足够具有代表性?

关于数据集代表性:

坦白说,这是个局限。

虽然HotpotWikiQA-mixup涵盖了不同长度的文本,但确实主要集中在百科类内容。

我们正在其他类型的长文本(如科技文献、法律文档)上进行测试。

表8显示了不同数据集上的函数调用统计,但没有分析失败案例。在那些GraphReader没能正确回答的问题中,是哪个阶段(图构建、路径探索、还是答案推理)出现问题?

关于失败案例分析:

这是论文的疏漏。

实际上,失败主要出现在三种情况:原子事实提取不完整、初始节点选择不当、以及推理链过长超出调用限制。

我们应该在论文中加入这部分分析。

论文提到使用GPT-4来评估recall,但GPT-4本身的判断也可能出错。有没有更客观的方法来评估GraphReader的recall性能?

关于recall评估方法:

这是个合理的质疑。

除了GPT-4评估,我们也用到了F1和EM分数作为客观指标。

但确实需要发展更可靠的评估方法,比如建立人工标注的测试集。

在InitialNode选择阶段,如果预选的5个节点都不是最优起点,会导致后续探索效率低下。有什么机制来动态调整初始节点的选择吗?

关于初始节点选择:

根据3.3.1节,我们确实没有动态调整机制。

这个限制可以通过引入反馈机制来改进,即根据初始探索的结果来调整后续节点的选择。

提示词

关键元素和原子事实提取提示词

您现在是一个智能助手,任务是从长文本中精确提取关键元素和原子事实。1. 关键元素:对文本叙述至关重要的基本名词(如人物、时间、事件、地点、数字)、动词(如动作)和形容词(如状态、感受)2. 原子事实:最小且不可分割的事实,以简洁的句子呈现。这包括命题、理论、存在、概念,以及隐含要素如逻辑、因果、事件顺序、人际关系、时间线等。要求:
#####
1. 确保所有识别的关键元素都反映在相应的原子事实中。2. 应全面提取关键元素和原子事实,尤其是重要且可能被查询的内容,不要遗漏细节。3. 在可能的情况下,用具体的名词替换代词(例如,将"我""他""她"替换为实际名字)4. 确保提取的关键元素和原子事实与原文使用相同的语言(如英文或中文)5. 输出的关键元素和原子事实总量不应超过1024个标记。6. 每行答案格式应为:[序号], [原子事实], [关键元素列表,用'|'分隔]
#####示例:
#####
用户:
一天,一位父亲和他的小儿子......助手:
1. 一天,一位父亲和他的小儿子正在回家。| 父亲 | 小儿子 | 回家
2. ......
#####请严格按照上述格式执行。让我们开始。

制定合理计划提示词

作为智能助手,您的主要目标是通过收集文章中的支持事实来回答问题。为了实现这个目标,第一步是基于问题制定合理计划。该计划应概述解决问题的步骤流程,并明确指出制定完整答案所需的关键信息。示例:
#####
用户:谁的网球生涯更长,丹尼还是爱丽丝?助手:为了回答这个问题,我们首先需要找到丹尼和爱丽丝的网球生涯长度,如他们的职业生涯起始和退役时间,然后进行比较。
#####请严格按照上述格式执行。让我们开始。

初始节点选择提示词

作为智能助手,您的主要目标是基于文本中的信息回答问题。为此,已从文本中创建了一个图,包含以下元素:1. 文本块:原始文本的分段。
2. 原子事实:从文本块中提取的最小不可分割真实信息。
3. 节点:文本中的关键元素(名词、动词或形容词),与来自不同文本块的多个原子事实相关联。您当前的任务是检查节点列表,目的是从图中选择最相关的初始节点以高效回答问题。您将获得问题、合理计划和节点关键元素列表。这些初始节点很重要,因为它们是搜索相关信息的起点。要求:
#####
1. 选择起始节点后,通过分配0100的分数评估其与潜在答案的相关性。100分表示与答案高度相关,0分表示相关性最小。2. 每个选定的起始节点单独成行,并附带其相关性分数。每行格式如下:节点:[节点的关键元素],分数:[相关性分数]3. 请选择至少10个起始节点,确保它们不重复且多样化。4. 在用户输入中,每行构成一个节点。选择起始节点时,请从提供的节点中进行选择,不要自行创建。您输出的节点必须与用户给出的节点完全对应,措辞一致。
#####示例:
#####
用户:
问题:{问题}
计划:{合理计划}
节点:{关键元素列表}助手:{选定节点列表}
#####最后再次强调,您需要从给定的节点中选择起始节点,且必须与您选择的节点措辞一致。请严格按照上述格式执行。让我们开始。

探索原子事实提示词

作为智能助手,您的主要目标是基于文本中的信息回答问题。为此,已从文本中创建了一个图,包含以下元素:1. 文本块:原始文本的分段。
2. 原子事实:从文本块中提取的最小不可分割真实信息。
3. 节点:文本中的关键元素(名词、动词或形容词),与来自不同文本块的多个原子事实相关联。您当前的任务是检查一个节点及其相关的原子事实,目的是确定是否继续查看与这些原子事实对应的文本块。根据问题、合理计划、之前的行动、笔记本内容以及当前节点的原子事实及其对应的块ID,您有以下行动选项:
#####
1. read_chunk(List[ID]):如果您认为与原子事实相关的文本块可能包含回答问题所需的必要信息,请选择此操作。这将使您能够访问更完整和详细的信息。2. stop_and_read_neighbor():如果您确定所有文本块都缺乏有价值的信息,请选择此操作。
#####策略:
#####
1. 反思先前的行动,避免重复访问节点或块。
2. 您可以选择同时阅读多个文本块。
3. 原子事实仅覆盖文本块中部分信息,因此即使您认为原子事实与问题的相关性很小,也请尝试阅读文本块以获取更完整的信息。
#####响应格式:
#####
*更新笔记本*:首先,将当前笔记本与从当前原子事实中获得的关于问题的新见解和发现相结合,创建一个包含更多有效信息的更完整版本的笔记本。*下一步行动理由*:根据给定的问题、合理计划、之前的行动和笔记本内容,分析如何选择下一步行动。*选择的行动*read_chunk(List[ID])stop_and_read_neighbor()(这是您从行动选项中选择的操作,采用前面提到的函数调用形式。括号中的形式参数应替换为实际参数。)
#####最后,再次强调,即使原子事实与问题的相关性很小,您也应该查看文本块以避免遗漏信息。只有当您非常确定给定的文本块与问题无关时,才应选择stop_and_read_neighbor()。请严格按照上述格式执行。让我们开始。

探索文本块提示词

作为智能助手,您的主要目标是基于文本中的信息回答问题。为此,已从文本中创建了一个图,包含以下元素:1. 文本块:原始文本的分段。
2. 原子事实:从文本块中提取的最小不可分割真实信息。
3. 节点:文本中的关键元素(名词、动词或形容词),与来自不同文本块的多个原子事实相关联。您当前的任务是评估特定文本块,并确定现有信息是否足以回答问题。根据问题、合理计划、之前的行动、笔记本内容和当前文本块,您有以下行动选项:
#####
1. search_more():如果您认为回答问题所需的基本信息仍然缺失,请选择此操作。2. read_previous_chunk():如果您认为前一个文本块包含对回答问题有价值的信息,请选择此操作。3. read_subsequent_chunk():如果您认为后续文本块包含对回答问题有价值的信息,请选择此操作。4. termination():如果您认为当前获得的信息足以回答问题,请选择此操作。这将允许您总结收集到的信息并提供最终答案。
#####策略:
#####
1. 反思先前的行动,避免重复访问节点或块。
2. 您只能选择一个操作。
#####响应格式:
#####
*更新笔记本*:首先,将之前的笔记与从当前文本块中获得的关于问题的新见解和发现相结合,创建一个包含更多有效信息的更完整版本的笔记本。*下一步行动理由*:根据给定的问题、合理计划、之前的行动和笔记本内容,分析如何选择下一步行动。*选择的行动*search_more()read_previous_chunk()read_subsequent_chunk()termination()(这是您从行动选项中选择的操作,采用前面提到的函数调用形式。括号中的形式参数应替换为实际参数。)
#####请严格按照上述格式执行。让我们开始。

探索相邻节点提示词

作为智能助手,您的主要目标是基于文本中的信息回答问题。为此,已从文本中创建了一个图,包含以下元素:1. 文本块:原始文本的分段。
2. 原子事实:从文本块中提取的最小不可分割真实信息。
3. 节点:文本中的关键元素(名词、动词或形容词),与来自不同文本块的多个原子事实相关联。您当前的任务是评估当前节点的所有相邻节点,目的是确定是否继续前往下一个相邻节点。根据问题、合理计划、之前的行动、笔记本内容以及当前节点的相邻节点,您有以下行动选项:
#####
1. read_neighbor_node(节点的关键元素):如果您认为任何相邻节点可能包含与问题相关的信息,请选择此操作。注意,您应该一次只关注一个相邻节点。2. termination():如果您认为没有相邻节点拥有可以回答问题的信息,请选择此操作。
#####策略:
#####
1. 反思先前的行动,避免重复访问节点或块。
2. 您只能选择一个操作。这意味着您只能选择读取一个相邻节点或选择终止。
#####响应格式:
#####
*下一步行动理由*:根据给定的问题、合理计划、之前的行动和笔记本内容,分析如何选择下一步行动。*选择的行动*read_neighbor_node(相邻节点)termination()(这是您从行动选项中选择的操作,采用前面提到的函数调用形式。括号中的形式参数应替换为实际参数。)
#####请严格按照上述格式执行。让我们开始。

答案推理提示词

作为智能助手,您的主要目标是基于文本中的信息回答问题。为此,已从文本中创建了一个图,包含以下元素:1. 文本块:原始文本的分段。
2. 原子事实:从文本块中提取的最小不可分割真实信息。
3. 节点:文本中的关键元素(名词、动词或形容词),与来自不同文本块的多个原子事实相关联。您现在已经从该图的各个起始节点探索了多条路径,在笔记本中记录了每条路径的关键信息。
您的任务现在是分析这些记忆并推理出问题的答案。策略:
#####
1. 您应该首先分析每个笔记本内容,然后再提供最终答案。
2. 在分析过程中,考虑其他笔记中的补充信息,并采用多数表决策略来解决任何不一致。
3. 在生成最终答案时,确保您考虑了所有可用信息。
#####示例:
#####
用户:
问题:谁的网球生涯更长,丹尼还是爱丽丝?
不同探索路径的笔记本:
1. 我们只知道丹尼的网球生涯从1972年开始到1990年结束,但我们不知道爱丽丝职业生涯的长度。
2. ......助手:
分析:
搜索路径1的总结指出丹尼的网球生涯是1990-1972=18年。虽然它没有显示爱丽丝职业生涯的长度,但搜索路径2发现了这个信息,即爱丽丝的网球生涯是15年。因此我们可以得出最终答案,即丹尼的网球生涯比爱丽丝的长。
最终答案:
丹尼的网球生涯比爱丽丝的长。
#####请严格按照上述格式执行。让我们开始。

评分和阅读提示词

13 - LLM-Rating-1提示词:
约翰阅读了一些文本后,收到了以下关于文本的问题:
{问题文本}
约翰对问题的回答是:
{模型响应文本}
标准答案是:
{参考响应文本}约翰的回答是否与标准答案一致?
请回答"是""否"。图14 - LLM-Rating-2提示词:
约翰阅读了一些文本后,收到了以下关于文本的问题:
{问题文本}
约翰对问题的回答是:
{模型响应文本}
标准答案是:
{参考响应文本}约翰的回答是否与标准答案一致?
请回答"是""是,部分一致""否"。如果约翰的回答与标准答案有任何重叠,回答"是,部分一致"。如果约翰的回答包含了标准答案,回答"是"。如果约翰的回答比标准答案更具体,回答"是"。图15 - 完整文本阅读提示词:
请阅读以下文段并基于文段回答问题。
文段:
{文段文本}
问题:
{问题文本}现在请根据文段内容回答这个问题。

相关文章:

GraphReader: 将长文本结构化为图,并让 agent 自主探索,结合的大模型长文本处理增强方法

GraphReader: 将长文本结构化为图&#xff0c;并让 agent 自主探索&#xff0c;结合的大模型长文本处理增强方法 论文大纲理解为什么大模型和知识图谱不够&#xff1f;还要多智能体 设计思路数据分析解法拆解全流程核心模式提问为什么传统的长文本处理方法会随着文本长度增加而…...

VTK 模型封闭 closeSurface 补洞, 网格封闭性检测

网格封闭性检测 见&#xff1a; vtk Edges 特征边 提取 网格封闭性检测_vtkfeatureedges-CSDN博客 由于以前做过3D打印模型&#xff0c;要求模型必须是封闭的&#xff0c;原来对模型封闭有研究过&#xff0c;不过没有记录&#xff1b;现在又遇到&#xff0c;整理一下&#xff…...

【译】仅有 Text2SQL 是不够的: 用 TAG 统一人工智能和数据库

原文地址&#xff1a;Text2SQL is Not Enough: Unifying AI and Databases with TAG 摘要 通过数据库为自然语言问题提供服务的人工智能系统有望释放出巨大的价值。此类系统可让用户利用语言模型&#xff08;LM&#xff09;的强大推理和知识能力&#xff0c;以及数据管理系统…...

Java:链接redis报错:NoSuchElementException: Unable to validate object

目录 前言报错信息排查1、确认redis密码设置是否有效2、确认程序配置文件&#xff0c;是否配置了正确的redis登录密码3、检测是否是redis持久化的问题4、确认程序读取到的redis密码没有乱码 原因解决 前言 一个已经上线的项目&#xff0c;生产环境的redis居然没有设置密码&…...

每日一题 334. 递增的三元子序列

334. 递增的三元子序列 使用贪心来找到三个数字 class Solution { public:bool increasingTriplet(vector<int>& nums) {int first INT_MAX;int second INT_MAX;for(int num : nums){if(num < first){first num;}else if(num < second){second num;}els…...

金仓 Kingbase 日常运维 SQL 汇总

金仓 Kingbase 日常运维 SQL 汇总 1 单机启停 sys_ctl start|stop|restart 或指定data路径和端口等 sys_ctl start|stop|restart -D /data/kingbase/data -p 543222 集群启停 sys_monitor start|stop|restart3 修改配置后重新加载 sys_ctl reload4 初始化实例 initdb -E ut…...

JAVA开发ERP时在 PurchaseOrderServiceImpl.java 中添加日志记录进行调试

在 PurchaseOrderServiceImpl.java 中添加日志记录&#xff0c;以便在保存订单时输出参数进行调试。可以使用 Spring 的日志框架&#xff08;SLF4J 和 Logback&#xff09;来实现这一点。 添加日志记录 引入 SLF4J 依赖: 确保项目中已经包含了 SLF4J 和 Logback 的依赖。通常在…...

36.3 grafana-dashboard看图分析

kube-prometheus中的grafana总结 db使用 sqlit&#xff0c;volume类型为emptydir 无法持久化&#xff0c;pod扩缩就重新创建通过configMap设置的prometheus DataSource 通过 prometheus-k8s svc对应的 域名访问下面对应两个prometheus容器&#xff0c;有HA 各个dashboard通过 …...

面试题整理5----进程、线程、协程区别及僵尸进程处理

面试题整理5----进程、线程、协程区别及僵尸进程处理 1. 进程、线程与协程的区别1.1 进程&#xff08;Process&#xff09;1.2 线程&#xff08;Thread&#xff09;1.3 协程&#xff08;Coroutine&#xff09;2. 总结对比 3. 僵尸进程3.1 什么是僵尸进程&#xff1f;3.2 僵尸进…...

【C语言程序设计——基础】顺序结构程序设计(头歌实践教学平台习题)【合集】

目录&#x1f60b; <第1关&#xff1a;顺序结构的应用> 任务描述 相关知识 编程要求 测试说明 我的通关代码: 测试结果&#xff1a; <第2关&#xff1a;交换变量值> 任务描述 相关知识 编程要求 测试说明 我的通关代码: 测试结果&#xff1a; <第…...

LLM大语言模型私有化部署-OpenEuler22.03SP3上容器化部署Dify与Qwen2.5

背景 Dify 是一款开源的大语言模型(LLM) 应用开发平台。其直观的界面结合了 AI 工作流、 RAG 管道、 Agent 、模型管理、可观测性功能等&#xff0c;让您可以快速从原型到生产。相比 LangChain 这类有着锤子、钉子的工具箱开发库&#xff0c; Dify 提供了更接近生产需要的完整…...

C语言中的转义字符

C语言中的转义字符 常见字符ASCII码表...

ilqr算法原理推导及代码实践

目录 一. ilqr原理推导1.1 ilqr问题描述1.2 ilqr算法原理1.3 ilqr算法迭代过程 二. ilqr实践代码 一. ilqr原理推导 1.1 ilqr问题描述 本文参考知乎博主: LQR与iLQR&#xff1a;从理论到实践【详细】 基础LQR只能处理线性系统 (指可以使用 x ( k 1 ) A x ( k ) B u ( k )…...

系列1:基于Centos-8.6部署Kubernetes (1.24-1.30)

每日禅语 “木末芙蓉花&#xff0c;山中发红萼&#xff0c;涧户寂无人&#xff0c;纷纷开自落。​”这是王维的一首诗&#xff0c;名叫《辛夷坞》​。这首诗写的是在辛夷坞这个幽深的山谷里&#xff0c;辛夷花自开自落&#xff0c;平淡得很&#xff0c;既没有生的喜悦&#xff…...

finereport新的数据工厂插件使用场景一 通过accessToken获取数据

1 有两个接口,一个接口获取一个accessToken,一个接口根据accessToken来获取数据。代码示例为: @RequestMapping(value = {"df_test/getAccessToken"},method = {RequestMethod.GET})@ResponseBodypublic String getAccessToken(HttpServletRequest req, HttpServ…...

matlab绘图时设置左、右坐标轴为不同颜色

目录 一、需求描述 二、实现方法 一、需求描述 当图中存在两条曲线&#xff0c;需要对两条曲线进行分别描述时&#xff0c;应设置左、右坐标轴为不同颜色&#xff0c;并设置刻度线&#xff0c;且坐标轴颜色需要和曲线颜色相同。 二、实现方法 1.1、可以实现&#xff1a; 1…...

魏裕雄的JAVA学习总结

JAVA学习总结 Java面向对象程序设计知识总结第1章 初识Java与面向对象程序设计JAVA概述面向对象程序设计思想JAVA开发环境搭建第一个JAVA程序JAVA常用开发工具 第2章 Java编程基础变量与常量运算符与表达式选择结构循环结构方法数组JVM中的堆内存与栈内存 第3章 面向对象程序设…...

深度学习从入门到精通——图像分割实战DeeplabV3

DeeplabV3算法 参数配置关于数据集的配置训练集参数 数据预处理模块DataSet构建模块测试一下数据集去正则化模型加载模块DeepLABV3 参数配置 关于数据集的配置 parser argparse.ArgumentParser()# Datset Optionsparser.add_argument("--data_root", typestr, defa…...

SAP抓取外部https报错SSL handshake处理方法

一、问题描述 SAP执行报表抓取https第三方数据,数据获取失败。 报错消息: SSL handshake with XXX.COM:449 failed: SSSLERR_SSL_READ (-58)#SAPCRYPTO:SSL_read() failed##SapSSLSessionStartNB()==SSSLERR_SSL_READ# SSL:SSL_read() failed (536875120/0x20001070)# …...

Electron-Vue 开发下 dev/prod/webpack server各种路径设置汇总

背景 在实际开发中&#xff0c;我发现团队对于这几个路径的设置上是纯靠猜的&#xff0c;通过一点点地尝试来找到可行的路径&#xff0c;这是不应该的&#xff0c;我们应该很清晰地了解这几个概念&#xff0c;以下通过截图和代码进行细节讲解。 npm run dev 下的路径如何处理&…...

穷举vs暴搜vs深搜vs回溯vs剪枝专题一>全排列II

题目&#xff1a; 解析&#xff1a; 这题设计递归函数&#xff0c;主要把看如何剪枝 代码&#xff1a; class Solution {private List<List<Integer>> ret;private List<Integer> path;private boolean[] check;public List<List<Integer>> p…...

Nginx中Server块配置的详细解析

Nginx中Server块配置的详细解析 一、Server块简介 在Nginx配置文件中&#xff0c;server块是非常关键的部分。它用于定义虚拟主机&#xff0c;一个server块就代表一个虚拟主机。这使得我们可以在一台Nginx服务器上通过不同的配置来处理多个域名或者基于不同端口的服务请求。 …...

【后端面试总结】Redis的三种模式原理介绍及优缺点

Redis作为一款高性能的键值对数据库&#xff0c;提供了多种模式以满足不同场景下的需求。本文将详细介绍Redis的三种主要模式&#xff1a;主从复制模式、哨兵模式&#xff08;Sentinel&#xff09;和集群模式&#xff08;Cluster&#xff09;&#xff0c;包括它们的原理、配置、…...

TCP协议详解

目录 一. TCP协议概述 1. 概念 2. 特点 (1) 面向连接 (2) 可靠传输 (3) 面向字节流 (4) 全双工通信 (5) 流量控制和拥塞控制 二. TCP协议报文格式 1. 源端口号 和 目的端口号 (16位) 2. 序号 和 确认序号 (32位) 3. 首部长度 (4位) 4. 保留位 (6位) 7. 控制位 8.…...

Webpack学习笔记(2)

1.什么是loader? 上图是Webpack打包简易流程&#xff0c;webpack本身只能理解js和json这样的文件&#xff0c;loader可以让webpack解析其他类型文件&#xff0c;并且将文件转换成模块供我们使用。 test识别出那些文件被转换&#xff0c;use定义转换时使用哪个loader转换 上图…...

【漏洞复现】Grafana 安全漏洞(CVE-2024-9264)

🏘️个人主页: 点燃银河尽头的篝火(●’◡’●) 如果文章有帮到你的话记得点赞👍+收藏💗支持一下哦 一、漏洞概述 1.1漏洞简介 漏洞名称:Grafana 安全漏洞 (CVE-2024-9264)漏洞编号:CVE-2024-9264 | CNNVD-202410-1891漏洞类型:命令注入、本地文件包含漏洞威胁等级:…...

C++实现最大字段和

又是一道非常基础且经典的动态规划题目&#xff1a;假设有一个整数序列&#xff0c;我们将连续的几个元素组成的序列称为子段&#xff0c;要求我们得出所有子段和中最大的一个~ 例如&#xff1a;{-2,11&#xff0c;-4,13&#xff0c;-5&#xff0c;-2}&#xff0c;这一序列中&a…...

当我用影刀AI Power做了一个旅游攻略小助手

在线体验地址&#xff1a;旅游攻略小助手https://power.yingdao.com/assistant/ca1dfe1c-9451-450e-a5f1-d270e938a3ad/share 运行效果图展示&#xff1a; 话不多说一起看下效果图&#xff1a; 智能体的截图&#xff1a; 工作流截图&#xff1a; 搭建逻辑&#xff1a; 其实这…...

K8s HPA的常用功能介绍

Kubernetes 的 Horizontal Pod Autoscaler (HPA) 是一种自动扩展功能&#xff0c;用于根据资源使用情况&#xff08;如 CPU、内存等&#xff09;或自定义指标&#xff0c;动态调整 Pod 的副本数量&#xff0c;从而保证应用的性能和资源利用率。 以下是 HPA 的常用功能介绍&…...

web3跨链预言机协议-BandProtocol

项目简介 Band Protocol 项目最初于 2017年成立并建立在 ETH 之上。后于2020年转移到了 Cosmos 网络上&#xff0c;基于 Cosmos SDK 搭建了一条 Band Chain 。这是一条 oracle-specific chain&#xff0c;主要功能是提供跨链预言机服务。Cosmos生态上第一个&#xff0c;也是目…...

Python如何正确解决reCaptcha验证码(9)

前言 本文是该专栏的第73篇,后面会持续分享python爬虫干货知识,记得关注。 我们在处理某些国内外平台项目的时候,相信很多同学或多或少都见过,如下图所示的reCaptcha验证码。 而本文,笔者将重点来介绍在实战项目中,遇到上述中的“reCaptcha验证码”,如何正确去处理并解…...

电商数据采集电商,行业数据分析,平台数据获取|稳定的API接口数据

电商数据采集可以通过多种方式完成&#xff0c;其中包括人工采集、使用电商平台提供的API接口、以及利用爬虫技术等自动化工具。以下是一些常用的电商数据采集方法&#xff1a; 人工采集&#xff1a;人工采集主要是通过基本的“复制粘贴”的方式在电商平台上进行数据的收集&am…...

【java】Executor框架的组成部分

目录 1. 任务&#xff08;Task&#xff09;2. 执行器&#xff08;Executor&#xff09;3. 任务结果&#xff08;Future&#xff09;4. 线程池&#xff08;ThreadPool&#xff09;5. 任务队列&#xff08;Work Queue&#xff09;6. 线程工厂&#xff08;Thread Factory&#xff…...

KMP算法基础

文章一览 前言一、核心思想二、实现步骤三、图解实现四、next数组的实现总结 前言 本栏目将讲解在学习过程中遇到的各种常用算法&#xff0c;深入浅出的讲解算法的用法与使用场景。 那么话不多说&#xff0c;让我们进入第一个算法KMP算法吧&#xff01; 一、核心思想 KMP&am…...

C语言——实现百分制换算为等级分

问题描述&#xff1a;百分制换算为等级分 //百分制换算为等级分#include<stdio.h>void my_function(int x) {if(x>95 && x<100){printf("A");}else if(x>81 && x<94){printf("B");}else if(x>70 && x<8…...

@pytest.fixture() 跟 @pytest.fixture有区别吗?

在iOS UI 自动化工程里面最早我用的是pytest.fixture()&#xff0c;因为在pycharm中联想出来的fixture是带&#xff08;&#xff09;的&#xff0c;后来偶然一次我没有带&#xff08;&#xff09;发现也没有问题&#xff0c;于是详细查了一下pytest.fixture() 和 pytest.fixtur…...

docker run命令大全

docker run命令大全 基本语法常用选项基础选项资源限制网络配置存储卷和挂载环境变量重启策略其他高级选项示例总结docker run 命令是 Docker 中最常用和强大的命令之一,用于创建并启动一个新的容器。该命令支持多种选项和参数,可以满足各种使用场景的需求。以下是 docker ru…...

BootAnimation源码流程分析

BootAnimation流程 bootanimation源码位于frameworks/base/cmds/bootanimation&#xff0c;正如其名&#xff0c;主要功能是加载播放开机动画&#xff0c;是一个C程序&#xff0c;编译生成的可执行文件位于/system/bin 主要逻辑&#xff1a;解析系统路径下的bootanimation.zi…...

Vue前端开发-数据缓存

完成全局性的axios实例对象配置后&#xff0c;则可以在任意一个组件中直接调用这个对象&#xff0c;发送异步请求&#xff0c;获取服务端返回的数据&#xff0c;同时&#xff0c;针对那些不经常变化的数据&#xff0c;可以在请求过程中&#xff0c;进行数据缓存&#xff0c;并根…...

唯品会Android面试题及参考答案

HTTP 和 HTTPS 的区别是什么&#xff1f;你的项目使用的是 HTTP 还是 HTTPS&#xff1f; HTTP 和 HTTPS 主要有以下区别。 首先是安全性。HTTP 是超文本传输协议&#xff0c;数据传输是明文的&#xff0c;这意味着在数据传输过程中&#xff0c;信息很容易被窃取或者篡改。比如&…...

ARM CCA机密计算安全模型之固件启动

安全之安全(security)博客目录导读 目录 1、安全启动(Verified boot) 2、镜像格式和签名方案 3、防回滚 4、离线启动(Off-line boot) 5、CCA HES固件启动流程 6、CCA系统安全域启动过程 7、应用程序PE启动过程 8、稳健性 本节定义了将CCA固件引导至可证明状态的要…...

LeetCode:3376. 破解锁的最少时间 I(DFS回溯 Java)

目录 3376. 破解锁的最少时间 I 题目描述&#xff1a; 实现代码与解析&#xff1a; DFS 原理思路&#xff1a; 3376. 破解锁的最少时间 I 题目描述&#xff1a; Bob 被困在了一个地窖里&#xff0c;他需要破解 n 个锁才能逃出地窖&#xff0c;每一个锁都需要一定的 能量 …...

利用编程获得money?

在当今数字化时代&#xff0c;编程技能为人们开辟了众多赚钱途径。无论你是编程新手还是经验丰富的开发者&#xff0c;都能在广阔的市场中找到适合自己的盈利方式。以下是一份详细的用编程赚钱指南。 一、自由职业平台 像 Upwork、Freelancer 和 Fiverr 等知名自由职业平台&am…...

51c视觉~合集36

我自己的原文哦~ https://blog.51cto.com/whaosoft/12275223 #无监督盲超分算法MLMC 即插即用的解决方案 本文介绍了一种新的无监督盲超分辨率算法MLMC&#xff0c;该算法结合了元学习和马尔可夫链蒙特卡罗核估计&#xff0c;无需监督预训练或参数先验&#xff0c;即可实现…...

域名系统_域名展示出售系统 PC+H5 双端自适应页面

域名系统_域名展示出售系统 PCH5 双端自适应页面 PCH5 双端自适应页面 " 是一套专门用于域名展示和出售的系统源代码 它包含 PC 端和 H5 移动端两个版本&#xff0c;确保在不同设备上都能提供良好的用户体验 这套系统不仅具备基本的域名展示功能&#xff0c;还注重设计…...

Linux C/C++编程的线程结束

【图书推荐】《Linux C与C一线开发实践&#xff08;第2版&#xff09;》_linux c与c一线开发实践pdf-CSDN博客《Linux C与C一线开发实践&#xff08;第2版&#xff09;&#xff08;Linux技术丛书&#xff09;》(朱文伟&#xff0c;李建英)【摘要 书评 试读】- 京东图书 (jd.com…...

户口本识别、接口识别、python户口本文字识别集成

文字识别技术是数字化转型中一项重要的信息处理手段&#xff0c;正在改变政府机构、企业及个人用户之间的交互方式。通过先进的OCR&#xff08;光学字符识别&#xff09;技术和AI算法的支持&#xff0c;户口本识别不仅简化了信息采集流程&#xff0c;还提高了数据的准确性。 随…...

王佩丰24节Excel学习笔记——第十一讲:Vlookup函数

【以 Excel2010 系列学习&#xff0c;用 Office LTSC 专业增强版 2021 实践】 【本章小技巧】 掌握vlookup使用方法&#xff0c;选区的第一列一定是查询参数条件一。使用通配符查询。vlookup 限 255 位长度。掌握日常使用场景。使用vlookup模糊匹配查询个税 一、使用Vlookup函…...

java全栈day16--Web后端实战(数据库)

一、数据库介绍 二、Mysql安装&#xff08;自行在网上找&#xff0c;教程简单&#xff09; 安装好了进行Mysql连接 连接语法&#xff1a;winr输入cmd&#xff0c;在命令行中再输入mysql -uroot -p密码 方法二&#xff1a;winr输入cmd&#xff0c;在命令行中再输入mysql -uroo…...

Upload-labs 靶场(通关攻略)

WebShell 一句话木马: <?php eval($_POST[a])?> <?php system($_POST[a])?> 第一关&#xff08;删除前端js校验&#xff09; 删除return checkFile() 就能上传成功 第二关(抓包文件类型校验) BP抓包修改后缀 改为2.php后放行 第三关(上传php同种类型的不…...