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

Knowledge Graph Studio:让知识图谱构建更简单、更智能

一、前言

上周和研究院的同事讨论 2025 年大模型产品规划时,让我产生了一些疑惑和不解,因为从大家交流的规划方向来看,更多的还是集中在Prompt提示词工程(包括提示词的管理、测试、评估、调优)这一块规划的确实挺细,另外一个重点也提到了对于大模型微调、训练以及模型推理效率的提升、包括兼容适配国产GPU算力。等我听到,发现对于领域知识库的构建和大模型智能体的规划基本上没有或者一笔带过,最关键的是对于知识图谱完全没有提及。

我突然意识到一个问题,研究院对于大模型的规划只是停留在自身技术层面以及对于大模型能力边界的考虑,而忽视来大模型的能力最终是要在业务场景中赋能落地的,不然是无法体现技术的价值。对于从事公安执法领域十多年,我深知公安办案业务的复杂性,而在这个垂直领域,如果仅仅靠选择一个开源的通用大模型,就算把提示词玩的再花,大模型能力和知识边界的局限摆在眼前,其结果可想而知,大模型产生的结果是很难达到生产级别的准确率的。

而要基于大模型的能力落地公安执法领域的业务场景,领域知识库的建设是不可或缺的,因为靠从头构建预训练大模型这条路不是一般的企业可以承受的,从国内外的市场发展格局依然清晰,基础大模型的持续投入国内外基本上只会存在几家头部顶部企业才有能力去做这块的研发。

从Menlo Ventures投资公司对美国600家企业针对生成式AI在企业中的应用现状调研分析结果可以看到:

  1. 最大投资领域:基础模型的投资额遥遥领先,从2023年的10亿美元增长到2024年的65亿美元。
  2. 第二梯队:训练与部署的投资规模位居第二,2024年达到23亿美元。

其中,对于垂直类的AI应用也相比去年增长了12倍,虽然调查报告来源于美国市场,但由于美国是全球AI技术和应用的领先市场,对于基础模型和模型基础设施的投入美国的力度还是非常大的,国内更多还是侧重于大模型应用开发领域。从整体来看,所有领域都呈现出显著的增长态势,特别是基础模型领域的投资规模最为突出,这反映了市场对AI基础能力建设的持续重视。

除了常规的基于RAG构建公安执法领域的相关知识库之外,只能在一定程序上解决对于案件、法律法规的基础咨询问答,而对于一些案件的处罚、判决,侦查辅助,调查取证,在一个复杂的团队案件中尤其复杂,经常需要处理错综复杂的关系网络。比如说一个涉毒案件,从最初的线索到最终破案,中间可能涉及到多个嫌疑人、多条证据链、多个关联案件,还要考虑各种时空关系。如果只是简单地让大模型去读取案件材料,很难准确理解和推理出这些复杂的关联关系。

而 RAG 的关键能力还是在于检索增强,也就是帮助大模型更准确地获取和理解文档中的信息。但在实际的执法办案过程中,我们往往需要处理更复杂的场景:比如需要分析多起案件之间的关联性、推演案件事实之间的逻辑关系、判断不同时间地点的证据链条是否完整、评估多个违法事实对应的法律适用条款等。这些涉及事件关系推理、时空信息计算、法律决策判断的任务,仅靠 RAG 的能力是很难满足的。

这时候,构建案件和证据的知识图谱就显得尤为重要了。通过图谱,我们可以清晰地展现案由、违法事实、法律条款之间的关联关系,实现:

1. 案件要素的快速定性:基于图谱中预设的案件模型,快速识别和匹配关键违法事实;

2. 证据链条的完整性校验:通过图谱的关系推理,自动检查证据之间的逻辑关联,确保证据链条的完整性;

3. 法律条款的精准适用:根据违法事实的特征,结合图谱中的法律知识库,准确匹配适用的法律条款;

4. 案件之间的关联分析:利用图谱的网络结构,发现不同案件之间可能存在的关联线索,辅助串并案侦查。

有了这样一个结构化的知识体系作为支撑,再配合大模型的自然语言理解能力,我们就能够更加准确、高效地完成案件办理过程中的各项任务,真正实现智能化办案的目标。

今天无意间在GitHub上看到 WhyHow.AI 团队开源了他们的 Knowledge Graph Studio(以下简称 KG Studio)工具时,立刻意识到这可能是一个重要的突破口,因为对于知识图谱跟RAG原生结合的技术和工具似乎在开源界一直都相对比较空白,除了前端时间微软开源的GraphRAG技术。这个工具的意义不仅在于降低了知识图谱的构建门槛,更重要的是为我们在公安执法领域的大模型应用提供了一个关键的补充方案。

在接下来的内容中,我将从技术架构、核心功能、应用场景和未来展望等几个维度,详细分析 KG Studio 的特点,以及它如何助力我们更好地将大模型能力落地到公安执法的实际业务中。

二、介绍Knowledge Graph Studio

