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

本地知识库RAG总结

目录

RAG流程:

知识库的要求:

知识抽取:

知识存储:

向量化:

知识检索:

应用客户端:

RAG智能问答应用几个痛点:

如何提升召回率改进思路:

如何提升回答专业性:

RAG评测:

总结:

参考链接:


RAG流程:

知识加载 -> 知识切片 -> 信息抽取 -> 知识加工(embedding/graph/keywords) -> 知识存储

知识库的要求:

1、支持多人同时编辑

2、事件通知机制:新增或修改以后同步通知(有最佳)

3、有对外的api或可以爬取的页面

4、支持多路召回,检索的时候可以同时从多个知识库进行检索

知识抽取:

1、目前支持向量抽取,知识图谱抽取,关键词抽取。

知识图谱抽取 -> knowledge graph, 通过利用大模型提取(实体,关系,实体)三元组结构。

倒排索引抽取 -> keywords分词,可以用es默认的分词库,也可以使用es的插件模式自定义分词

知识存储:

Dify 在v0.6.x 及更高版本中默认集成PGVector(基于 PostgreSQL 的向量扩展)在配置文件中可改

MaxKB 默认使用Weaviate作为向量存储引擎

数据库

存储容量

查询延迟

扩展性

典型场景

Milvus

PB级(分布式)

毫秒级

⭐⭐⭐⭐⭐

大规模AI应用

FAISS

内存限制

微秒~毫秒级

⭐⭐

内存内快速检索

Weaviate

TB

毫秒级

⭐⭐⭐

混合查询

Vespa

PB

<50ms

⭐⭐⭐⭐

企业级实时搜索

Qdrant

TB

毫秒级

⭐⭐⭐

带过滤的向量搜索

Chroma

GB

毫秒级

原型开发与小规模应用

Elastic

PB

毫秒级

⭐⭐⭐⭐

日志分析、全文搜索

选型建议

超大规模数据+分布式:Milvus、Vespa。

高维向量+GPU加速:FAISS(需自研存储层)、Milvus。

轻量级+快速开发:Chroma、Annoy。

混合查询(向量+属性):Weaviate、Qdrant。

向量化:

高精度要求建议自己写程序处理,更准确一些,能解决索引质量和信息丢失的问题

分段优化4原则:  
语义完整性校验(BERTScore>0.85)  
动态重叠窗口(建议15%-20%文本长度)  
关键实体锚点锁定(使用spaCy实体识别)

知识切片默认使用分割符separator(换行”\n”)+固定size,其他切片方式包括基于页面page、段落paragraph、markdown header等。

知识检索:

question -> rewrite -> similarity_search -> rerank -> context_candidates

Graph RAG

首先通过模型进行关键词抽取,这里可以通过传统的nlp技术进行分词,也可以通过大模型进行分词,然后进行关键词按照同义词做扩充,找到关键词的候选列表,最好根据关键词候选列表调用explore方法召回局部子图。

应用客户端:

产品

形式

对外api服务

外部知识库

外部向量库

cherry studio

桌面

anythingLLM

桌面或web

dify

web

MaxKB

web

ragflow

web

/

FastGPT

web

openwebui

web

RAG智能问答应用几个痛点:

1、知识库文档越来越多以后,检索噪音大,召回准确率不高

2、召回不全,完整性不够

3、召回和用户问题意图相关性不大

4、只能回答静态数据,无法动态获取知识,导致答疑应用比较呆,比较笨。

5、用于大模型推理相关上下文的召回率低,推不准确,幻觉严重

6、从数据库中检索到包含答案的文档,因为重排序/过滤规则等策略,导致有用的文档没有被整合到上下文中。

7、召回的上下文中,依然存在过多的噪音或矛盾,导致问题难以被准确回复。

8、仅基于上下文提供的内容生成答案,会导致回答的内容不够充整。

9、当用户的提问过于笼统时,也会出现准确性不足的问题。

10、召回率还有巨大改进空间。

11、已经有现成的知识库(自动采集)

12、嵌入向量拆分的时候可能会丢失信息(分段优化,分段最大长度500,分段重叠长度50)

13、给llm的信息受令牌数量限制(分级召回策略)

14、使用dify建知识库加集成ollama,感觉效果一般(索引优化)

