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

《AI大模型应知应会100篇》第38篇:大模型与知识图谱结合的应用模式

第38篇:大模型与知识图谱结合的应用模式


摘要

随着大模型(如GPT、BERT等)和知识图谱技术的快速发展,两者的融合为构建更精准、可解释的智能系统提供了新的可能性。本文将深入探讨大模型与知识图谱的能力互补性、融合架构设计以及实际应用场景。通过案例分析与技术实现,帮助读者理解如何结合这两种技术的优势,解决复杂领域的实际问题。


在这里插入图片描述

核心概念与知识点

1. 技术融合基础

大模型与知识图谱的能力互补
  • 大模型擅长处理非结构化数据(如文本、图像),具有强大的语言理解和生成能力,但缺乏对显式知识的精确控制。
  • 知识图谱以结构化形式存储实体及其关系,能够提供明确的语义信息,但在动态更新和复杂推理方面存在局限性。
  • 融合优势:大模型可以利用知识图谱中的显式知识增强推理能力,而知识图谱则可以通过大模型的语义理解能力进行动态扩展和补全。
隐式知识与显式知识的协同
  • 隐式知识(如大模型中嵌入的上下文理解)可以帮助补充知识图谱中的缺失信息。
  • 显式知识(如知识图谱中的实体关系)可以约束大模型的输出,提升其准确性和可解释性。
多源异构数据的统一表示
  • 知识图谱提供了结构化的知识表示,便于整合来自不同来源的数据。
  • 大模型通过预训练和微调,能够从非结构化数据中提取隐含的知识,并将其映射到知识图谱中。
融合架构的设计原则
  • 模块化设计:将大模型和知识图谱作为独立模块,通过接口实现交互。
  • 动态更新:支持知识图谱的实时更新,以适应不断变化的数据环境。
  • 可解释性:通过知识图谱的显式结构,增强大模型输出的透明性和可信度。

2. 核心融合模式

知识图谱辅助大模型推理
  • 场景:在问答系统中,知识图谱提供背景知识,帮助大模型生成更准确的答案。
  • 实现方式:通过子图检索技术,从知识图谱中提取相关实体和关系,并将其注入大模型的输入中。
from neo4j import GraphDatabase
from transformers import pipeline# 初始化Neo4j连接
driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "password"))# 查询知识图谱
def retrieve_subgraph(query):with driver.session() as session:result = session.run("MATCH (n)-[r]->(m) WHERE n.name CONTAINS $query RETURN n, r, m", query=query)return [(record["n"]["name"], record["r"].type, record["m"]["name"]) for record in result]# 使用大模型生成答案
qa_model = pipeline("question-answering")
subgraph = retrieve_subgraph("人工智能")
context = " ".join([f"{s} {p} {o}" for s, p, o in subgraph])
answer = qa_model(question="人工智能有哪些应用?", context=context)
print(answer)

输出

{'answer': '人工智能应用于医疗诊断、金融风控等领域。', 'score': 0.95}
大模型辅助知识图谱构建
  • 场景:从非结构化文本中抽取实体和关系,用于扩展知识图谱。
  • 实现方式:使用大模型进行命名实体识别(NER)和关系抽取(RE),并将结果写入知识图谱。
from transformers import pipeline# 初始化实体和关系抽取模型
ner_model = pipeline("ner")
re_model = pipeline("text-classification", model="relation-extraction-model")# 示例文本
text = "阿里巴巴是一家总部位于杭州的科技公司,专注于云计算和人工智能。"# 实体抽取
entities = ner_model(text)
print("Entities:", entities)# 关系抽取
relations = re_model(text)
print("Relations:", relations)

输出

Entities: [{'entity': 'ORG', 'word': '阿里巴巴'}, {'entity': 'LOC', 'word': '杭州'}]
Relations: [{'label': 'headquarters', 'score': 0.9}]
查询增强与结构化输出
  • 场景:用户提出自然语言查询,系统返回结构化数据。
  • 实现方式:将用户的自然语言查询解析为知识图谱查询(如Cypher),并返回结果。