Knowledge Graph StudioWhyHow.AI 团队最近开源的一款专注于知识图谱构建和管理的创新工具平台。作为一个完整的知识图谱解决方案,它不仅提供了图谱构建的核心功能,更重要的是首次将 RAG(检索增强生成)的理念深度整合到知识图谱的构建过程中。这种创新的融合方式,让知识图谱的构建和应用有了更多可能性。

与传统的知识图谱工具相比,Knowledge Graph Studio 的与众不同之处在于它的"RAG原生"设计理念。它不仅支持传统的三元组存储和查询,还能够保持文本块、实体和关系之间的紧密关联,确保了知识溯源的完整性。这种设计对于需要严谨性和可解释性的领域应用来说,具有重要的现实意义。

2.1 技术架构特点

Knowledge Graph Studio 采用了一个创新的技术架构设计,它巧妙地将知识图谱、向量检索和 RAG 系统进行了有机整合。核心架构基于 NoSQL 数据库(如 MongoDB)构建,这种选择带来了显著优势:首先是模式灵活性,能够适应知识图谱动态演进的需求;其次是查询性能,支持大规模数据的高效检索;最后是可扩展性,便于横向扩展以应对数据量增长。

更值得关注的是,该平台实现了关系数据、向量存储和搜索功能的无缝集成。这意味着我们可以同时处理结构化的案件要素(如案件类型、时间地点、涉案人员等)和非结构化的案件材料,而不必在不同的系统之间来回切换。

这种架构设计带来了几个关键优势:

1、统一的数据视图

  • 打通了结构化和非结构化数据的边界
  • 支持多粒度的知识表示和检索
  • 保证了数据的一致性和完整性

2、高效的检索机制

  • 创新性地将三元组进行向量化处理
  • 支持语义相似性和精确匹配的混合检索
  • 查询性能较传统图数据库提升显著

3、灵活的扩展能力

  • 模块化设计便于功能扩展
  • 支持自定义索引和检索策略
  • 可根据需求选择性启用功能组件

4、完整的生态支持

  • 提供标准的 RESTful API
  • 支持 Python SDK 快速开发

这种架构设计不仅解决了传统知识图谱系统在处理非结构化数据时的局限性,还为构建智能化的知识应用提供了坚实的技术基础。特别是在处理大规模异构数据时,其灵活性和扩展性的优势更加明显。

通过这样的架构设计,Knowledge Graph Studio 能够同时满足知识建模的严谨性要求和实际应用中对灵活性的需求,为知识图谱的构建和应用提供了一个理想的技术平台。

2.2 核心功能亮点

Knowledge Graph Studio 不仅仅是一个普通的知识图谱工具,更是一个面向 RAG 应用的原生知识图谱构建平台。通过将传统知识图谱技术与大模型时代的新需求有机结合,我们为用户提供了一套完整的知识表示和构建解决方案。实践证明,这种方案能够有效解决垂直领域知识构建的难点,显著提升大模型在专业领域的应用效果。

让我们一起来看看这个平台的核心功能亮点:

在当前大模型技术蓬勃发展的背景下,要真正实现大模型在垂直领域特别是公安执法等专业领域的落地应用,仅仅依靠通用大模型是远远不够的。

2.2.1 模块化的图谱构建

传统的知识图谱建设往往追求大而全,动辄耗时数月甚至数年,但实践表明这种方式难以适应当前快速迭代的业务需求。我们创新性地提出"小图谱、快迭代"的构建理念,支持团队围绕具体的业务场景或案件类型构建形式多样的专项知识图谱。

这种模块化的方法不仅大大降低了建设周期,更为重要的是能够快速验证和优化知识模型的效果。例如,在处理电信网络诈骗案件时,可以专门构建一个聚焦于诈骗话术、资金流转、团伙关系的小规模知识图谱,而不必等待一个完整的刑事案件知识图谱建设完成。

2.2.2 向量化的三元组技术

在传统知识图谱的基础上,我们引入了突破性的向量化三元组技术。这项创新将知识图谱的结构化优势与大模型的语义理解能力有机结合,使得知识检索不再局限于精确匹配,而是能够理解查询意图的上下文语义。

实践数据表明,相比传统的 Text2Cypher 方案,我们的向量化检索准确率提升了 2 倍以上。这一突破性进展意味着执法人员可以用更自然的语言描述查询需求,系统能够准确理解并返回相关的知识内容,大大提升了实际应用效果。

2.2.3 基于规则的实体解析

在实体识别和关系抽取这个知识图谱建设的关键环节,我们没有一味追求全自动化,而是基于多年实践经验,构建了一套人机协作的实体解析体系。系统支持执法人员基于专业知识定制解析规则,这些规则可以被保存和复用,随着使用不断优化完善。

这种方式既保证了抽取结果的准确性,又能够通过规则的积累不断提升系统的智能化水平。特别是在处理新型犯罪或者复杂案情时,人机协作的方式能够快速适应新的知识需求,保持系统的与时俱进。