15、局域网内多终端访问同一个向量数据库(web应用)

如何提升召回率改进思路:

1、融入“关键字检索”技术,用于排除召回文档中和问题关键字无关的内容。

2、保持双向量数据库架构,保持chunk中前后端以及文档结构描述。

3、融入“知识图谱”技术,将文档中的实体和属性形成可解释的知识图谱,在检索的时候,通过问题中语义实体或关系,基于知识图谱库获取和该问题推理相关的上下文(事实或逻辑),让大模型按照可解释的推理过程进行问题的分解和答案生成。

4、构建依据问题的自动检素路由,用于提高问题的回复效率。

5、知识处理优化

非结构化/半结构化/结构化数据的处理,准备决定着RAG应用的上限,因此首先需要在知识处理,索引阶段做大量的细粒度的ETL工作,主要优化的思路方向:

(1)非结构化 -> 结构化:有条理地组织知识信息。

(2)提取更加丰富的, 多元化的语义信息。

(3)建议将docx、txt或者其他文本事先处理为pdf或者markdown格式,这样可以利用一些识别工具更好的提取文本中的各项内容。

(4)提取文本中的表格信息。

(5)保留markdown和pdf的标题层级信息,为接下来的层级关系树等索引方式准备。

(6)保留图片链接,公式等信息,也统一处理成markdown的格式。

(7)切片Chunk尽量保持完整,保存上下文完整性和相关性,这直接关乎回复准确率。保持在大模型的上下文限制内,分块保证输入到LLMs的文本不会超过其token限制。

(8)图片 + 表格 单独抽取成Chunk,将表格和图片标题保留到metadata元数据里。

(9)文档内容尽量按照标题层级或者Markdown Header进行拆分,尽可能保留chunk的完整性。

(10)如果有自定义分隔符可以按照自定义分割符切分。

(11)知识图谱,依赖大模型提取(实体,关系,实体)三元组关系。依赖前期高质量,结构化的知识准备,清洗,抽取,通过业务规则通过手动或者自定义SOP流程构建知识图谱。

(12)Doc Tree,以标题层级构建chunk的树形节点,形成一个多叉树结构,每一层级节点只需要存储文档标题,叶子节点存储具体的文本内容。这样利用树的遍历算法,如果用户问题命中相关非叶子标题节点,就可以将相关的子节点数据进行召回。这样就不会存在chunk完整性缺失的问题。

(13)提取QA对,需要前置通过预定义或者模型抽取的方式提取QA对信息。预定义:预先为每个chunk添加一些问题。模型抽取:通过给定一下上下文,让模型进行QA对抽取。

(14)元数据抽取,根据自身业务数据特点,提取数据的特征进行保留,比如标签,类别,时间,版本等元数据属性。

(15)总结提取,通过mapreduce等方式分段抽取,通过模型为每段chunk提取摘要信息。

6、RAG流程优化

(1)原始问题分类,通过问题分类可以LLM分类(LLMExtractor),构建embedding+逻辑回归实现双塔模型,text2nlu DB-GPT-Hub/src/dbgpt-hub-nlu/README.zh.md at main · eosphoros-ai/DB-GPT-Hub。tip:需要高质量的Embedding模型,推荐bge-v1.5-large

(2)反问用户,如果语义不清晰将问题再抛给用户进行问题澄清,通过多轮交互。通过热搜词库根据语义相关性给用户推荐他想要的问题候选列表

(3)槽位提取,目的是获取用户问题中的关键slot信息,比如意图,业务属性等等。LLM提取(LLMExtractor)

(4)问题改写,热搜词库进行改写,多轮交互。

(5)元数据过滤,当我们把索引分成许多chunks并且都存储在相同的知识空间里面,检索效率会成为问题。比如用户问"浙江我武科技公司"相关信息时,并不想召回其他公司的信息。因此,如果可以通过公司名称元数据属性先进行过滤,就会大大提升效率和相关度。

(6)多策略混合召回。按照优先级召回,分别为不同的检索器定义优先级,检索到内容后立即返回。定义不同检索,比如qa_retriever, doc_tree_retriever写入到队列里面, 通过队列的先进先出的特性实现优先级召回。