def parse_query_to_cypher(query):# 假设使用大模型解析查询if "人工智能" in query:return "MATCH (n:Topic {name: '人工智能'}) RETURN n"else:return Nonecypher_query = parse_query_to_cypher("人工智能有哪些相关领域?")
print("Generated Cypher Query:", cypher_query)

输出

Generated Cypher Query: MATCH (n:Topic {name: '人工智能'}) RETURN n
知识验证与事实核查机制
  • 场景:检测大模型生成内容的事实准确性。
  • 实现方式:通过知识图谱中的三元组验证生成内容是否符合已知事实。

3. 实现技术与框架

知识图谱嵌入与链接预测
  • 使用TransE、DistMult等算法将知识图谱嵌入向量空间,用于链接预测和实体分类。
子图检索与上下文注入
  • 子图检索技术(如GraphSAGE)可以从大规模知识图谱中快速提取相关信息。
图神经网络与大模型结合
  • 图神经网络(GNN)可以捕捉知识图谱中的复杂关系,与大模型结合后用于联合推理。
Neo4j、ArangoDB等与大模型集成方案
  • Neo4j支持Cypher查询语言,适合快速构建知识图谱。
  • ArangoDB支持多模态数据存储,适合复杂场景下的知识管理。

4. 垂直领域应用设计

金融风控中的实体关系推理
  • 场景:识别企业间的关联交易,评估潜在风险。
  • 实现方式:通过知识图谱存储企业关系,结合大模型生成的风险报告。
医疗诊断中的知识辅助决策
  • 场景:基于患者的症状和病史,推荐可能的诊断。
  • 实现方式:知识图谱存储医学知识,大模型生成个性化建议。
科研文献中的知识发现
  • 场景:从学术论文中提取关键概念和关系,构建领域知识图谱。
  • 实现方式:大模型负责文本解析,知识图谱负责存储和推理。
企业知识管理的智能助手
  • 场景:为员工提供知识检索和任务自动化服务。
  • 实现方式:结合知识图谱和大模型构建对话式智能助手。

案例与实例

为了让读者能够更好地理解如何将大模型与知识图谱结合,本文提供了三个详细的实战案例。每个案例都包含完整的代码、输入输出示例以及详细注释,确保读者可以直接复制并运行代码。


案例1:Google使用知识图谱增强搜索引擎的技术演进

背景

我们将模拟一个搜索引擎场景,通过知识图谱增强大模型的问答能力。例如,当用户搜索“爱因斯坦”时,系统不仅返回相关文本,还会从知识图谱中提取结构化信息(如生平、成就等)。

实现步骤
  1. 安装依赖

    pip install neo4j transformers flask
    
  2. 构建知识图谱
    使用Neo4j创建一个简单的知识图谱,存储爱因斯坦的相关信息:

    CREATE (einstein:Person {name: "Albert Einstein", birth: "1879-03-14", death: "1955-04-18"})
    CREATE (theory:Theory {name: "Theory of Relativity"})
    CREATE (einstein)-[:DISCOVERED]->(theory)
    
  3. 代码实现

    from neo4j import GraphDatabase
    from transformers import pipeline
    from flask import Flask, request, jsonify# 初始化Neo4j连接
    driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "password"))# 查询知识图谱
    def retrieve_knowledge(query):with driver.session() as session:result = session.run("MATCH (p:Person {name: $query})-[r]->(t) RETURN p.name AS person, type(r) AS relation, t.name AS target",query=query)return [{"person": record["person"], "relation": record["relation"], "target": record["target"]} for record in result]# 使用大模型生成答案
    qa_model = pipeline("question-answering")# 创建Flask应用
    app = Flask(__name__)@app.route("/search", methods=["POST"])
    def search():data = request.jsonquery = data.get("query", "")# 从知识图谱中检索信息knowledge = retrieve_knowledge(query)if knowledge:context = " ".join([f"{k['person']} {k['relation']} {k['target']}" for k in knowledge])answer = qa_model(question=f"告诉我关于{query}的信息", context=context)return jsonify({"knowledge": knowledge, "answer": answer})else:return jsonify({"error": "未找到相关信息"}), 404if __name__ == "__main__":app.run(debug=True)
    
  4. 运行结果
    启动Flask服务后,发送以下请求:

    curl -X POST http://127.0.0.1:5000/search -H "Content-Type: application/json" -d '{"query": "Albert Einstein"}'
    

    输出

    {"knowledge": [{"person": "Albert Einstein", "relation": "DISCOVERED", "target": "Theory of Relativity"}],"answer": {"answer": "Albert Einstein 发现了相对论。","score": 0.95}
    }
    
  5. 扩展说明

    • 知识图谱为大模型提供了显式知识,增强了回答的准确性。
    • 可进一步扩展为支持多轮对话和动态更新的知识图谱。

