【2025最新】windows本地部署LightRAG,完成neo4j知识图谱保存

news2025/4/15 20:07:25

之前在服务器部署neo4j失败,无奈只能在本地部署,导致后期所有使用的知识图谱数据都存在本地,这里为了节省时间,先在本地安装LigthRAG完成整个实验流程,后续在学习各种服务器部署和端口调用。从基础和简单的部分先做起来吧。

1.下载

        1.去github下载模型到本地,git clone https://github.com/HKUDS/LightRAG

用idea打开,pycharm新建一个虚拟解释器环境,和其他环境隔开,它的python是基于本地的python来的,左下方红色的报错环境不为空,去删除下就可以了

        2.选择刚刚创建好的虚拟环境,右下角会变

3.cd 到LightRAG文件夹

cd LightRAG
pip install -e .

接下来开始正式使用,教程如下:

如何快速部署和运行lightRag(轻量版的GraphRag), 并且进行知识图谱的可视化。_哔哩哔哩_bilibili

4.这里我打算基于LLM的现有接口来做,防止部署大模型的麻烦,所以我们打开如下demo

这里我换一下模型接口:

把所示部分换成我的deepseek-v3,我用的是下面这个平台,注册之后就能获取同款deepseek的满血接口和网页版了,花点小钱,但是解决了官网deepseek经常不回复的问题:

     Deepseek PPIO算力云https://ppinfra.com/user/register?invited_by=R8Z3RZ注册后访问这里就可以对话式体验(包括可以做一些参数调整)通过上述链接加入记得50元token可通过API开发式 + 网页对话等方式,在体验满血版R1服务(也有其他多种版本),邀请朋友加入,再增 5000 万token!使用教程:用这个版本deepseek/deepseek-r1,别用community,r1和v3必须充钱,送的token可以抵扣一部分,但不能全部抵扣,但是充钱后速度确实又恢复丝滑了,换成下面这样,apikey从我充钱那个网站那里获取

这里的嵌入模型和视频截图用到的一样,因为它免费,申请个api-key就可以用了。注意它使用的embeding是1024维度。获取链接如下:硅基流动用户系统,统一登录 SSO

所以下面的维度也要改下参数,改成1024维度

这里注意一下新的url跟之前官网给的不一样

准备一个测试文档:我从一个医学网站上爬取的关于阿尔兹海默的专业版介绍,存入txt

withopen的路径改成我们所需要的测试文档路径

针对文档修改下待会要测试RAG的问题

直接运行这个代码应该就行了

这个错误是因为在 Python 字符串中,反斜杠\在默认情况下被视为转义字符。在你的文件路径字符串中,\U被 Python 解释器识别为一个无效的转义序列,因为它后面没有跟着 8 个十六进制数字(\U用于表示 4 字节的 Unicode 字符),从而导致了SyntaxError错误。

在字符串前面加上r前缀,将其声明为原始字符串,这样 Python 就不会对反斜杠进行转义处理。:

        with open(r"E:\UMLS\research\research1\LightRAG-main\myCode\testLightRAG.txt", "r", encoding="utf-8") as f:

运行完以后可以看见RAG的效果已经出来了:

下面分析一下这些检索结果