(7)多知识索引/空间并行召回。通过知识的不同索引形式,通过并行召回方式获取候选列表,保证召回完整性。

(8)后置过滤。经过粗筛候选列表后,怎么通过精筛过滤噪音呢?无关的候选分片剔除、时效性剔除、业务属性不满足剔除、topk去重、重排序,仅仅靠粗筛的召回还不够,这时候我们需要有一些策略来对检索的结果做重排序,比如把组合相关度、匹配度等因素做一些重新调整,得到更符合我们业务场景的排序。因为在这一步之后,我们就会把结果送给LLM进行最终处理了,所以这一部分的结果很重要。使用相关重排序模型进行精筛,可以使用开源的模型,也可以使用带业务语义微调的模型。

(9)显示优化+兜底话术/话题引导。让模型使用markdown的格式进行输出。

如何提升回答专业性:

原生RAG的困难:

1、文档来源复杂,质量参差不齐,要精确解析文档非常困难。对于文档中的公式、图片和表格等,既要保持原语义的基础上,又要处理为字符,目前的技术相当的困难。

2、当文档的数量增多增大的时候,正确地召回到包含答案的文档是最大的挑战。原生RAG召回的文档和问题的语义关联相差甚远。

3、当噪声文档多的话,会正确的答案生成造成极大干扰。

4、专业技术文档里有大量的专业术语、缩写,大模型理解不正确。

5、问题只涉及局部信息时,召回率高;问题涉及到全局信息时,召回率就很低。

改进思路:

1、生成问答对新语料

基于Qwen2-72B 模型,利用提示词,对每个chunk的内容产生多个问答对数据,将问答数据整合(N:1)Embedding,存储“问答向量数据库”中。

2、Chunk的前后段和文档结构保持

第一、依据自然段,对原文档进行切分,以自然段为chunk基准。第二,对每个自然段进行摘要。第三,将某自然段的前后自然段摘要,链接到该自然段前后,作为前后段。第四,将该自然段所处文档的结构,作为上下文添加到该自然段中。最后将以上整合的语块以Embedding的方式,存储在“原文档+前后端+文档结构向量数据库”中。

3、利用工具拆分表格和图像

用专门的工具对文档内容中涉及图片、公式(图片格式)和表格(图片格式)进行重命名,其图片保存为同文档目录下的同名的图片。在检索成功后,依据文字中的名称从同目录下获取对应的图片。

RAG评测:

在评估智能问答流程时,需要单独对召回相关性准确率以及模型问答的相关性进行评估,然后再综合考虑,以判断RAG流程在哪些方面仍需改进。

RAG召回指标(RetrieverEvaluationMetric):

RetrieverHitRateMetric:命中率衡量的是RAG retriever召回出现在检索结果前top-k个文档中的比例。

RetrieverMRRMetric: Mean Reciprocal Rank通过分析最相关文档在检索结果里的排名来计算每个查询的准确性。更具体地说,它是所有查询的相关文档排名倒数的平均值。例如,若最相关的文档排在第一位,其倒数排名为 1;排在第二位时,为 1/2;以此类推。

RetrieverSimilarityMetric: 相似度指标计算,计算召回内容与预测内容的相似度。

模型生成答案指标:

AnswerRelevancyMetric:智能体答案相关性指标,通过智能体答案与用户提问的匹配程度。高相关性的答案不仅要求模型能够理解用户的问题,还要求其能够生成与问题密切相关的答案。这直接影响到用户的满意度和模型的实用性。

总结:

1、Dify的强大之处在于流程引擎。知识库这方面,尤其是检索Retrieval这块其实只是基础版的实现,实验室跑跑demo还行,实际使用的话,召回很低。

2、摆在面前的3条路,何去何从,引人思考。第一,自己从0开始实现RAG,优点是灵活度高,可以定制,召回有保证,缺点是工作量大。第二,使用开源的RAG,优点是工作量少,缺点是召回太低,自己源码级别的修改又不知道自己是否能cover。第三,基于开源的做2次开发,优点解决了召回的问题,缺点还是不知道是否可以cover。

3、RAG这套流程想要做好,最少需要2个人以上的团队。

参考链接:

http://www.360doc.com/content/25/0208/14/58415156_1146300439.shtml