案例2:阿里达摩院知识增强AIGC系统的架构与应用

背景

我们将构建一个知识增强的内容生成系统,利用知识图谱为大模型提供背景知识,从而生成更准确、一致的内容。

实现步骤
  1. 安装依赖

    pip install neo4j transformers
    
  2. 构建知识图谱
    在Neo4j中存储产品信息:

    CREATE (product:Product {name: "智能音箱", feature: "语音控制", price: "299 USD"})
    CREATE (product)-[:BELONGS_TO]->(:Category {name: "智能家居"})
    
  3. 代码实现

    from neo4j import GraphDatabase
    from transformers import pipeline# 初始化Neo4j连接
    driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "password"))# 查询知识图谱
    def retrieve_product_info(product_name):with driver.session() as session:result = session.run("MATCH (p:Product {name: $name})-[:BELONGS_TO]->(c) RETURN p.name AS product, p.feature AS feature, c.name AS category",name=product_name)record = result.single()if record:return {"product": record["product"],"feature": record["feature"],"category": record["category"]}else:return None# 使用大模型生成内容
    generator = pipeline("text-generation")def generate_content(product_name):product_info = retrieve_product_info(product_name)if product_info:prompt = f"介绍一款{product_info['category']}产品:{product_info['product']},特点:{product_info['feature']}。"content = generator(prompt, max_length=100)return content[0]["generated_text"]else:return "未找到相关产品信息。"# 测试功能
    print(generate_content("智能音箱"))
    
  4. 运行结果

    介绍一款智能家居产品:智能音箱,特点:语音控制。这款智能音箱支持语音助手功能,能够播放音乐、查询天气、设置提醒等,是您家庭生活的得力助手。
    
  5. 扩展说明

    • 知识图谱确保生成内容的准确性和一致性。
    • 可扩展为支持多语言生成和个性化推荐。

案例3:eBay商品知识图谱与大模型结合的推荐系统

背景

我们将构建一个商品推荐系统,利用知识图谱存储商品属性,并结合大模型生成个性化的推荐列表。

实现步骤
  1. 安装依赖

    pip install neo4j transformers flask
    
  2. 构建知识图谱
    在Neo4j中存储商品信息:

    CREATE (product1:Product {name: "无线耳机", price: "99 USD", category: "电子设备"})
    CREATE (product2:Product {name: "运动鞋", price: "79 USD", category: "服装"})
    CREATE (user:User {name: "Alice"})
    CREATE (user)-[:PURCHASED]->(product1)
    
  3. 代码实现

    from neo4j import GraphDatabase
    from transformers import pipeline
    from flask import Flask, request, jsonify# 初始化Neo4j连接
    driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "password"))# 查询用户购买历史
    def get_user_purchases(user_name):with driver.session() as session:result = session.run("MATCH (u:User {name: $name})-[:PURCHASED]->(p) RETURN p.name AS product, p.category AS category",name=user_name)return [{"product": record["product"], "category": record["category"]} for record in result]# 使用大模型生成推荐
    generator = pipeline("text-generation")def recommend_products(user_name):purchases = get_user_purchases(user_name)if not purchases:return "未找到购买记录。"categories = set(p["category"] for p in purchases)prompt = f"根据用户的购买记录,推荐一些{', '.join(categories)}类别的商品。"recommendations = generator(prompt, max_length=100)return recommendations[0]["generated_text"]# 创建Flask应用
    app = Flask(__name__)@app.route("/recommend", methods=["POST"])
    def recommend():data = request.jsonuser_name = data.get("user", "")recommendations = recommend_products(user_name)return jsonify({"recommendations": recommendations})if __name__ == "__main__":app.run(debug=True)
    
  4. 运行结果
    启动Flask服务后,发送以下请求:

    curl -X POST http://127.0.0.1:5000/recommend -H "Content-Type: application/json" -d '{"user": "Alice"}'
    

    输出

    {"recommendations": "根据用户的购买记录,推荐一些电子设备类别的商品,例如智能手表和蓝牙音箱。"
    }
    
  5. 扩展说明

    • 知识图谱帮助系统理解用户偏好,提升推荐的精准度。
    • 可扩展为支持实时更新用户行为数据和多维度推荐。