/n
————————————————————naive模式的输出————————————
/n
阿尔茨海默病(Alzheimer's Disease)是一种进行性神经认知疾病,是导致痴呆的最常见原因,占老年痴呆病例的60%至80%。该病的特点是大脑皮层和皮层下灰质中出现β-淀粉样蛋白沉积和神经原纤维缠结,导致认知功能的逐渐恶化。

### 病因与风险因素
大多数阿尔茨海默病病例为散发型,晚发型(≥65岁),病因不明,但年龄是最强的风险预测因素。约5%至15%的病例为家族遗传型,其中一半为早发型(<65岁),与特定基因突变密切相关。已知至少有5个基因位点与该病的发生和发展有关,包括淀粉样蛋白前体基因和早老蛋白基因的突变。此外,载脂蛋白E(apo E)等位基因也影响患病风险,尤其是ε-4等位基因显著增加患病风险。

血管危险因素如高血压、糖尿病、血脂异常和吸烟也会增加阿尔茨海默病的风险。积极治疗这些危险因素可以降低老年认知障碍的风险。

### 病理生理学
阿尔茨海默病的两个主要病理特征是细胞外β-淀粉样蛋白沉积(老年斑)和细胞内神经原纤维缠结(双螺旋丝)。这些病理变化导致突触和神经元的损失,进而引起大脑特定区域的严重萎缩,通常始于颞叶。淀粉样蛋白假说认为,β-淀粉样蛋白的渐进累积触发神经元死亡和突触缺失,最终导致痴呆症状。

### 症状与体征
阿尔茨海默病的首发症状通常是短期记忆丧失,如重复提问或忘记约会。其他认知功能缺陷包括推理能力损害、语言功能障碍和视觉空间功能障碍。病情进展缓慢,但可能在一段时间内保持稳定。行为异常如漫无目的的闲逛和激动也较为常见。

### 诊断
阿尔茨海默病的诊断基于临床评估,包括精神状态检查、病史和体格检查、实验室检查和神经影像学检查。尽管有特定的实验室和影像学特征,但最终诊断仍需通过脑组织的组织学评估。2011年美国国家老化研究所-阿尔茨海默病协会的诊断指南还包括了生物标志物的使用,如脑脊液中β-淀粉样蛋白水平低和PET成像中的β-淀粉样蛋白沉积。

### 治疗
治疗主要是支持性的,包括安全和支持措施、胆碱酯酶抑制剂和美金刚的使用。环境应明亮、愉快和熟悉,以增强患者的定向力。护理者的支持也非常重要,因为他们可能承受巨大的压力。

### 预后与预防
阿尔茨海默病是一种进行性疾病,目前尚无治愈方法。积极管理血管危险因素可能有助于降低患病风险。

### 参考文献
1. [DC] unknown_source: Alzheimer's Association: 2022 Alzheimer's Disease Facts and Figures. Alzheimers Dement 18 (4):700–789, 2022. doi: 10.1002/alz.12638
2. [DC] unknown_source: Kinney JW, Bemiller SM, Murtishaw AS, et al: Inflammation as a central mechanism in Alzheimer's disease. Alzheimers Dement (NY) 4:575–590, 2018. doi: 10.1016/j.trci.2018.06.014
3. [DC] unknown_source: González A, Calfío C, Churruca M, Maccioni RB: Alzheimers Res Ther 14 (1):56, 2022. doi: 10.1186/s13195-022-00996-8
4. [DC] unknown_source: Jack CR Jr, Albert MS, Knopman DS, et al: Introduction to the revised criteria for the diagnosis of Alzheimer’s disease: National Institute on Aging and Alzheimer's Association workgroups. Alzheimers Dement 7 (3):257–262, 2011. doi: 10.1016/j.jalz.2011.03.004
5. [DC] unknown_source: McKhann GM, Knopman DS, Chertkow H, et al: The diagnosis of dementia due to Alzheimer's disease: Recommendations from the National Institute on Aging-Alzheimer's Association workgroups on diagnostic guidelines for Alzheimer's disease. Alzheimers Dement 7 (3):263–269, 2011. doi: 10.1016/j.jalz.2011.03.005


/n
————————————————————local模式的输出————————————
/n

阿尔茨海默病是一种常见的痴呆症,大多数病例是零散的,年龄是其最大的风险因素。它与其他类型的痴呆症,如血管性痴呆和路易体痴呆,在病因和治疗方法上有所不同,尽管它们的症状可能相似。

### 预防措施
以下措施可以帮助降低阿尔茨海默病的发病风险:
- **智力活动**:如学习新技能或做数独。
- **身体锻炼**:有规律的身体锻炼对预防阿尔茨海默病非常重要。
- **控制高血压**和**降低胆固醇水平**:这些健康管理措施有助于降低发病风险。
- **饮食调整**:增加富含ω-3脂肪酸的食物,减少饱和脂肪酸的摄入。
- **适量饮酒**:少量饮酒可能降低风险,但不建议不饮酒者开始饮酒。一旦痴呆发生,建议戒酒。

### 治疗
在晚期阿尔茨海默病中,**姑息治疗**可能比激进疗法或住院治疗更为可取。

### 诊断与支持
**Alzheimer's Association**提供了关于阿尔茨海默病的诊断工具、研究支持和信息资源,有助于早期诊断和获取相关信息。

### 关键点
- 阿尔茨海默病大多数病例是零散的,年龄是最大的风险因素。
- 与其他痴呆症的区分可能困难,但通常可通过临床标准进行区分,诊断准确性可达85%。

### References
- [KG] unknown_source
- [KG] unknown_source
- [KG] unknown_source
- [KG] unknown_source
- [KG] unknown_source


/n
————————————————————global模式的输出————————————
/n
阿尔茨海默病(Alzheimer's disease)是一种常见的痴呆症,大多数病例是零散的,年龄是其最大的风险因素。这种疾病的预防措施包括智力活动、身体锻炼、控制血压和胆固醇水平等。以下是一些关键点:

### 预防措施
1. **智力活动**:如学习新技能或做数独,可以降低阿尔茨海默病的发病风险。
2. **身体锻炼**:有规律的身体锻炼是预防阿尔茨海默病的重要措施之一。
3. **饮食调整**:减少饱和脂肪酸的摄入,增加富含ω-3脂肪酸的食物,有助于降低风险。
4. **健康管理**:控制高血压和降低胆固醇水平也是预防阿尔茨海默病的关键因素。
5. **饮酒**:少量饮酒可能降低阿尔茨海默病的风险,但不建议不饮酒者开始饮酒。一旦痴呆发生,建议戒酒。

### 诊断与治疗
阿尔茨海默病的诊断可能与其他类型的痴呆症(如血管性痴呆和路易体痴呆)有所混淆,但通常可以通过临床标准进行区分,诊断准确性可达85%。在晚期阿尔茨海默病中,姑息治疗可能比激进疗法或住院治疗更为可取。

### 资源支持
Alzheimer's Association 是一个提供阿尔茨海默病诊断工具、研究支持和信息的网站,可以帮助患者和家属获取更多资源和信息。

### References
1. [KG] unknown_source
2. [KG] unknown_source
3. [KG] unknown_source



/n
————————————————————hybrid模式的输出————————————
/n
阿尔茨海默病(阿尔兹海默症)是一种常见的痴呆症,大多数病例是零散的,年龄是其最大的风险因素。以下是关于阿尔茨海默病的一些关键信息:

### 预防措施
1. **智力活动**:如学习新技能或做数独,可以降低发病风险。
2. **身体锻炼**:有规律的身体锻炼是预防阿尔茨海默病的重要措施之一。
3. **控制高血压**:降低高血压有助于减少发病风险。
4. **降低胆固醇水平**:保持健康的胆固醇水平有助于预防阿尔茨海默病。
5. **饮食调整**:富含ω-3脂肪酸、少含饱和脂肪酸的食物有助于降低风险。
6. **饮酒**:少量饮酒可能降低风险,但不建议不饮酒者开始饮酒。一旦痴呆发生,建议戒酒。

### 与其他痴呆症的区别
阿尔茨海默病与血管性痴呆和路易体痴呆是不同类型的痴呆症,尽管症状相似,但病因和治疗方法有所不同。

### 晚期治疗
在晚期阿尔茨海默病中,姑息治疗可能比激进疗法或住院治疗更为可取。

### 资源支持
Alzheimer's Association 提供关于阿尔茨海默病的诊断工具、研究支持和信息资源。

### 关键点
- 大多数阿尔茨海默病病例是零散的,年龄是最大的风险因素。
- 区分阿尔茨海默病和其他原因引起的痴呆(如血管性痴呆、路易体痴呆)可能困难,但通常可使用临床标准区分,诊断准确性达85%。

### References
1. [KG] unknown_source
2. [KG] unknown_source
3. [KG] unknown_source
4. [KG] unknown_source
5. [KG] unknown_source

运行之后会在example里生成/dickens文件夹,生成这个运行过程中生成的一些过程文件,如果运行正确,会生成如下文件(包含知识图谱的边,节点等内容),根据所至py文件运行一下,生成可视化:

运行可视化相关的py文件之后,

按照之前代码的逻辑,运行后会在当前工作目录生成knowledge_graph.html文件,你可以通过以下方式查看可视化效果:

  1. 文件资源管理器:打开文件资源管理器,导航到运行代码时所在的目录(根据代码中net.show("knowledge_graph.html"),推测是E:\UMLS\research\research1\LightRAG-main\examples目录)。找到knowledge_graph.html文件,双击打开它,浏览器会加载并展示可视化的图形。

这个目录可以看生成的实体和关系,我第一次运行没抽取出来,应该是文档模型抽风了,再运行一次就好啦

知识图谱的效果如下:

接下来研究下怎么把LightRAG生成的图谱存入neo4j,方便后续使用

neo4j中我已经提前存过其它知识图谱了,我想在不干扰原图谱的情况下,把新图谱存入已有的database,方法就是在节点和关系上都打上特殊的标签,查询和使用的时候带上标签就行,因此,我要对demo里的example进行以下修改,代码如下:

import os
import json
from lightrag.utils import xml_to_json
from neo4j import GraphDatabase

WORKING_DIR = "./dickens"
BATCH_SIZE_NODES = 500
BATCH_SIZE_EDGES = 100

NEO4J_URI = "bolt://localhost:7687"
NEO4J_USERNAME = "neo4j"
NEO4J_PASSWORD = ""

def convert_xml_to_json(xml_path, output_path):
    if not os.path.exists(xml_path):
        print(f"Error: File not found - {xml_path}")
        return None
    json_data = xml_to_json(xml_path)
    if json_data:
        with open(output_path, "w", encoding="utf-8") as f:
            json.dump(json_data, f, ensure_ascii=False, indent=2)
        print(f"JSON file created: {output_path}")
        return json_data
    else:
        print("Failed to create JSON data")
        return None

def process_in_batches(tx, query, data, batch_size):
    for i in range(0, len(data), batch_size):
        batch = data[i: i + batch_size]
        print(f"[INFO] Inserting batch {i // batch_size + 1} with {len(batch)} items...")
        tx.run(query, {"items": batch})

def main():
    xml_file = os.path.join(WORKING_DIR, "graph_chunk_entity_relation.graphml")
    json_file = os.path.join(WORKING_DIR, "graph_data.json")

    json_data = convert_xml_to_json(xml_file, json_file)
    if json_data is None:
        return

    nodes = json_data.get("nodes", [])
    edges = json_data.get("edges", [])

    print(f"[INFO] Total nodes found: {len(nodes)}")
    print(f"[INFO] Total edges found: {len(edges)}")

    if len(nodes) == 0 and len(edges) == 0:
        print("[ERROR] No nodes or edges found!")
        return

    # 自动创建所有节点属性
    create_nodes_query = """
    UNWIND $items AS node
    MERGE (e:Entity {id: node.id})
    SET e += node
    WITH e, node
    CALL apoc.create.addLabels(e, ['med_network', node.entity_type]) YIELD node AS labeledNode
    RETURN count(*)
    """

    # 自动创建所有边属性
    create_edges_query = """
    UNWIND $items AS edge
    MERGE (source:Entity {id: edge.source})
    MERGE (target:Entity {id: edge.target})
    WITH source, target, edge,
         'med_network_' + REPLACE(SPLIT(edge.keywords, ',')[0], '\"', '') AS relType
    CALL apoc.create.relationship(source, relType, edge, target) YIELD rel
    RETURN count(*)
    """

    driver = GraphDatabase.driver(NEO4J_URI, auth=(NEO4J_USERNAME, NEO4J_PASSWORD))

    try:
        with driver.session(database="umls") as session:
            print("[INFO] Inserting nodes...")
            session.execute_write(process_in_batches, create_nodes_query, nodes, BATCH_SIZE_NODES)

            print("[INFO] Inserting edges...")
            session.execute_write(process_in_batches, create_edges_query, edges, BATCH_SIZE_EDGES)

            print("[SUCCESS] med_network knowledge graph inserted with full attributes!")

    except Exception as e:
        print(f"[ERROR] Neo4j execution error: {e}")

    finally:
        driver.close()


if __name__ == "__main__":
    main()

效果如下,不知道为啥插入还有中英文的版本,但我的原文档没有英文:

下面是大模型对于存在英文抽取的解释:

        

这个现象其实是 LightRAG 知识图谱构建逻辑的必然结果,核心原因是 ——

LightRAG 的知识抽取模型(特别是 Entity 和 Relation 的抽取)默认是使用英文基础模型或者英文优先的多语言模型,它并不完全区分输入文本的语言。


具体机制

LightRAG 的流程大致是:

  1. 输入文档(不管是中文/英文)

  2. 切分句子 -> 分词 -> 实体识别(NER)-> 关系抽取(RE)

  3. 将识别到的 Entity / Relation 存入 Neo4j 等图数据库

  4. Entity 和 Relation 的命名依赖:

    • 文本中出现的原文

    • 模型内置的英文知识库(Embedding / LLM 检索补全)

    • Tokenizer(很多是英文分词器)

  5. 最终生成的三元组:

 

mathematica

复制编辑

(中文Entity, 英文Relation, 中文Entity) (英文Entity, 英文Relation, 英文Entity) (中文Entity, 中文Relation, 英文Entity)

这种混合非常常见。


为什么中文文档中会混入英文 Entity/Relation?

原因说明
1. Entity Linking / Entity Normalization抽取到的实体如果在英文知识库有对应 entry,可能会被自动转为英文版
2. Relation Schema 设计是英文LightRAG 内置的 relation schema 直接是英文,比如:cause_oflocated_intreats
3. 使用的 NER 和 RE 模型是英文优先中文的实体如果模型觉得是医学术语、专业词汇,容易强行补全英文对应
4. tokenizer 或 embeddings 不支持纯中文很多 pretrain 的模型使用英文词表为主,导致中英文混用是常态

举个例子

输入中文:

阿尔茨海默病 是一种 神经系统疾病

LightRAG 知识图谱输出:

 

css

复制编辑

(:Entity {id: '阿尔茨海默病'}) -[:type_of]-> (:Entity {id: 'neuro disease'})

原因是:

  • type_of 来自内置 relation schema

  • neuro disease 是模型自动 linking 到医学知识库的英文 entry


如何避免这种情况?

方法一:定制 relation schema

  • 全部中文定义 relation

  • 代码中指定:

 

python

复制编辑

relation_schema = { '属于': 'type_of', '位于': 'located_in', '导致': 'cause_of', ... }

抽取后强制替换 relation 名称。


方法二:禁用 entity linking

  • 不让模型自动 link 英文知识

  • 保留原文 entity

  • 只做中文实体 + 中文关系

缺点:丧失一部分跨语言知识补全能力


方法三:自定义抽取模型

  • 用中文NER + 中文RE

  • 推荐:

    • 中文版 Bert-NER

    • 中文版 CasRel / TPLinker

  • Huggingface 已有很多中文版本


方法四:抽取后做一遍 entity normalize

  • 自定义 entity normalization 映射表

  • 将所有英文 entity 替换回中文


最推荐的方案

场景推荐做法
医疗知识图谱、科研知识图谱保留中英文双语(专业英文保留,有利于跨文献对齐)
面向C端业务、用户知识问答强制全中文化,优化体验

结论

你现在看到的中英文混杂,是 LightRAG 知识抽取模型为了增强知识丰富度,主动做的 linking 行为 —— 但可以通过定制 relation schema、entity normalize 或自定义模型来控制。


其它:

词嵌入模型,如果要用LightRAG处理的原文档是中文的,可以去魔塔下载bge-large-zh-v1.5

了解一下LightRAG

        知识图谱抽取过程)(是用提前写好的大模型提示词封装好之后完成的)

学习资料来自下方博主:基于知识图谱做rag Lightrag中实体关系的提取及图谱的生成_哔哩哔哩_bilibili

抽取的内容不仅有实体、关系、还有关系强度。其中节点和关系都有一个描述,当再次抽取到类似实体和关系时,知识图谱的节点和边不会更新,但是他们的描述会更新

5.怎么运行

        需要三个主要部分:调用处理大模型、调用嵌入模型,运行lightRAG的主代码(标志是会执行rag.insert(f.aread这一句)

第一部分 配置大模型和嵌入模型的代码长下面这样,这里的模型是调接口获得的,应该是阿里云的智谱平台

主代码如下:

运行主函数后,就会从ainsert进行文档处理,分块,分布抽取等过程,关系和实体都处理完之后会做向量化保存

接着用大模型进行去重,判断实体等是否相同dakda'k,

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

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

相关文章

14、nRF52xx蓝牙学习(串口 UART 和 UARTE 外设应用)

一、UART 功能描述 串口 UART 也称为通用异步收发器。是各种处理器中常用了通信接口&#xff0c;在 nRF52 芯片中&#xff0c; UART 具有以下特点&#xff1a; ● 全双工操作 ● 自动流控 ● 奇偶校验产生第 9 位数据 串口 UART 的数据发送与接收流程 : ◆硬件配置…

DeepSeek轻松入门教程——从入门到精通

大家好&#xff0c;我是吾鳴。 今天吾鳴要给大家分享一份DeepSeek小白轻松入门指导手册——《DeepSeek 15天指导手册&#xff0c;从入门到精通》。指导手册分为基础入门对话篇、效率飞跃篇、场景实战篇、高手进化篇等&#xff0c;按照指导手册操作&#xff0c;DeepSeek从入门到…

Vue2 老项目升级 Vue3 深度解析教程

Vue2 老项目升级 Vue3 深度解析教程 摘要 Vue3 带来了诸多改进和新特性&#xff0c;如性能提升、组合式 API、更好的 TypeScript 支持等&#xff0c;将 Vue2 老项目升级到 Vue3 可以让项目获得这些优势。本文将深入解析升级过程&#xff0c;涵盖升级前的准备工作、具体升级步骤…

WXJ196微机小电流接地选线装置使用简单方便无需维护

WXJ196微机小电流接地选线装置&#xff0c;能在系统发生单相接地时&#xff0c;准确、迅速地选出接地线路母 线。使用简单方便&#xff0c;无需维护&#xff0c;可根据用户需要将相关信息通过通信接口传给上级监控系统&#xff0c; 适用于无人值守变电站。 2 功能及特点 全新的…

Java第四节:idea在debug模式夏改变变量的值

作者往期文章 Java第一节&#xff1a;debug如何调试程序&#xff08;附带源代码&#xff09;-CSDN博客 Java第二节&#xff1a;debug如何调试栈帧链&#xff08;附带源代码&#xff09;-CSDN博客 Java第三节&#xff1a;新手如何用idea创建java项目-CSDN博客 步骤一 在需要修改…

门极驱动器DRV8353M设计(二)

目录 13.3.4.4 MOSFET VDS 感测 (SPI Only) 13.3.5 Gate Driver保护回路 13.3.5.1 VM 电源和 VDRAIN 欠压锁定 (UVLO) 13.3.5.2 VCP 电荷泵和 VGLS 稳压器欠压锁定 (GDUV) 13.3.5.3 MOSFET VDS过流保护 (VDS_OCP) 13.3.5.3.1 VDS Latched Shutdown (OCP_MODE 00b) 13.…

学点概率论,打破认识误区

概率论是统计分析和机器学习的核心。掌握概率论对于理解和开发稳健的模型至关重要&#xff0c;因为数据科学家需要掌握概率论。本博客将带您了解概率论中的关键概念&#xff0c;从集合论的基础知识到高级贝叶斯推理&#xff0c;并提供详细的解释和实际示例。 目录 简介 基本集合…

NVIDIA AI Aerial

NVIDIA AI Aerial 适用于无线研发的 NVIDIA AI Aerial 基础模组Aerial CUDA 加速 RANAerial Omniverse 数字孪生Aerial AI 无线电框架 用例构建商业 5G 网络加速 5G生成式 AI 和 5G 数据中心 加速 6G 研究基于云的工具 优势100% 软件定义通过部署在数字孪生中进行测试6G 标准化…

OpenCV 关键点定位

一、Opencv关键点定位介绍 关键点定位在计算机视觉领域占据着核心地位&#xff0c;它能够精准识别图像里物体的关键特征点。OpenCV 作为功能强大的计算机视觉库&#xff0c;提供了多种实用的关键点定位方法。本文将详细阐述关键点定位的基本原理&#xff0c;深入探讨 OpenCV 中…

arm_math.h、arm_const_structs.h 和 arm_common_tables.h

在 ​​FOC&#xff08;Field-Oriented Control&#xff0c;磁场定向控制&#xff09;​​ 中&#xff0c;arm_math.h、arm_const_structs.h 和 arm_common_tables.h 是 CMSIS-DSP 库的核心组件&#xff0c;用于实现高效的数学运算、预定义结构和查表操作。以下是它们在 FOC 控…

buuctf sql注入类练习

BUU SQL COURSE 1 1 实例无法访问 / Instance cant be reached at that time | BUUCTF但是这个地方很迷惑就是这个 一个 # 我们不抓包就不知道这个是sql注入类的判断是 get 类型的sql注入直接使用sqlmap我们放入到1.txt中 目的是 优先检测 ?id1>python3 sqlmap.py -r 1.t…

具身导航中的视觉语言注意力蒸馏!Vi-LAD:实现动态环境中的社会意识机器人导航

作者&#xff1a;Mohamed Elnoor 1 ^{1} 1, Kasun Weerakoon 1 ^{1} 1, Gershom Seneviratne 1 ^{1} 1, Jing Liang 2 ^{2} 2, Vignesh Rajagopal 3 ^{3} 3, and Dinesh Manocha 1 , 2 ^{1,2} 1,2单位&#xff1a; 1 ^{1} 1马里兰大学帕克分校电气与计算机工程系&#xff0c; 2…

全局前置守卫与购物车页面鉴权

在很多应用里&#xff0c;并非所有页面都能随意访问。例如购物车页面&#xff0c;用户需先登录才能查看。这时可以利用全局前置守卫来实现这一鉴权功能。 全局前置守卫的书写位置在 router/index.js 文件中&#xff0c;在创建 router 对象之后&#xff0c;暴露 router 对象之前…

layui 弹窗-调整窗口的缩放拖拽几次就看不到标题、被遮挡了怎么解决

拖拽几次&#xff0c;调整窗口的缩放&#xff0c;就出现了弹出的页面&#xff0c;右上角叉号调不出来了&#xff0c;窗口关不掉 废话不多说直入主题: 在使用layer.alert layer.confirm layer.msg 等等弹窗时&#xff0c;发现看不到弹窗&#xff0c;然后通过控制台检查代码发现…

网络空间安全(57)K8s安全加固

一、升级K8s版本和组件 原因&#xff1a;K8s新版本通常会引入一系列安全功能&#xff0c;提供关键的安全补丁&#xff0c;能够补救已知的安全风险&#xff0c;减少攻击面。 操作&#xff1a;将K8s部署更新到最新稳定版本&#xff0c;并使用到达stable状态的API。 二、启用RBAC&…

2025蓝桥杯C++A组省赛 题解

昨天打完蓝桥杯本来想写个 p y t h o n python python A A A 组的题解&#xff0c;结果被队友截胡了。今天上课把 C A CA CA 组的题看了&#xff0c;感觉挺简单的&#xff0c;所以来水一篇题解。 这场 B B B 是一个爆搜&#xff0c; C C C 利用取余的性质比较好写&#…

论文学习:《通过基于元学习的图变换探索冷启动场景下的药物-靶标相互作用预测》

原文标题&#xff1a;Exploring drug-target interaction prediction on cold-start scenarios via meta-learning-based graph transformer 原文链接&#xff1a;https://www.sciencedirect.com/science/article/pii/S1046202324002470 药物-靶点相互作用&#xff08;DTI&…

十八、TCP多线程、多进程并发服务器

1、TCP多线程并发服务器 服务端&#xff1a; #include<stdio.h> #include <arpa/inet.h> #include<stdlib.h> #include<string.h> #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> #include <pthread.h>…

AIGC-文生图与图生图

在之前的文章中&#xff0c;我们知道了如何通过Web UI和Confy UI两种SD工具来进行图片生成&#xff0c;今天进一步地讲解其中的参数用处及如何调节。 文生图 参数详解 所谓文生图&#xff0c;就是通过文字描述我们想要图片包含的内容。初学的话&#xff0c;还是以Web UI为例…

量化交易 - 聚宽joinquant - 多因子入门研究 - 源码开源

先看一下我们的收益&#xff1a; JoinQuant直达这里看看 下面讲解原理和代码。 目录 一、是否为st 二、是否停牌 三、市值小、roe大 四、编写回测代码 今天来研究一下多因子回测模型&#xff0c;这里以‘市值’、‘roe’作为例子。 几个标准&#xff1a;沪深300里选股&am…