万字长文讲透 RAG在实际落地场景中的优化

架构思考 · 语雀

评估(Evaluation) · 语雀

相关文章:

本地知识库RAG总结

目录 RAG流程: 知识库的要求&#xff1a; 知识抽取&#xff1a; 知识存储: 向量化: 知识检索: 应用客户端: RAG智能问答应用几个痛点&#xff1a; 如何提升召回率改进思路&#xff1a; 如何提升回答专业性&#xff1a; RAG评测&#xff1a; 总结&#xff1a; 参考…...

Trae IDE 介绍与使用教程

一、产品概述 Trae IDE 是由字节跳动推出的国内首个原生AI集成开发环境&#xff0c;专为中文开发者深度定制&#xff0c;旨在通过智能化工具降低编程门槛&#xff0c;提升开发效率。作为对标国外Cursor的国产替代方案&#xff0c;Trae不仅继承了AI驱动的代码生成与补全功能&am…...

OceanBase 用户问题精选答疑:OceanBase 版本升级解析

背景 此篇博客的源自于OceanBase社区论坛内一位名为皇甫侯的热心用户所提的建议&#xff0c;希望向OceanBase的用户介绍OceanBase的版本升级路径。本文以一个版本升级为示例&#xff0c;汇总了对用户而言比较重要的版本升级要点&#xff0c;期望通过这份分享&#xff0c;能让读…...

SpringBoot 和vue前后端配合开发网页拼图10关游戏源码技术分享

今天分享一个 前后端结合 的网页游戏 开发项目源码技术。 这也是我第一次写游戏类的程序&#xff0c;虽然不是特别复杂的游戏&#xff0c;但是是第一次写&#xff0c;肯定要记录一下了&#xff0c;哈哈。 游戏的内容 就是 我们显示中玩的那个 拼图碎片的 游戏&#xff0c;类似下…...

LeetCode 1005. K 次取反后最大化的数组和 java题解

https://leetcode.cn/problems/maximize-sum-of-array-after-k-negations/description/ 看着简单但是写si人的一题。 class Solution {public int largestSumAfterKNegations(int[] nums, int k) {Arrays.sort(nums);//排序int last_negative-1,first_positive-1;//最后一个负…...

c++ 类和对象 —— 中 【复习笔记】

1. 类的默认成员函数 如果一个类什么成员都没有&#xff0c;简称空类。但实际上&#xff0c;任何类在不写成员时&#xff0c;编译器会自动生成6个默认成员函数&#xff08;用户未显式实现&#xff0c;编译器生成的成员函数&#xff09; 这6个成员函数可分为三类&#xff1a; …...

「速通AI编程开发」共学(三):提示词(Prompts)配置项

「速通AI编程开发」共学&#xff08;三&#xff09; 一、共学课程来源学习初衷 二、介绍不同模式下的提示词&#xff08;Prompts&#xff09;支持性提示词 三、提示词学习材料分享 一、共学课程来源 Datawhale通过开源学习模式&#xff0c;助力AI学习者与知识连接&#xff0c;…...

Spring Cloud Stream - 构建高可靠消息驱动与事件溯源架构

一、引言 在分布式系统中&#xff0c;传统的 REST 调用模式往往导致耦合&#xff0c;难以满足高并发和异步解耦的需求。消息驱动架构&#xff08;EDA, Event-Driven Architecture&#xff09;通过异步通信、事件溯源等模式&#xff0c;提高了系统的扩展性与可观测性。 作为 S…...

电脑如何录屏

以下是电脑录屏的常用方法总结&#xff0c;涵盖系统自带工具、第三方软件及进阶功能&#xff0c;结合不同场景需求推荐最佳方案&#xff1a; 一、系统自带工具 Xbox Game Bar&#xff08;Windows 10/11&#xff09; 操作步骤&#xff1a;按 WinG 打开游戏栏 → 点击录制按钮&am…...