2.2.4 API优先的设计理念

考虑到大模型应用的蓬勃发展,我们采用了 API 优先的架构设计理念。完整的 Python SDK 不仅方便与现有办案系统的无缝对接,更重要的是为 RAG(检索增强生成)应用提供了理想的知识基础设施。

通过将向量块(Vector Chunks)作为图谱中的一等公民,我们的平台能够为大模型提供更深层次的知识支持。这种设计让知识检索不再是简单的文本匹配,而是能够提供包含上下文的完整知识片段,显著提升了大模型在专业领域的表现。

知识图谱的构建是一个需要多方参与的过程,Knowledge Graph Studio平台提供了直观的可视化界面,让非技术背景的专业人员也能轻松参与知识建设。通过图谱共享和协作编辑功能,办案人员、技术人员和领域专家可以紧密配合,各自发挥所长。

这种协作机制特别适合公安执法领域的特点,因为真正有价值的知识往往来自于一线办案人员的实践经验。通过平台的协作功能,这些宝贵的经验可以被及时捕获和固化,形成可复用的知识资产。

2.3 在公安执法场景中的应用价值

在日常执法办案工作中,我们经常面临着案件信息碎片化、证据关系复杂、串并案分析困难等一系列挑战。Knowledge Graph Studio 正是基于对这些实际问题的深入理解,提供了一套系统化的解决方案。具体来说,它能够帮助我们应对以下三个核心场景:

2.3.1 案件知识的结构化表示

传统的案件信息往往分散在大量的文书、笔录和资料中,这给快速获取和分析带来了巨大挑战。通过 Knowledge Graph Studio:

  • 我们可以将非结构化的案件文书自动转化为规范的知识图谱结构
  • 准确刻画人、物、地、案件、时间等要素之间的复杂关联
  • 建立起案件信息的知识底座,为后续的智能分析和辅助办案提供坚实基础
  • 支持灵活的知识模型定制,适应不同案件类型的特殊需求

2.3.2 证据链条的智能梳理

在重大案件侦办过程中,证据关系错综复杂,常规方式难以厘清关键线索。Knowledge Graph Studio 提供:

  • 基于图谱的证据链可视化展现,直观呈现证据之间的逻辑关联
  • 智能识别证据链条中的关键节点和薄弱环节
  • 辅助办案人员快速发现证据体系中的漏洞和不足
  • 提供证据补强建议,有效提升案件质量
  • 支持证据链路径的多维度分析和推演

2.3.3 跨案件的关联分析

串并案分析是提升破案效率的关键,但传统方法往往依赖人工经验。Knowledge Graph Studio 创新性地:

  • 基于知识图谱的网络结构,自动发现案件间的潜在关联
  • 提供多层次、多维度的关系路径搜索和推理能力
  • 支持复杂条件下的案件特征匹配和相似性分析
  • 实现对作案规律、团伙网络等高价值信息的智能挖掘
  • 为串并案侦查和研判提供精准的数据支撑

通过这些功能的有机结合,Knowledge Graph Studio 不仅提升了办案效率,更为打造智能化办案新模式提供了有力支撑。在实践中,我们已经看到它在提升办案质量、加快办案进度等方面带来的显著成效。

2.4 与大模型的协同效应

Knowledge Graph Studio 的价值不仅在于其本身的功能,更重要的是它能够与大模型形成良性互补:

  • 利用大模型的自然语言理解能力辅助知识抽取
  • 通过知识图谱约束大模型的推理过程
  • 结合两者优势提供更准确的问答和决策支持

虽然 Knowledge Graph Studio 目前还处于开源的初期阶段,但它的设计理念和技术路线与我们的需求高度契合。随着社区的参与和工具的不断完善,我相信它将成为推动公安执法领域智能化转型的重要支撑。

特别值得一提的是,该项目采用 MIT 许可证开源,这意味着我们可以基于自身需求进行定制化开发,这对于公安行业的特殊性要求来说尤为重要。

通过对 Knowledge Graph Studio 的深入分析,更加坚定了我之前的判断:在垂直领域应用中,仅依靠大模型是远远不够的,必须要有领域知识图谱的支撑。而 Knowledge Graph Studio 的出现,为我们打通了从非结构化文本到结构化知识,再到智能应用的完整链路,这正是我们目前最需要的。

三、为什么开源 Knowledge Graph Studio?

在讨论技术细节之前,我们需要理解 WhyHow 团队选择开源的原因。开源不仅是一个技术决策,更是一种生态建设的战略选择。WhyHow 的目标是通过开放其知识图谱平台,促进社区协作和技术创新,使更多团队能够根据自身需求定制和扩展知识图谱的功能。

  1. 透明性与信任开源使得用户可以完全掌控平台的运行方式,从而更好地满足隐私保护和合规性要求。特别是在金融、医疗等对数据安全高度敏感的领域,开源平台提供了灵活的部署方案,使用户能够在自己的环境中直接运行系统,嵌入自定义的安全措施。
  2. 生态系统建设WhyHow 希望通过开源推动知识图谱技术的普及和应用。通过开放 API 和 SDK,开发者可以轻松将 KG Studio 集成到现有的系统中,从而构建更强大的基于知识图谱的解决方案。
  3. 激发创新开源平台为研究人员和开发者提供了实验和创新的空间。通过模块化设计,用户可以针对特定场景创建“小型图”,测试新的算法和数据表示方式。