总结与扩展思考

1. 知识图谱与大模型融合的技术挑战

  • 如何高效地在大规模知识图谱中检索相关信息?
  • 如何保证知识图谱的动态更新与大模型的一致性?

2. 符号系统与神经网络的深度结合前景

  • 符号系统(如逻辑推理)与神经网络(如深度学习)的结合是未来AI发展的关键方向。

3. 可解释AI发展中的多模态知识表示

  • 多模态知识表示(如文本+图像+视频)将进一步提升AI系统的理解和推理能力。

希望本文能为您理解大模型与知识图谱的融合提供有价值的参考!如果您有任何疑问或想法,欢迎在评论区留言交流!

相关文章:

《AI大模型应知应会100篇》第38篇:大模型与知识图谱结合的应用模式

第38篇:大模型与知识图谱结合的应用模式 摘要 随着大模型(如GPT、BERT等)和知识图谱技术的快速发展,两者的融合为构建更精准、可解释的智能系统提供了新的可能性。本文将深入探讨大模型与知识图谱的能力互补性、融合架构设计以及…...

TypeScript中的type

在 TypeScript 中,type 是一个非常重要的关键字,用于定义类型别名(Type Alias)。它允许你为一个类型创建一个新的名字,从而使代码更加简洁和可读。type 可以用来定义基本类型、联合类型、元组类型、对象类型等。以下是…...

数据库3,