【微知】plantuml在泳道图中如何将多个泳道框起来分组并且设置颜色?(box “浏览器“ #LightGreen endbox)

泳道分组并且着色 分组用 box和endbox &#xff0c;颜色用#xxx&#xff0c;标注用"xxx" box "浏览器" #LightGreen participant "浏览器1" as Browser participant "浏览器2" as Browser2 endboxparticipant "服务端" as …...

c++ 中的可变参数模板与折叠表达式

c 11 引入了可变参数模板&#xff0c;c 17 引入了折叠表达式&#xff0c;比 c 语言的可变参数更加简洁灵活。这篇博客总结了一些例子。 …&#xff08;省略号&#xff09;用于可变参数&#xff08;Variadic Arguments&#xff09;&#xff0c;它可以放在模板参数 或 函数参数的…...

websocket学习手册及python实现简单的聊天室

概述 WebSocket 是一种网络通信协议&#xff0c;允许在单个 TCP 连接上进行全双工通信。它最核心的优势就在于实现了持久连接&#xff0c;实现了实时的数据传输。HTTP 协议有一个很大的缺点&#xff0c;通信只能由客户端发起&#xff0c;服务器返回响应后连接就会关闭&#xf…...

论文阅读:2023-arxiv Can AI-Generated Text be Reliably Detected?

总目录 大模型安全相关研究&#xff1a;https://blog.csdn.net/WhiffeYF/article/details/142132328 文章目录 Abstract&#xff08;摘要&#xff09;1 Introduction&#xff08;引言&#xff09;Conclusion&#xff08;结论&#xff09; Can AI-Generated Text be Reliably D…...

Mock接口编写教程-axios-mock-adapter(React)

Mock模拟接口编写教程 直接在前端实现接口模拟 1.第一步 设置模拟接口 // mock.ts import axios from axios import MockAdapter from axios-mock-adapter// 创建一个模拟适配器 const mock new MockAdapter(axios)// 设置模拟接口 export const setupMock () > {mock.…...

react(一):特点-基本使用-JSX语法

初识React React是一个用于构建用户界面的 JavaScript 库&#xff0c;由 Facebook 开发和维护。 官网文档&#xff1a;React 官方中文文档 特点 1.声明式编程 2.组件化开发 3.多平台适配 开发依赖 开发React必须依赖三个库&#xff1a; 1.react&#xff1a;包含react所必…...

golang函数与方法的区别

1.调用方式的区别 函数的调用方式&#xff1a;函数名&#xff08;参数...&#xff09; 方法的调用方式: 变量.方法名&#xff08;参数...&#xff09; 2.函数的使用 package mainimport "fmt" //函数参数为值类型&#xff0c;调用的时候只能传递值类型数据&#…...

解决 openeuler 系统 docker 下载慢,docker 镜像加速

一、步骤说明 1. 编辑 Docker 配置文件 Docker 的镜像源配置文件路径为 /etc/docker/daemon.json。如果该文件不存在&#xff0c;则需要先创建目录和文件。 # 创建目录&#xff08;如果不存在&#xff09; sudo mkdir -p /etc/docker# 编辑配置文件&#xff08;使用 nano 或…...

Android ARouter的详细使用指南

Android ARouter的详细使用指南。我需要先确定用户的基础&#xff0c;可能他们已经有Android开发经验&#xff0c;但对ARouter不太熟悉。首先&#xff0c;我应该介绍ARouter是什么&#xff0c;解决什么问题&#xff0c;比如模块化中的页面跳转问题。然后&#xff0c;需要分步骤…...

PosterRender 实现微信下程序 分享商品生成海报

PosterRender 是什么 PosterRender 是一种专注于生成高质量海报图像的技术或工具&#xff0c;常用于生成静态图片&#xff0c;特别是适合用于营销、宣传和展示的图形设计。它通常用于在服务端或客户端渲染复杂的图像&#xff0c;包括文字、图形、图标、背景等&#xff0c;生成…...

电机控制常见面试问题(十五)

文章目录 一、电机气隙二、电气时间三.电机三环控制详解四.驱动板跳线意义五.电机开环自检 一、电机气隙 电机气隙是定子和转子之间的空隙&#xff0c;防止钉子转子运转时物理接触&#xff0c;此外&#xff0c;气隙是磁路的重要环节&#xff0c;磁场需通过气隙传递能量&#x…...

基于云漂移优化(Cloud Drift Optimization,CDO)算法的多个无人机协同路径规划(可以自定义无人机数量及起始点),MATLAB代码

一、云漂移优化算法 云漂移优化&#xff08;Cloud Drift Optimization&#xff0c;CDO&#xff09;算法是2025年提出的一种受自然现象启发的元启发式算法&#xff0c;它模拟云在大气中漂移的动态行为来解决复杂的优化问题。云在大气中受到各种大气力的影响&#xff0c;其粒子的…...

【第9章】亿级电商平台订单系统-整体技术架构设计

1-1 本章导学 课程主题:系统蓝图描绘与整体技术架构设计核心学习内容: ▶️ 订单系统的整体技术架构设计 ▶️ 架构设计核心方法论与实践应用本章核心内容架构 1. 技术预研 架构设计的基础支撑环节关键技术可行性分析与选型依据2. 整体技术架构设计方法与步骤 结构化设计方法…...

harmonyOS NEXT开发与前端开发深度对比分析

文章目录 1. 技术体系概览1.1 技术栈对比1.2 生态对比 2. 开发范式比较2.1 鸿蒙开发范式2.2 前端开发范式 3. 框架特性对比3.1 鸿蒙 Next 框架特性3.2 前端框架特性 4. 性能优化对比4.1 鸿蒙性能优化4.2 前端性能优化 5. 开发工具对比5.1 鸿蒙开发工具5.2 前端开发工具 6. 学习…...

详细介绍GetDlgItem()

书籍&#xff1a;《Visual C 2017从入门到精通》的2.3.8 Win32控件编程 环境&#xff1a;visual studio 2022 内容&#xff1a;【例2.31】在模态对话框上可视化创建树形控件 说明&#xff1a;以下内容大部分来自腾讯元宝。 GetDlgItem() 是 Windows API 中用于获取对话框或父…...

MCU的应用场景:从智能家居到工业控制

MCU的应用场景非常广泛&#xff0c;主要包括以下几个方面&#xff1a; 1. 智能家居 智能照明&#xff1a;通过MCU控制LED灯的亮度和颜色。 智能安防&#xff1a;在安防系统中&#xff0c;MCU用于控制传感器和报警器。 2. 工业控制 PLC&#xff08;可编程逻辑控制器&…...

docker的使用

时间&#xff1a;2025.3.17 一、当我们想要运行一个容器时&#xff0c;不是在containers处&#xff0c;而是需要在images处找对应容器的镜像 操作步骤&#xff1a; 1.找容器镜像 2.找到容器镜像&#xff0c;通过pull下载到当前主机中 3.下载成功后进行运行 4.运行时的容器镜像…...

Redis hyperloglog学习

背景知识 【伯努利试验】&#xff1a; 【伯努利试验】是一个概率论中的概念&#xff0c;指在相同的条件下重复进行n次独立的试验&#xff0c;每次试验只有两种可能的结果&#xff0c;且这两种结果发生的概率是固定的 抛硬币作为伯努利试验&#xff1a;在抛硬币时&#xff0c;我…...

鸿蒙开发:什么是ArkTs?

前言 本文基于Api13。 一句话解读&#xff1a;ArkTs&#xff08;方舟编程语言&#xff09;是目前HarmonyOs应用开发的主力语言。 用官方的话解读&#xff0c;它是一种为构建高性能应用而设计的编程语言&#xff1b;看到以Ts结尾&#xff0c;想必大家应该很容易想到TypeScript&a…...

ArcGIS Pro中加载在线地图的详细指南

在现代制图领域&#xff0c;ArcGIS Pro已成为专业人士的重要工具。它不仅功能强大&#xff0c;而且操作简便&#xff0c;为用户提供了丰富的地图数据资源和灵活的地图加载方式。其中&#xff0c;加载在线地图是ArcGIS Pro的一大特色功能&#xff0c;能够帮助用户快速获取全球范…...

《C++ Primer》学习笔记(四)

第四部分&#xff1a;高级主题 1.tuple 是类似pair的模板。每个pair 的成员类型都不相同&#xff0c;但每个 pair 都恰好有两个成员。每个确定的tuple 类型的成员数目是固定的&#xff0c;但一个 tuple 可以有任意数量的成员。tuple支持的操作如下图&#xff1a; 只有两个 tup…...

CVPR2025自动驾驶端到端前沿论文汇总

自动驾驶 文章目录 自动驾驶前言自动驾驶的轨迹预测论文端到端自动驾驶论文 前言 汇总CVPR2025自动驾驶前沿论文 自动驾驶的轨迹预测论文 Leveraging SD Map to Augment HD Map-based Trajectory PredictionModeSeq: Taming Sparse Multimodal Motion Prediction with Seque…...

使用 jQuery 实现子窗口获取父窗口的值,或者父窗口获取子窗口的值时

HTML 父子窗口通信指南 一、基础概念 在Web开发中&#xff0c;父子窗口通信是一个常见的需求。这通常发生在以下场景&#xff1a; 主页面&#xff08;父窗口&#xff09;打开新窗口&#xff08;子窗口&#xff09;弹出窗口需要与主页面交互多窗口之间需要数据传递 二、jQue…...

AndroidStudio下载安装,环境部署以及常见问题解决教程(亲测)

AndroidStudio下载安装&#xff0c;环境部署以及常见问题解决&#xff01;&#xff01;&#xff01; 文章目录 前言 一、Android Studio 下载与安装 1.1 系统要求 1.2 下载 Android Studio 1.3 安装 Android Studio Windows 系统 1.4 初始配置 二、环境部署 2.1 安装 …...

ruoyi-vue部署2

3.Node.js 3.1.什么是Node.js 在 Node.js 之前&#xff0c;JavaScript 只能运行在浏览器中&#xff0c;作为网页脚本使用&#xff0c;为网页添加一些特效&#xff0c;或者和服务器进行通信。有了 Node.js 以后&#xff0c;JavaScript 就可以脱离浏览器&#xff0c;像其它编程…...

Flutter项目升级Xcode 16.2之后编译问题

最近好久没升级Xcode了&#xff0c;升级了一下最新的16.2之后。发现Flutter项目在iOS设备上运行不起来了。报错&#xff1a; 查了许多网友也遇到了&#xff0c;其中一个解决方案&#xff1a;https://stackoverflow.com/questions/79118572/xcode-16-and-ios-18-project-not-com…...

Mermaid 子图 + 拖拽缩放:让流程图支持无限细节展示

在技术文档、项目管理和可视化分析中&#xff0c;流程图是传递复杂逻辑的核心工具。传统流程图往往静态且难以适应细节展示&#xff0c;而 Mermaid 与 svg-pan-zoom 的结合&#xff0c;则为这一痛点提供了完美解决方案。本文将深入解析如何通过 Mermaid 的子图&#xff08;subg…...

前沿科技一览未来发展趋势

生物技术能帮环境。比如用它处理污染物。科学家发现一些细菌能吃掉油污。这些细菌能被用来清理漏油事故。比如1989年埃克森瓦尔迪兹号漏油事件中人们就用类似方法减少污染。 还有些植物能吸收土壤里的重金属。种植这种植物能让受污染的土地变干净。这种方法在矿区周围特别有用…...

Linux---sqlite3数据库

一、数据库分类 1. 按数据关系分类 类型特点代表产品关系型数据库- 使用 SQL&#xff08;结构化查询语言&#xff09;<br>- 数据以行列形式存储&#xff0c;支持事务和复杂查询MySQL、Oracle、SQLite非关系型数据库- 无固定表结构&#xff08;如键值对、文档、图&#…...

侯捷 C++ 课程学习笔记:进阶语法之lambda表达式(二)

侯捷 C 课程学习笔记&#xff1a;进阶语法之lambda表达式&#xff08;二&#xff09; 一、捕获范围界定 1. 局部变量与函数参数 ​非静态局部变量&#xff1a;Lambda 所在作用域内定义的局部变量&#xff08;如函数内部的 int x&#xff09;会被完整复制其当前值。捕获后外部变…...

python爬虫Scrapy(6)之增量式

增量式 爬虫应用场景分类 通用爬虫聚焦爬虫功能爬虫分布式爬虫增量式&#xff1a; 用来监测网站数据更新的情况&#xff08;爬取网站最新更新出来的数据&#xff09;。只是一种程序设计的思路&#xff0c;使用什么技术都是可以实现的。核心&#xff1a; 去重。 使用一个记录表来…...

oracle删除表中重复数据

需求&#xff1a; 删除wfd_procs_nodes_rwk表中&#xff0c;huser_id、dnode_id、rwk_name字段值相同的记录&#xff0c;如果有多条&#xff0c;只保留一条。 SQL&#xff1a; DELETE FROM wfd_procs_nodes_rwk t WHERE t.rowid > (SELECT MIN(t1.rowid)FROM wfd_procs_n…...

动作捕捉手套如何让虚拟现实人机交互 “触手可及”?

在虚拟与现实逐渐交融的当下&#xff0c;动作捕捉技术正以前所未有的速度革新着多个领域。 动作捕捉技术&#xff0c;简称“动捕”&#xff0c;已经从早期的影视特效制作&#xff0c;逐步拓展到游戏开发、虚拟现实、机器人控制等多个领域。 而mHandPrO数据手套作为这一领域的…...

【大模型基础_毛玉仁】2.3 基于 Encoder-only 架构的大语言模型

更多内容&#xff1a;XiaoJ的知识星球 目录 2.3 基于Encoder-only 架构的大语言模型2.3.1 Encoder-only 架构2.3.2 BERT 语言模型1&#xff09;BERT 模型结构2&#xff09;BERT 预训练方式3&#xff09;BERT 下游任务 2.3.3 BERT 衍生语言模型1&#xff09;RoBERTa 语言模型2&a…...

C# ManualResetEvent‌的高级用法

一、ManualResetEvent 的核心作用‌ ManualResetEvent 是 C# 中用于 ‌线程同步‌ 的类&#xff08;位于 System.Threading 命名空间&#xff09;&#xff0c;通过信号机制控制线程的等待与执行。其核心功能包括&#xff1a; 阻塞线程‌&#xff1a;调用 WaitOne() 的线程会等…...

Language Models are Few-Shot Learners,GPT-3详细讲解

GPT的训练范式&#xff1a;预训练Fine-Tuning GPT2的训练范式&#xff1a;预训练Prompt predict &#xff08;zero-shot learning&#xff09; GPT3的训练范式&#xff1a;预训练Prompt predict &#xff08;few-shot learning&#xff09; GPT2的性能太差&#xff0c;新意高&…...

js 给元素添加点击事件的方法

在 JavaScript 里&#xff0c;为元素添加点击事件有多种方法&#xff0c;下面为你介绍三种常见的方式。 1. 使用内联事件处理程序 你可以在 HTML 标签里直接使用 onclick 属性添加点击事件。示例如下&#xff1a; <!DOCTYPE html> <html lang"en"><…...

Linux环境使用jmeter做性能测试

一、安装JDK&#xff0c;版本jdk1.8 1、下载压缩包到/jdk目录下解压 cd /jdk tar -zxvf jdk-8u241-linux-64.tar.gz 2、配置环境变量 在profile文件中末尾新增信息如下所示 vim /etc/profile export JAVA_HOME/usr/local/java/jdk/jdk1.8.0_221 export PATH$PATH:$JAVA_HOM…...

联想台式电脑启动项没有U盘

开机按F12&#xff0c;进入启动设备菜单&#xff0c;发现这里没有识别到插在主机的U盘&#xff1f; 解决方法 1、选上图的Enter Setup或者开机按F2&#xff0c;进入BIOS设置 选择Startup -> Primary Boot Sequence 2、选中“Excludeed from boot order”中U盘所在的一行 …...

单片机开发资源分析的实战——以STM32F103C8T6为例子的单片机资源分析

目录 第一点&#xff1a;为什么叫STM32F103C8T6 从资源手册拿到我们的对STM32F103C8T6的资源描述 第二件事情&#xff0c;关心我们的GPIO引脚输出 第三件事情&#xff1a;去找对应外设的说明部分 前言 本文章隶属于项目&#xff1a; Charliechen114514/BetterATK: This is…...

Error response from daemon: Get “https://registry-1.docker.io/v2/“: net/http: request canceled while

英俊潇洒很有才,美丽端庄又大方的人已经点赞收藏&#xff0b;关注了 文章目录 1.ubuntu解决方案2.Windows的解决办法&#xff08;有威劈恩好搞&#xff09;3.其他报错json格式错误下载的镜像有问题 最后 1.ubuntu解决方案 报错如图&#xff1a;timeout Error response from da…...