四、技术架构:结合 NoSQL 的创新设计

KG Studio 的技术架构是其核心竞争力之一。它基于 MongoDB 构建,同时支持关系数据、向量存储和灵活模式,旨在满足大语言模型(LLM)系统、多代理 RAG(Retrieval-Augmented Generation)工作流和结构化知识表示的需求。

MongoDB 作为基础架构的选择有几个关键优势:

  • 文档模型灵活性:MongoDB 的文档模型允许存储复杂的嵌套数据结构,非常适合知识图谱中的多维数据表示
  • Schema 灵活性:支持动态模式,可以根据需要调整数据结构,这对于不断演化的知识图谱至关重要

这个技术架构展示了 KG Studio 在知识图谱和 AI 应用领域的深度思考:

  1. 技术选型的前瞻性:选择 MongoDB 作为基础设施不仅解决了当前需求,也为未来的扩展留下了空间。
  2. 架构的完整性:通过统一的平台支持传统关系数据、向量数据和灵活模式,满足了现代 AI 应用的多样化需求。
  3. 应用场景的覆盖:架构设计充分考虑了 LLM、RAG 和知识表示等主流 AI 应用场景,体现了产品的市场洞察力。

这样的架构设计使 KG Studio 能够在竞争激烈的市场中保持技术优势,同时为用户提供全面的解决方案。

4.1多模存储架构

KG Studio 的存储层结合了以下技术:

  • 图数据库:用于存储实体和关系,支持高效的图查询和推理。
  • 向量数据库:支持语义相似性搜索,特别适合大语言模型生成的嵌入向量。
  • 关系数据库:管理元数据和系统配置,提供可靠的数据一致性。
  • 分布式缓存:提升查询性能,优化用户体验。

这种多模存储的设计,使得 KG Studio 能够同时处理结构化和非结构化数据,满足复杂知识图谱构建的需求。

4.2语义检索与嵌入三元组

KG Studio 的查询引擎是其另一大亮点。通过嵌入三元组(Triple Embedding),平台能够在检索过程中综合考虑节点、关系和属性之间的语义关联。这种方法相比传统的节点检索更为精确,使得查询结果的准确率提升了两倍。

例如,在医疗场景中,查询引擎可以根据医生的诊断记录,提取与患者病史相关的所有节点和关系,并将其整合到一个语义上下文中,帮助医生快速做出决策。

4.3模块化微服务架构

KG Studio 采用微服务架构设计,每个功能模块独立运行:

  • 数据接入与处理:支持多种数据源(如 CSV、JSON、PDF)和智能数据清洗。
  • 知识图谱构建:包括实体识别、关系抽取和属性管理。
  • 知识推理与分析:支持路径分析、规则推理和语义计算。

这种模块化设计使得系统具有高度的灵活性和可扩展性,用户可以根据具体需求选择性部署功能模块。

五、核心功能解析

5.1 数据接入与清洗

KG Studio 支持多种数据格式的接入,包括结构化数据(如数据库表)、半结构化数据(如 JSON)和非结构化数据(如文本和图片)。通过内置的智能数据清洗工具,用户可以快速完成数据去重、格式标准化和异常值处理,为后续的知识图谱构建打下坚实基础。

案例:在金融领域,KG Studio 可以从多个来源(如合同、财务报表)中提取数据,并自动清洗和整合,构建企业关联图谱。

5.2 知识图谱构建

  • 实体识别与消歧:通过深度学习模型识别文本中的实体,并将同义实体统一到一个节点。
  • 关系抽取:支持基于规则和深度学习的关系识别,用户可以根据具体场景定义自定义规则。
  • 属性管理:为每个实体和关系添加属性,丰富知识表示。

案例:在医疗场景中,KG Studio 可以将医生的诊断记录转化为时间序列知识图谱,帮助医生跟踪患者病情变化。

5.3 知识推理与语义分析

KG Studio 内置了强大的推理引擎,支持基于规则的推理和语义计算。例如,用户可以通过自然语言问题查询图谱,系统会返回与问题相关的节点、关系和嵌入向量块。

案例:在法律领域,KG Studio 可以通过多文档检索和推理,帮助律师快速找到相关法律条款和判例。

六、应用场景与价值

6.1 企业知识管理

通过构建企业知识图谱,企业可以将分散的文档和数据整合为一个统一的知识库,支持智能搜索和知识共享。例如,某大型制造企业利用 KG Studio 构建了设备维修知识库,大幅提升了维修效率。