describe dt drop table 删表 df delete from删行 usw update set where更新元素 iiv insert into values()插入行 sf select from选行 select *选出所有行 (ob order by 排序 由低到高 DESC由高到低 order by score&#…...

I-CON: A Unifying Framework for Representation Learning

1,本文关键词 I-Con框架、表征学习、KL散度、无监督分类、对比学习、聚类、降维、信息几何、监督学习、自监督学习、统一框架 2,术语表 术语解释I-Con本文提出的统一表征学习方法,全称Information Contrastive Learning,通过最…...

mybatis首个创建相关步骤

1。先关联数据库,用户,密码,数据库保持一致 2.添加包和类 1.User放和数据库属性一样的 package com.it.springbootmybatis01.pojo;lombok.Data lombok.AllArgsConstructor lombok.NoArgsConstructor public class User {private Integer i…...

vue3子传父——v-model辅助值传递

title: 子组件向父组件传值 date: 2025-04-27 19:11:09 tags: vue3 vue3子传父——v-model辅助值传递 一、子组件发出 1.步骤一创建emit对象 这个对象使用的是defineEmits进行的创建,emit的中文意思又叫发出,你就把他当成一个发出数据的函数方法来用…...

Golang | 向倒排索引上添加删除文档

syntax "proto3";package types;message Keyword {string Field 1; // 属性/类型/名称string Word 2; // 关键词 }message Document {string Id 1; //业务使用的唯一Id,索引上此Id不会重复uint64 IntId 2; //倒排索引上使用的文档id(业务侧不用管这…...

秒杀系统 Kafka 架构进阶优化

文章目录 前言1. Kafka Topic 分区(Partition)设计2. Kafka 消费者高可用部署(Consumer Scaling)3. Kafka Redis 多级限流降级设计4. 秒杀链路全链路追踪(Tracing)5. Kafka 死信队列(DLQ&#…...

探索大语言模型(LLM):自监督学习——从数据内在规律中解锁AI的“自学”密码

文章目录 自监督学习:从数据内在规律中解锁AI的“自学”密码一、自监督学习的技术内核:用数据“自问自答”1. 语言建模:预测下一个单词2. 掩码语言模型(MLM):填补文本空缺3. 句子顺序预测(SOP&a…...

Java自定义注解详解

文章目录 一、注解基础注解的作用Java内置注解二、元注解@Retention@Target@Documented@Inherited@Repeatable(Java 8)三、创建自定义注解基本语法注解属性使用自定义注解四、注解的处理方式1. 编译时处理2. 运行时处理(反射)五、实际应用场景1. 依赖注入框架2. 单元测试框…...

在使用docker创建容器运行报错no main manifest attribute, in app.jar

原因就是在打包的时候pom配置有问题,重新配置再打包 我的dockerfile FROM openjdk:11 MAINTAINER yyf COPY *.jar /app.jar EXPOSE 8082 ENTRYPOINT ["java","-jar","app.jar"] 修改过后&#xff0c;经测试成功了 参考我的pom <?xml ver…...

C#中属性和字段的区别

在C# 中属性和字段的区别 在 C# 中&#xff0c;字段(field)和属性(property)都是用于存储数据的成员&#xff0c;但它们有重要的区别&#xff1a; 主要区别 1. 访问控制 - 字段&#xff1a;直接存储数据的变量 - 属性&#xff1a;通过访问器(get/set)控制对私有字段的…...

分析型数据库入门指南:如何选择适合你的实时分析工具?

一、什么是分析型数据库&#xff1f;为什么需要它&#xff1f; 据Gartner最新报告显示&#xff0c;超过75%的企业现已在关键业务部门部署了专门的分析型数据库&#xff0c;这一比例还在持续增长。 随着数据量呈指数级增长&#xff0c;传统数据库已无法满足复杂分析场景的需求…...

第三方软件检测报告:热门办公软件评估及功能表现如何?

第三方软件检测报告是重要文件。它用于对软件做专业评估。能反映软件各项性能。能反映软件安全性等指标。该报告为软件使用者提供客观参考。该报告为软件开发者提供客观参考。有助于发现问题。还能推动软件改进。 检测概述 本次检测针对一款热门办公软件。采用了多种先进技术…...

GPUStack昇腾Atlas300I duo部署模型DeepSeek-R1【GPUStack实战篇2】

2025年4月25日GPUStack发布了v0.6版本&#xff0c;为昇腾芯片910B&#xff08;1-4&#xff09;和310P3内置了MinIE推理&#xff0c;新增了310P芯片的支持&#xff0c;很感兴趣&#xff0c;所以我马上来捣鼓玩玩看哈 官方文档&#xff1a;https://docs.gpustack.ai/latest/insta…...

2025年邵阳市工程技术研究中心申报流程、条件、奖补

一、邵阳市工程技术研究中心申报条件 &#xff08;一&#xff09;工程技术研究中心主要依托科技型企业组建&#xff0c;依托单位应具有以下条件&#xff1a; 1. 具有较强技术创新意识的领导班子和技术水平高、工程化实践经验丰富的工程技术研发队伍&#xff0c;其中固定人员…...

【Python】Matplotlib:立体永生花绘制

本文代码部分实现参考自CSDN博客&#xff1a;https://blog.csdn.net/ak_bingbing/article/details/135852038 一、引言 Matplotlib作为Python生态中最著名的可视化库&#xff0c;其三维绘图功能可以创造出令人惊叹的数学艺术。本文将通过一个独特的参数方程&#xff0c;结合极…...

Spark Streaming核心编程总结(四)

一、有状态转化操作&#xff1a;UpdateStateByKey 概念与作用 UpdateStateByKey 用于在流式计算中跨批次维护状态&#xff08;如累加统计词频&#xff09;。它允许基于键值对形式的DStream&#xff0c;通过自定义状态更新函数&#xff0c;将历史状态与新数据结合&#xff0c;生…...

虚拟数字人:从虚拟到现实的跨越与未来展望

在人工智能和数字技术飞速发展的今天&#xff0c;虚拟数字人&#xff08;Digital Humans&#xff09;正逐渐从科幻走向现实&#xff0c;成为科技领域的新焦点。虚拟数字人不仅在娱乐、教育、客服等领域展现出巨大的应用潜力&#xff0c;还在不断推动着人机交互方式的变革。本文…...

RuoYi-Vue项目Docker镜像构建、推送与部署完整流程

RuoYi-Vue项目Docker镜像构建、推送与部署流程 一、本地构建镜像 1. 使用docker-compose构建镜像 基于docker-compose.yml文件&#xff0c;可以一次构建所有服务镜像&#xff1a; # 构建所有服务 docker-compose build# 或者构建并启动 docker-compose up -d --build若只需…...

MyBatis DTD [Element type “if“ must be declared]

MyBatis DTD [Element type "if" must be declared] <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"&g…...

【项目实训个人博客】multi-agent调研(1)

随着LLM的涌现&#xff0c;以LLM为中枢构建的Agent系统在近期受到了广泛的关注。Agent系统旨在利用LLM的归纳推理能力&#xff0c;通过为不同的Agent分配角色与任务信息&#xff0c;并配备相应的工具插件&#xff0c;从而完成复杂的任务。 目前更常见的框架大多聚焦于single-ag…...

OpenSSH配置连接远程服务器MS ODBC驱动与Navicat数据库管理

OpenSSH配置连接远程服务器MS ODBC驱动与Navicat数据库管理 目录 OpenSSH配置连接远程服务器MS ODBC驱动与Navicat数据库管理 一、MS ODBC驱动 1.1、安装到Windows后的表现形式 1.2、版本的互斥性 1.3、安装程序 1.4、配置后才可用 二、Navicat数据库管理工具 2.1、安…...

Day14(链表)——LeetCode234.回文链表141.环形链表

1前言 这几天脑子真转不动&#xff0c;本想刷点简单题养养脑子&#xff0c;结果发现简单题也想不到&#xff0c;只是看答案好理解了。。。 2 LeetCode234.回文链表(LeetCode234) 2.1 题目描述 即判断链表是否为回文链表&#xff0c;回文链表即链表的数值正向遍历与反向遍历结…...

Centos 7.6安装redis-6.2.6

1. 安装依赖 确保系统已经安装了必要的编译工具和库&#xff1a; sudo yum groupinstall "Development Tools" -y sudo yum install gcc make tcl -y 2. 解压 Redis 源码包 进入 /usr/local/ 目录并解压 redis-6.2.6.tar.gz 文件&#xff1a; cd /usr/local/ sudo ta…...

react的 Fiber 节点的链表存储

在React Fiber架构中&#xff0c;Fiber节点的链表存储是一种重要的数据结构组织方式&#xff0c;用于管理和遍历Fiber节点。以下是关于Fiber节点链表存储的详细介绍&#xff1a; 链表结构 单链表&#xff1a;React Fiber节点通过next指针形成单链表结构。每个Fiber节点都有一…...

MCU ADC参考电压变化怎么办?

在嵌入式系统设计中&#xff0c;ADC&#xff08;模数转换器&#xff09;精度直接决定了系统对模拟信号的感知能力。 然而&#xff0c;很多工程师对ADC参考电压&#xff08;VREF&#xff09;的认识仍然存在模糊&#xff0c;尤其是在电池供电、电压不稳场景下。 ADC参考电压定义…...

IP地址与子网计算工具

IP地址与子网计算工具 工具介绍 这是一个免费的在线IP地址与子网计算工具&#xff0c;专为网络工程师和IT维护人员设计。只需输入IPv4地址和子网掩码位数&#xff0c;即可快速计算出&#xff1a; 工具已发布在: http://mutou888.com/tools/net/ip/index.html 网络地址广播地…...

显卡驱动与cuda toolkit版本对应关系

查显卡对应驱动的网址&#xff1a; NVIDIA GeForce 驱动程序 - N 卡驱动 | NVIDIA 查这个的时候&#xff0c;不同的显卡对应不同的产品类型和系列&#xff0c;需要先选对这两个&#xff0c;才能找到对应的产品名称&#xff0c;比如A6000&#xff0c;是在RTX/Quadro类型&#xf…...

典籍查询界面增加我的收藏查询功能

1.效果展示 点击我的收藏后可以显示当前用户收藏的典籍 2.后端代码 3.前端代码...

浮点数:IEEE 754标准

IEEE 754 标准是一种由电气和电子工程师协会&#xff08;IEEE&#xff09;制定的浮点数表示的标准&#xff0c;广泛应用于计算机系统中&#xff0c;下面是详细介绍&#xff1a; 历史背景 在 IEEE 754 标准出现之前&#xff0c;不同的计算机系统采用各自的浮点数表示方法&…...

‌RISC-V架构的低功耗MCU多电压域优化设计

RISC-V核低功耗MCU的多电压域设计是一种优化电源管理以降低功耗的技术方案。该设计通过电源域划分、电压转换和时序管理等手段&#xff0c;有效降低了系统功耗并提升能效&#xff0c;适用于物联网和嵌入式系统等场景。 多电压域设计的基本原理是将芯片划分为多个独立供电区域&…...

【密码学——基础理论与应用】李子臣编著 第八章 SM2公钥密码算法 课后习题

免责声明 这里都是自己搓或者手写的。 里面不少题目感觉有问题或者我的理解有偏颇&#xff0c;请大佬批评指正&#xff01; 不带思考抄作业的请自动退出&#xff0c;我的并非全对&#xff0c;仅仅提供思维&#xff01; 题目 逐题解析 知识前提&#xff1a;模运算的分数怎么转…...

在winform中使用chromiumWebBrowser显示Echarts图表

首先&#xff0c;在项目引用中添加CefSharp&#xff0c;这个是谷歌的控件。 然后在form中添加一个chromiumWebBrower控件 在form初始化时&#xff0c;执行浏览器组件的初始化 //浏览器组件只初始化一次&#xff0c;所以放在主界面 CefSettings settings new CefSettings(); …...

基于ART光学跟踪系统打造具有开创性的人车互动VR解决方案

随着汽车行业的日益发展更多的车内内容量和更高的客户体验使得车辆越来越复杂复杂&#xff0c;。此外消费者的可持续意识与政府的限制&#xff0c;也迫使企业在整个生产过程中提高资源利用率。与此同时为保证利润&#xff0c;开发时间进一步缩短&#xff0c;预算也随之减少。 由…...

面试记录1-春招补录0427

快手面试记录&#xff1a; 面试官是个帅哥&#xff0c;嘿嘿&#xff0c;而且感觉很厉害的样子&#xff0c;说话也比较温柔。 最近同时面试了好几家公司&#xff0c;感觉面试官的水平差距还是比较明显的。快手这位面试官给我的印象很不错哇&#xff01; 一听他说话就知道他很厉害…...

【计算机网络性能优化】从基础理论到实战调优

目录 前言技术背景与价值当前技术痛点解决方案概述目标读者说明 一、技术原理剖析核心概念图解核心作用讲解关键技术模块说明技术选型对比 二、实战演示环境配置要求核心代码实现案例1&#xff1a;iPerf3带宽测试案例2&#xff1a;TCP窗口优化案例3&#xff1a;QoS流量整形 运行…...

Maven下载aspose依赖失败的解决方法

Maven下载aspose依赖失败的解决方法 日期&#xff1a;2025年4月27日 遇到问题&#xff1a; Could not find artifact com.aspose:aspose-cad:pom:23.9 in aliyunmaven (https://maven.aliyun.com/repository/public) [WARNING] The POM for com.aspose:aspose-cad:jar:23.9 is…...

Redis的阻塞

Redis的阻塞 Redis的阻塞问题主要分为内在原因和外在原因两大类&#xff0c;以下从这两个维度展开分析&#xff1a; 一、内在原因 1. 不合理使用API或数据结构 Redis 慢查询 Redis 慢查询的界定 定义&#xff1a;Redis 慢查询指命令执行时间超过预设阈值&#xff08;默认 10m…...

OkHttp源码梳理

目录 一、基本使用 1 创建 OkHttpClient 2 构建请求 Request 3 创建和执行 Call 二、OkHttp请求整体流程 1. 用户调用入口 2. RealCall执行逻辑 2.1 同步请求&#xff1a;RealCall.execute() 2.2 异步请求&#xff1a;RealCall.enqueue(Callback) 3. Dispatcher调度请…...

【第三十三周】BLIP论文阅读笔记

BLIP 摘要Abstract文章信息引言方法MED预训练CapFilt 关键代码实验结果总结 摘要 本博客介绍了BLIP&#xff08;Bootstrapping Language-Image Pre-training&#xff09;&#xff0c;这是一种创新的视觉-语言预训练框架&#xff0c;旨在通过统一模型架构和高效数据增强策略&am…...

如何配置osg编译使支持png图标加载显示

步骤如下&#xff1a; 1.下载osg代码 git clone https://github.com/openscenegraph/OpenSceneGraph.git cd OpenSceneGraph 2.开始配置编译 mkdir build cd build cmake … -DBUILD_OSG_PLUGINS_BY_DEFAULT1 -DBUILD_OSG_PLUGIN_PNG1 3.编译与安装 make make install 4.在安装…...

234. 回文链表(java)

个人理解&#xff1a; 1.先找到链表的中间节点&#xff0c;将链表分为前后两部分 方法&#xff1a;设置快慢指针&#xff0c;初始都指向头节点&#xff0c;慢指针每次走一步&#xff0c;快指针每次走两步。循环结束条件为&#xff1a;快指针后两个元素不为空&#xff0c;此时慢…...

面试:结构体默认是对齐的嘛?如何禁止对齐?

是的。 结构体默认是对齐的‌。结构体对齐是为了优化内存访问速度和减少CPU访问内存时的延迟。结构体对齐的规则如下&#xff1a; 某数据类型的变量存放的地址需要按有效对齐字节剩下的字节数可以被该数据类型所占字节数整除&#xff0c;char可以放在任意位置&#xff0c;int存…...

Leetcode837.新21点

目录 题目算法标签: 数学, 概率, 动态规划思路代码 题目 837. 新 21 点 算法标签: 数学, 概率, 动态规划 思路 定义状态表示为 f [ i ] f[i] f[i], 表示分数达到 i i i的时候的概率, 分析状态计算, 假设当前的分数是 i i i, 抽取到的牌得分数是 x x x, 那么当前状态就会转移…...

【C到Java的深度跃迁:从指针到对象,从过程到生态】第四模块·Java特性专精 —— 第十五章 泛型:类型系统的元编程革命

一、从C的void*到Java类型安全 1.1 C泛型的原始实现 C语言通过void*和宏模拟泛型&#xff0c;存在严重安全隐患&#xff1a; 典型泛型栈实现&#xff1a; #define DECLARE_STACK(type) \ struct stack_##type { \ type* data; \ int top; \ int capacity; \ }; #de…...

纯净无噪,智见未来——MAGI-1本地部署教程,自回归重塑数据本质

一、MAGI-1简介 MAGI-1 是一种逐块生成视频的自回归去噪模型&#xff0c;而非一次性生成完整视频。每个视频块&#xff08;含 24 帧&#xff09;通过整体去噪处理&#xff0c;当前块达到特定去噪阈值后&#xff0c;立即启动下一块的生成。这种流水线设计支持 最多 4 个块的并发…...

BG开发者日志0427:故事的起点

1、4月26日晚上&#xff0c;BG项目的gameplay部分开发完毕&#xff0c;后续是细节以及试玩版优化。 开发重心转移到story部分&#xff0c;目前刚开始&#xff0c; 确切地说以前是长期搁置状态&#xff0c;因为过去的四个月中gameplay部分优先开发。 --- 2、BG这个项目的起点…...

直播预告|TinyVue 组件库高级用法:定制你的企业级UI体系

TinyVue 是一个跨端跨框架的企业级 UI 组件库&#xff0c;基于 renderless 无渲染组件设计架构&#xff0c;实现了一套代码同时支持 Vue2 和 Vue3&#xff0c;支持 PC 和移动端&#xff0c;包含 100 多个功能丰富的精美组件&#xff0c;可帮助开发者高效开发 Web 应用。 4 月 …...

基于Jamba模型的天气预测实战

深入探索Mamba模型架构与应用 - 商品搜索 - 京东 DeepSeek大模型高性能核心技术与多模态融合开发 - 商品搜索 - 京东 由于大气运动极为复杂&#xff0c;影响天气的因素较多&#xff0c;而人们认识大气本身运动的能力极为有限&#xff0c;因此以前天气预报水平较低 。预报员在预…...