6.2 医疗健康

在医疗领域,KG Studio 可用于构建患者病历知识图谱,帮助医生进行诊断支持和药物相互作用分析。例如,某医院利用 KG Studio 构建了药物知识图谱,显著降低了药物不良反应的发生率。

6.3 金融风控

通过构建企业关联图谱,KG Studio 可以帮助金融机构识别潜在风险。例如,某银行利用 KG Studio 构建了企业信用图谱,实现了精准的风险评估。

七、未来展望

在知识图谱技术快速发展和应用不断深化的背景下,我们需要以更开放、更前瞻的视角来规划产品的未来发展方向。基于对行业趋势的深入观察和市场需求的准确把握,我们认为知识图谱产品的发展将呈现出多元化、智能化和生态化的特征。未来,KG Studio 将重点在以下几个方向持续发力:

  1. 技术演进WhyHow 团队计划进一步优化 KG Studio 的性能,并引入更多 AI 能力,如自动化知识图谱构建和实时推理。
  2. 生态系统建设通过开放 API 和 SDK,WhyHow 希望吸引更多开发者和研究人员参与,共同推动知识图谱技术的发展。
  3. 场景拓展随着知识图谱技术的成熟,KG Studio 将在更多垂直领域(如教育、能源、物流)中发挥作用。

这三个方向的协同发展,将形成一个良性循环:技术创新驱动应用场景拓展,场景深化促进生态繁荣,生态建设反哺技术创新。通过这种螺旋式上升的发展模式,我们相信KG Studio将在未来的知识图谱领域占据更重要的位置,为用户提供更优质的服务。

八、总结

WhyHow Knowledge Graph Studio 的开源标志着知识图谱技术迈向了一个更加开放和协作的新时代。通过其强大的技术架构和丰富的功能模块,KG Studio 为用户提供了构建和管理知识图谱的一站式解决方案。无论是在企业知识管理、医疗健康,还是金融风控领域,KG Studio 都展示了其巨大的潜力和价值。

https://github.com/whyhow-ai/knowledge-table

https://github.com/whyhow-ai/knowledge-graph-studio

相关文章:

Knowledge Graph Studio:让知识图谱构建更简单、更智能

一、前言 上周和研究院的同事讨论 2025 年大模型产品规划时,让我产生了一些疑惑和不解,因为从大家交流的规划方向来看,更多的还是集中在Prompt提示词工程(包括提示词的管理、测试、评估、调优)这一块规划的确实挺细&a…...

【jvm】垃圾判别阶段算法

目录 1. 说明2. 引用计数算法2. 可达性分析算法3. 垃圾判别阶段的过程 1. 说明 1.JVM主要使用两种垃圾判别算法:引用计数算法和可达性分析算法。 2. 引用计数算法 1.原理:为每个对象维护一个引用计数器,每当有地方引用该对象时&#xff0c…...

深入理解Linux进程管理机制

个人主页:chian-ocean 文章专栏-Linux 前言 进程是现代操作系统中一个不可或缺的概念,其主要目的在于管理资源、实现并发、提高系统效率,并确保系统的稳定性和安全性。 进程的定义 进程(Process) 是计算机操作系统中…...

OV2640摄像头模块介绍

目录 一、引言 二、模块概述 三、技术特点 四、工作原理 五、接口类型 六、应用领域 七、使用方法 八、参数设置 九、图像数据处理 十、调试和故障排除 十一、结语 一、引言 在当今的科技时代,图像采集和处理技术在众多领域发挥着至关重要的作用。其中&…...

机器人的动力学前馈控制

机器人前馈技术可加快伺服驱动器内部的误差收敛速度,进而改善机器人的动态响应特性,解决机器人在运动过程中的抖动问题,提升机器人系统的精度和效率。 对于关节型机器人而言,在理想的刚性连接下,若给定每个关节所需要的…...

Python+OpenCV系列:图像的几何变换

Python OpenCV 系列:图像的几何变换 引言 在图像处理领域,几何变换是一个非常重要的操作,它可以改变图像的位置、大小、方向或形状。在计算机视觉中,这些操作对于图像预处理、特征提取和图像增强至关重要。本文将介绍如何利用 …...

IC验证基础知识系列随笔

一、断言 and 和 和 intersect 区别 And 指的是两个序列具有相同的起始点,终点可以不同。 Intersect 指的是两个序列具有相同的起始点和终点。 Or 指的是两个序列只要满足一个就可以 Throughout 指的是满足前面要求才能执行后面的序列 二、Break;co…...

网络测速工具

1. SPEEDTEST https://www.speedtest.net/ 2. 测速网 测速网 - 专业测网速, 网速测试, 宽带提速, 游戏测速, 直播测速, 5G测速, 物联网监测,Wi-Fi 7,Wi-Fi 6,FTTR,全屋Wi-Fi - SpeedTest.cn 3. 字节比特换算 bps(bits per second) 字节和比特的换算…...

windows将文件推给Android真机/实机

记录一下 因为以前只试过从真机实机中将文件推给windows 但是从windows只简单复制粘贴的话会一直报错。 1.电脑安装adb 2.手机开启开发者模式 usb调试 3.usb连接选择文件传输 4.推送命令adb push 文件路径 /sdcard/download 步骤1和2和3不作赘述,可以搜相关配置教程…...

Scratch教学作品 | 3D飞行模拟器——体验飞行的无限乐趣! ✈️

今天为大家推荐一款令人惊叹的Scratch作品——《3D飞行模拟器》!由BamBozzle制作,这款游戏完全用Scratch构建,带你体验开放世界飞行的自由与乐趣。从起飞到降落,每一步都需要你的精准操作!更棒的是,这款游戏…...

nonolog转化为ctf的困难

nonolog转化为ctf的困难 nanolog分析的中间的总结二者之间的差别 nanolog分析的中间的总结 如果目标是转nanolog为CTF格式,最重要的应该是meta的定义的转换的问题了。 目前我是稍有气馁。 感觉这不是一个好的方向。 如果领导能给连续的时间,完全开发自定…...

Sqoop导入数据(mysql---->>hive)

目录 数据传输流程脚本报错和异常说明1. Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf2. 数据导入hive后显示NULL 数据传输流程 mysql---->>hdfs---->>hive 数据从mysql表中取出,放到hdfs上(由targ…...

vivado bd文件复制

不同工程是无法进行BD文件复制的,可以通过将被复制的BD文件添加到需要复制的BD文件的工程中,然后再工程内进行复制...

2024年深圳杯数学建模C题编译器版本的识别问题解题全过程文档及程序

2024年深圳杯数学建模 C题 编译器版本的识别问题 原题再现: 作为一种重要的工具,电子计算机自诞生以来,经历了极为快速的发展。区区百年的时间内,无论从体积、能耗、计算速度,还是应用能力等方面,电子计算…...

介绍一下希尔排序法(c基础)

hi , I am 36 适合对象c语言初学者 希尔排序(Shell Sort)是一种改进的插入排序算法,它通过将原始数据分成多个子序列来改善插入排序在处理大规模无序数组时性能较差的情况。 基本原理 希尔排序的基本思想是先将整个待排序的记录序列分割成为…...

SQL,根据数据的时间跨度进行不同粒度的统计

MSSQL 的某个视图会生成时间跨度不同的数据,当时间跨度小于 30 天时: idbranchIdtotalPricecreatedAt8512718.662022-07-03 08:49:27.7272613832.692022-07-06 09:08:06.8808919569.852022-07-07 04:13:09.2308011523.622022-07-07 04:38:29.3131512500…...

OPenCV 图片局部放大

m_image cv::imread("C:/Code/JPG/1.jpg");if (m_image.empty()) return;cv::imshow("原始图像", m_image); // TODO: 在此添加控件通知处理程序代码int width m_image.cols;int height m_image.rows;// 确定要放大的区域(这里是图像中心部分…...

【C#设计模式(19)——备忘录模式(MementoPattern)】

前言 备忘录模式:将想要备份的信息交给备忘录对象来管理。通过设置初始、备份、修改、恢复等状态展示备忘录模式的使用。 代码 //备忘录类 public class Memento {private string state;public string State { get>state;}public Memento(string state){this.st…...

使用 Nginx 在同一端口部署两个前端项目并配置子路径

在现代 Web 开发中,我们经常需要在同一台服务器上部署多个前端项目。这不仅可以节省资源,还可以简化管理。本文将指导你如何使用Nginx在同一端口上部署两个前端项目,并通过配置子路径来区分它们。 环境准备 首先,我们需要准备两…...

CISC和RISC的区别

CISC是什么 CISC是一种指令集设计方式,全程叫复杂指令集,这种指令设计模式包含大量的复杂指令和复杂的寻址方式, 以下是CISC架构的一些主要特点: 丰富的指令集:CISC处理器通常包含大量的指令,这些指令覆盖…...

学生信息管理系统(简化版)后端接口

目录 allAPI __init__.py是空文件,目的让python知道这个文件夹是个包 ClassInfo.py from fastapi import APIRouter, Depends, HTTPException from sqlalchemy.orm import Session from API.database import get_db, Base from sqlalchemy import Column, String,…...

一、开启 GD32 单片机的学习之门

文章目录 一、开启GD32单片机的学习之门二、筑牢根基:GD32单片机基础知识全解析(一)单片机概述 三、开发环境搭建(一)软件下载与安装(二)安装GD32F450设备支持包(三)编译…...

计算生成报价单小程序系统开发方案

计算生成报价单小程序报价系统,是根据商品品牌、类型、型号、规格、芯数、特性、颜色、分类进行选择不同的参数进行生成报价单,要求报价单支持生成图片、pdf、excel表格。 计算生成报价单小程序系统的主要功能模块有: 1、在线生成报价单&…...

高效整合聚水潭库存数据至MySQL的实现

聚水潭数据集成到MySQL:商品库存查询案例分享 在本次技术案例中,我们将详细探讨如何通过轻易云数据集成平台,将聚水潭的商品库存数据高效、可靠地集成到MySQL数据库中。具体方案为“聚水潭-商品库存查询-->BI彩度-商品库存表”&#xff0…...

深入理解 JVM 的栈帧结构

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,…...

爬虫基础之HTTP基本原理

URL和URI 我们先了解一下 URI和 URL。URI的全称为 Uniform Resource ldentifer,即统一资源标志符;URL的全称为 Universal Resource Locator,即统一资源定位符。它们是什么意思呢?举例来说,https:/github.com/favicon.ico 既是一个 URI,也是…...

PyQt5:一个逗号引发的闪退血案

【日常小计】 在开发PyQt5程序时,调用了一个写入excel表格的后端方法,但是每次打开页面点击对应的动作,窗口就会闪退,而且Python后台也没有提示出任何的异常堆栈,后来经过在后端一点一点的单点测试,终于发…...

python学opencv|读取图像(五)读取灰度图像像素

【1】引言 前序学习了图像的基本读取,掌握了imread()、imshow()和imwrite()函数的基本功能和使用技巧,参考文章链接为: python学opencv|读取图像-CSDN博客 然后陆续掌握了彩色图像保存、图像放大和缩小以及对imshow()函数的大胆尝试技巧&a…...

LiDAR点云 反射强度 常见物体反射强度

1.激光点云发射的点无法全部被反射回来的原因 激光点云发射的点无法全部被反射回来的原因主要包括以下几点: 目标物表面特性:某些物体表面具有高反射率,导致激光雷达接收到的反射能量过强,从而产生噪点,影响点云数据的…...

零基础微信小程序开发——WXML 模板语法之事件绑定(保姆级教程+超详细)

🎥 作者简介: CSDN\阿里云\腾讯云\华为云开发社区优质创作者,专注分享大数据、Python、数据库、人工智能等领域的优质内容 🌸个人主页: 长风清留杨的博客 🍃形式准则: 无论成就大小,…...

qt QNetworkAccessManager详解

1、概述 QNetworkAccessManager是QtNetwork模块中的一个核心类,它允许应用程序发送网络请求并接收响应。该类是网络通信的基石,提供了一种方便的方式来处理常见的网络协议,如HTTP、HTTPS等。QNetworkAccessManager对象持有其发送的请求的通用…...

在2023idea中如何创建SpringBoot

目录 一.下载和安装 Maven 1.前往 https://maven.apache.org/download.cgi 下载最新版的 Maven 程序 2.将文件解压到D:Program FilesApachemaven目录 3.新建环境变量MAVEN_HOME,赋值D:Program FilesApachemaven 4.编辑环境变量Path,追加%MAVEN_HOME…...

R语言医学数据分析实践-R语言的数据结构

【图书推荐】《R语言医学数据分析实践》-CSDN博客 《R语言医学数据分析实践 李丹 宋立桓 蔡伟祺 清华大学出版社9787302673484》【摘要 书评 试读】- 京东图书 (jd.com) R语言编程_夏天又到了的博客-CSDN博客 在R语言中,数据结构是非常关键的部分,它提…...

PID算法

PID算法是闭环控制中的核心算法之一,它结合了比例(P)、积分(I)和微分(D)三种控制策略,能够实现对被控对象的精确控制。以下将详细介绍PID算法,并针对P、I、D分别举出三个…...

C++day2

1.利用函数重载&#xff0c;实现对整形数组的冒泡排序&#xff0c;对浮点型数组的冒泡排序 #include <iostream>using namespace std;int bubblesort(int a[]) {int i,j,temp;for(i1;i<5;i){for(j0;j<5-i;j){if(a[j]>a[j1]){temp a[j];a[j] a[j1];a[j1] tem…...

RFdiffusion ContigMap类初始化方法解读

功能概述 __init__ 方法是 ContigMap 类的初始化函数,其核心任务是构建和管理一个蛋白质序列和结构的映射系统,处理用户提供的输入数据(如片段信息、参考序列、掩码等),并生成内部所需的各种索引和映射,以便在蛋白质设计中有效地定义、解析和操作不同区域的结构和序列。…...

LeetCode 每日一题 2024/12/2-2024/12/8

记录了初步解题思路 以及本地实现代码&#xff1b;并不一定为最优 也希望大家能一起探讨 一起进步 目录 12/2 52. N 皇后 II12/3 3274. 检查棋盘方格颜色是否相同12/4 2056. 棋盘上有效移动组合的数目12/5 3001. 捕获黑皇后需要的最少移动次数12/6 999. 可以被一步捕获的棋子数…...

5G模组AT命令脚本-关闭模组的IP过滤功能

关闭模组的IP过滤功能 关闭模组的IP过滤功能 5G 模组通常使用nat方式为 下挂设备或上位机提供上网服务&#xff0c;默认情况&#xff0c;不做NAt的包无法经由 模组转发&#xff0c;如果禁掉这个限制 &#xff0c;可使用本文中的配置命令本脚本用于关闭模组的IP过滤功能&#xf…...

得力DL-720C(new)标签热敏打印机

特点 适配标签宽度20-90mm的热敏标签纸&#xff0c;无需碳带。不适用于使用碳带上色的热转印纸&#xff08;如铜版纸&#xff09;。标签纸类型支持&#xff1a; 间隙纸&#xff08;靠间隙定位&#xff09;。得力自配的纸就是间隙纸&#xff0c;不透明。黑标纸&#xff08;靠背…...

openjdk17 jvm加载class文件,解析字段和方法,C++源码展示

##构造方法ClassFileParser&#xff0c;parse_stream解析文件流 ClassFileParser::ClassFileParser(ClassFileStream* stream,Symbol* name,ClassLoaderData* loader_data,const ClassLoadInfo* cl_info,Publicity pub_level,TRAPS) :_stream(stream),_class_name(NULL),_load…...

基于 AutoFlow 快速搭建基于 TiDB 向量搜索的本地知识库问答机器人

导读 本文将详细介绍如何通过 PingCAP 开源项目 AutoFlow 实现快速搭建基于 TiDB 的本地知识库问答机器人。如果提前准备好 Docker、TiDB 环境&#xff0c;整个搭建过程估计在 10 分钟左右即可完成&#xff0c;无须开发任何代码。 文中使用一篇 TiDB 文档作为本地数据源作为示…...

Vue项目实战-新能源汽车可视化(二)(持续更新中)

一.项目代码 1.DataSceen <template><div id"app-content"><div class"containerBox"><!-- 左边区域 --><div classleft><!-- 车辆情况 --><div class"item"></div><!-- 历史数据 -->&…...

CSS border 0.5px 虚线

border 0.5px 存在很多兼容问题&#xff0c;很多设备都会默认展示 1px 如果是实线可以用 background 和 height 1px 然后transform scaleY(0.5) 去实现。 但是虚线怎么办呢。 .ticket-line::before {content: ;position: absolute;top: 0;left: 0;right: 0;bottom: 0;width: …...

利用最大流算法解决Adam教授的双路径问题

利用最大流算法解决Adam教授的双路径问题 Adam教授的烦恼问题描述与转换转换步骤伪代码C代码示例解释Adam教授的烦恼 Adam教授有两个儿子,可不幸的是,他们互相讨厌对方。随着时间的推移,问题变得如此严重,他们之间不仅不愿意一起走到学校,而且每个人都拒绝走另一个人当天…...

c#如何开发后端

1选择开发框架 在 C# 中&#xff0c;用于后端开发最常用的框架是ASP.NET。它提供了构建 Web 应用程序、Web API 和微服务等多种后端服务所需的功能。ASP.NET有不同的模式&#xff0c;如ASP.NET MVC&#xff08;Model - View - Controller&#xff09;和ASP.NET Web API。ASP.NE…...

05_掌握Python3.11新特性-模式匹配

学习完本篇内容,你将掌握以下技能: 了解 Python 3.11 中的模式匹配新特性掌握如何使用模式匹配来简化代码和提高代码的可读性熟练掌握并应用到实际编程中python3.11新特性-模式匹配 在 Python 3.11 中,引入了模式匹配(pattern match...

【AI日记】24.12.09 kaggle 比赛 Titanic-12

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 工作 内容&#xff1a; 学习 kaggle 入门比赛 Titanic - Machine Learning from Disaster学习机器学习&#xff08;pandas&#xff0c;numpy&#xff0c;sklearn&#xff09;&#xff0c;数据可视化&#xff…...

Linux,如何要定位并删除占用磁盘空间的大文件?

Linux&#xff0c;如何要定位并删除占用磁盘空间的大文件&#xff1f; 要定位并删除占用磁盘空间的大文件主要有以下这些步骤&#xff1a; 1. 使用 du 命令查找大文件或目录 du&#xff08;Disk Usage&#xff09;命令可以帮助你查找占用空间较大的文件或目录。 du -ah --…...

【Java】—— 图书管理系统

基于往期学习的类和对象、继承、多态、抽象类和接口来完成一个控制台版本的 “图书管理系统” 在控制台界面中实现用户与程序交互 任务目标&#xff1a; 1、系统中能够表示多本图书的信息 2、提供两种用户&#xff08;普通用户&#xff0c;管理员&#xff09; 3、普通用户…...

初识Linux · 线程同步

目录 前言&#xff1a; 认识条件变量 认识接口 快速使用接口 生产消费模型 前言&#xff1a; 前文我们介绍了线程互斥&#xff0c;线程互斥是为了防止多个线程对临界资源访问的时候出现了对一个变量同时操作的情况&#xff0c;对于线程互斥来说&#xff0c;我们使用到了锁…...