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

[推荐]AI驱动的知识图谱生成器(AI Powered Knowledge Graph Generator)

网址:https://github.com/robert-mcdermott/ai-knowledge-graph#

一、介绍

简介:以非结构化文本文档为输入,使用您选择的LLM以主语-谓语-宾语 (SPO) 三元组的形式提取知识,并将这些关系可视化为交互式知识图谱

特点:可与任何 OpenAI 兼容 API 端点配合使用

二、项目的部署

1、从github下载项目

git clone  https://github.com/robert-mcdermott/ai-knowledge-graph.git

2、配置环境

cd ai-knowledge-graph
pip install  -r  requirements.txt

3、修改配置文件

此处用deepseek的api作示例

deepseek-api官网:DeepSeek

修改ai-knowledge-graph/config.toml

[llm]
model = "deepseek-chat" #此处修改为deepseek-chat
#model = "claude-3.5-sonnet-v2"
#model = "gpt4o"
#model = "llama3-2-90b-instruct-v1:0"
api_key = "sk-1234" # 将此处的api替换为自己真实的api-key
#base_url = "http://localhost:11434/v1/chat/completions"
#base_url = "http://localhost:4000/v1/chat/completions"
base_url ="https://api.deepseek.com/chat/completions"
max_tokens = 8192
#max_tokens = 4096
temperature = 0.8

也可使用部署在本机的模型进行使用,如ollama+deepseek模型,具体操作请自我探索。

4、启动项目

在启动项目前需要准备一段文字,保存为txt.

python generate-graph.py --input /content/input.txt  --output knowledge_graph.html

示例数据:

主题:人工智能技术人工智能(AI)是以机器学习、深度学习和自然语言处理为核心技术的计算机科学分支。机器学习通过算法使计算机从数据中学习规律,代表性方法包括监督学习(如线性回归)和无监督学习(如聚类)。深度学习是机器学习的分支,依赖神经网络模型(如CNN、RNN),由杰弗里·辛顿等学者推动发展。自然语言处理(NLP)使机器能理解人类语言,关键技术包括词嵌入(Word2Vec)和Transformer架构(如BERT)。知名AI框架有TensorFlow(由Google开发)和PyTorch(由Meta开发)。AI广泛应用于医疗(如影像诊断)、金融(如风控模型)和自动驾驶(如Tesla Autopilot)等领域。伦理问题如数据隐私和算法偏见是当前AI发展的挑战,欧盟通过《人工智能法案》对其进行规范。

数据结果:

执行完命令会生成一个html文件,使用浏览器打开即可进行交互式操作。

 三、项目的简单分析(本人较菜勿喷)

├── config.toml                     # 系统主配置文件
├── generate-graph.py               # 直接运行时作为脚本的入口点
├── pyproject.toml                
├── requirements.txt                # 供'pip'用户使用的Python依赖项
├── uv.lock                         # 供'uv'用户使用的Python依赖项锁定文件
└── src/                   ├── generate_graph.py           # 作为模块运行时的主入口脚本└── knowledge_graph/          ├── __init__.py           ├── config.py           ├── entity_standardization.py # 实体标准化算法模块├── llm.py                  # 大语言模型交互与响应处理模块├── main.py                 # 主程序流程与调度模块├── prompts.py              # 集中管理的LLM提示词库├── text_utils.py           # 文本处理和分块工具集├── visualization.py        # 知识图谱可视化生成器└── templates/              # 可视化HTML模板目录└── graph_template.html # 交互式图谱基础模板

`entity_standardization.py`文件

主要进行实体标准化 、实体关系推理,和其他一些辅助操作。比如使用LLM解析实体、对谓词进行限制、以及基于规则的关系推理等。

`llm.py `文件

主要进行和大模型的交互和对input文件的简单处理。

`text_utils.py `文件

主要是对txt文件进行分块操作,处理txt为chunks,方便llm进行理解和分析。

`visualization.py`文件

主要是对分析出的结果做可视化操作。

`prompts.py`文件

主要通过不同阶段的提示词进行对实体和关系进行不断的优化。

四、prompt解析(对prompts.py解析)

阶段1:主提取提示词 

系统提示词

  • role知识提取和知识图谱生成的专家AI系统

  • skill:识别一致的实体引用和有意义的文本关系

  • output:所有关系谓词(predicate)不得超过3个单词(最好是1-2个单词)

用户提示词

  • target:从文本中识别主语-谓语-宾语(S-P-O)关系

  • rule:

    • 实体一致性:对同一实体使用统一命名(如"John Smith"的各种变体统一为标准形式)

    • 原子性术语:保持术语最小化,不合并多个概念

    • 代词消解:将代词替换为实际指代的实体

    • 成对关系:为每个有意义的实体对创建三元组

    • 谓词限制:严格保持谓词1-3个单词

    • 术语标准化:对同一概念的不同表达使用最常用形式

    • 大小写处理:所有文本转为小写

  • output:仅输出JSON格式的三元组数组
阶段2:实体标准化提示词

系统提示词

  • role:实体解析和知识表示专家

  • task:标准化知识图谱中的实体名称以确保一致性

用户提示词

  • input:实体名称列表(可能包含同一实体的不同表达形式)

  • rule

    • 识别指向同一实体的变体名称(如"AI"和"artificial intelligence")

    • 为标准名称选择最完整或最常用的形式

    • 仅对需要标准化的实体进行分组

  • output

    • JSON格式,键为标准名称,值为所有变体名称的数组

阶段3:社区关系推理提示词

系统提示词

  • role:知识表示和推理专家

  • task:推断知识图谱中不连接实体间的合理关系

用户提示词生成函数

  • input

    • 两个不连接社区的实体列表

    • 涉及这些实体的现有关系(上下文)

  • rule

    • 仅推断高度合理的关系(避免猜测)

    • 谓词严格限制为1-3个单词(如"invented by"、"located in")

    • 避免自引用(subject ≠ object)

  • output

    • JSON数组,每个对象为三元组(subject-predicate-object)

阶段4:社区内关系推理提示词

系统提示词

  • role:知识表示和推理专家

  • task:推断语义相关但未直接连接的实体间关系

用户提示词生成函数

  • input

    • 可能相关的实体对列表(如共享词汇或语义相似)

    • 涉及这些实体的现有关系(上下文)

  • rule

    • 基于语义相似性推断关系(如"capitalism"和"capitalist economy")

    • 谓词严格限制为1-3个单词(如"type of"、"related to")

    • 避免自引用(subject ≠ object)

  • output

    • JSON数组,每个对象为三元组(subject-predicate-object)

五、什么是提示词(prompt)

prompt,简单的理解它是给 AI 模型的指令

任何你希望解决的问题通过文字形式表达出来,作为Prompt传递给AI模型(在ChatGPT等GPT产品中目前是文字形式,未来可能有图像,语音,视频等多形式),AI 模型会基于 prompt 所提供的信息,生成对应的文本、图片甚至视频等信息。

比如,在 ChatGPT 里最下方的对话框Send a message... 处,这里就是我们输入Prompt的位置,所输入的内容就是Prompt。

 提示词特点

1)清晰

清晰的提示词能让 ChatGPT 更准确地理解用户的问题和需求,从而提供更精确的答案和建议。模糊或含糊不清的提示词可能导致AI理解错误或给出不相关的回答。

✅ 正面例子:如何提高英语口语水平?(这个提示词明确表达了用户想了解的信息,即提高英语口语的方法。)

❌ 反面例子:我怎么学英语啊?(这个提示词模糊,没有明确指出是要提高哪方面的英语能力,如听力、口语、阅读还是写作。)

2)聚焦

聚焦的提示词有助于ChatGPT快速定位用户的需求,从而提供更具针对性的回答。如果提示词包含多个问题或太过宽泛,AI可能无法全面解答,或给出过于笼统的回应。

✅ 正面例子:哪些因素会影响房价?(这个提示词明确了关注点,即房价的影响因素。)

❌ 反面例子:房子怎么样?(这个提示词过于宽泛,没有明确关注的方面,如房价、地理位置、建筑质量等。)

3)相关

相关的提示词能确保AI提供的信息和建议与用户的需求密切相关,提高用户满意度。不相关的提示词可能导致ChatGPT给出与用户需求无关的回答,浪费时间和资源。

✅ 正面例子:如何有效管理时间?(这个提示词与提高时间管理能力密切相关,有助于获得实用的建议。)

❌ 反面例子:我今天好累,怎么办?(这个提示词与实际问题关联不大,可能导致AI给出与用户需求无关的回答。)(摘自下面的推荐课程)

注 :优秀的提示词能让大模型的回答上一个台阶

提示词推荐课程 推荐课程 :https://www.datawhale.cn/learn/summary/1


 

相关文章:

[推荐]AI驱动的知识图谱生成器(AI Powered Knowledge Graph Generator)

网址:https://github.com/robert-mcdermott/ai-knowledge-graph# 一、介绍 简介:以非结构化文本文档为输入,使用您选择的LLM以主语-谓语-宾语 (SPO) 三元组的形式提取知识,并将这些关系可视化为交互式知识图谱 特点&#xff1a…...

波束形成(BF)从算法仿真到工程源码实现-第七节-关于波束10个基本概念

一、波束10个基本概念 1.作用: 对多路麦克风信号进行合并处理,抑制非目标方向的干扰信号,增强目标方向的声音信号。 2.原理: 调整相位阵列的基本单元参数,使得某些角度的信号获得相长干涉,而另一些角度的…...

深度学习(第一集)

123 import torch# 创建一个需要计算梯度的张量 x1 torch.tensor([2.0], requires_gradTrue)# 定义一个简单的函数 y x^2 y x1 ** 4# 计算梯度 y.backward()print("x1.grad 的值:", ) # 打印 x1.grad print("x1.grad 的值:", x1…...

Spring 事务传播行为

在Spring框架中,事务传播行为(Transaction Propagation)定义了事务在多个方法调用之间的行为方式。理解这些传播行为对于设计可靠的事务管理策略至关重要。以下是Spring支持的七种事务传播行为及其应用场景的详细说明: 1. REQUIRED(默认) 行为:如果当前存在事务,则加入…...

搬运机器人的基本工作场景及原理

搬运机器人广泛应用于工业生产中,主要用于搬运、堆放、装配等工作。它通过机械手臂的运动,结合机器视觉技术完成各种自动化作业。 一、搬运机器人的设计原理 搬运机器人通常采用可移动门架式结构,手臂承载机构安装在导轨上,可以沿…...

Ubuntu终端中常用的快捷键整理

1. 导航与编辑 光标移动: Ctrl A:跳转到行首。 Ctrl E:跳转到行尾。 Alt B:向左移动一个单词(或 Ctrl ←)。 Alt F:向右移动一个单词(或 Ctrl →)。 删除操作…...

mysql安装-MySQL MGR(Group Replication)+ ProxySQL 架构

文章目录 前言一、环境规划二、安装 MySQL 8.0.36(主库,CentOS 9)2.1 添加 Yum 源2.2 安装 MySQL 8.0.362.3 初始化 三、配置主库 my.cnf(192.168.1.101)四、(可选)创建远程可访问的用户&#x…...

Opencv使用cuda实现图像处理

main.py import os import cv2 print(fOpenCV: {cv2.__version__} for python installed and working) image cv2.imread(bus.jpg) if image is None:print("无法加载图像1") print(cv2.cuda.getCudaEnabledDeviceCount()) cv2.cuda.setDevice(0) cv2.cuda.printCu…...

ubuntu 安装samba

ubuntu 版本:Ubuntu 24.04.2 LTS 1. 保证连网 2. 安装samba sudo apt install samba 在安装结束以后,我们可以使用下面的命令来查看安装: apt list | grep samba freeipa-client-samba/noble 4.11.1-2 amd64 ldb-tools/noble 2:2.8.0samba…...

山东大学软件学院创新项目实训开发日志(12)之将对话记录保存到数据库中

在之前的功能开发中,已经成功将deepseekAPI接口接入到springbootvue项目中,所以下一步的操作是将对话和消息记录保存到数据库中 在之前的开发日志中提到数据库建表,所以在此刻需要用到两个表,conversation表和message表&#xff…...

欢乐力扣:反转链表二

文章目录 1、题目描述2、思路 1、题目描述 反转链表二。  给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的链表 。 2、思路 参考官方题解&#xff0c;基本思路…...

【CS*N是狗】亲测可用!!WIN11上禁用Chrome自动更新IDM插件

现象&#xff1a;每次打开chrome后IDM会弹出提示插件版本不一致。经过排查后发现是chrome把IDM插件给更新了&#xff0c;导致IDM提示版本不匹配。经过摸索后&#xff0c;得到了可行的方案。 第一步&#xff0c;打开Chrome&#xff0c;把IDM插件卸载掉&#xff0c;然后重新安装I…...

Linux:DNS服务配置(课堂实验总结)

遇到的问题&#xff0c;都有解决方案&#xff0c;希望我的博客能为你提供一点帮助。 操作系统&#xff1a;rocky Linux 9.5 ​​一、配置DNS服务器的核心步骤​​ 步骤 1&#xff1a;安装 BIND 软件​​ ​​检查是否安装​​&#xff1a; rpm -qa | grep "^bind"…...

啥是Spring,有什么用,既然收费,如何免费创建SpringBoot项目,依赖下载不下来的解决方法,解决99%问题!

一、啥是Spring&#xff0c;为啥选择它 我们平常说的Spring指的是Spring全家桶&#xff0c;我们为什么要选择Spring&#xff0c;看看官方的话&#xff1a; 意思就是&#xff1a;用这个东西&#xff0c;又快又好又安全&#xff0c;反正就是好处全占了&#xff0c;所以我们选择它…...

【LeetCode】算法详解#4 ---合并区间

1.题目介绍 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 1 < intervals.length < 104interval…...

安装树莓派3B+环境

目录 一、安装树莓派3B环境 1.1 格式化SD卡 1.2 环境安装与配置 1.2.1 安装Raspberry Pi 1.2.2 SSH访问树莓派 1.3 创建用户账号 二、在树莓派上用C和Python编程运行一个简单的程序 2.1 C语言程序 2.2 Python程序 三、总结 树莓派是一款功能强大的微型计算机&#xf…...

​​STM32(3.3V 系统)通过串口直接向 ATmega328P(5V 系统)发送数据​​,居然能正常通信

​​核心结论​​ 如果 ​​STM32&#xff08;3.3V 系统&#xff09;通过串口直接向 ATmega328P&#xff08;5V 系统&#xff09;发送数据​​&#xff0c;​​3.3V 的 TX 高电平可能无法被 ATmega328P 可靠识别为逻辑“1”​​&#xff01;以下是详细分析&#xff1a; ​​1.…...

Java 8中的Lambda 和 Stream (from Effective Java 第三版)

42.Lambda 优先于匿名类 在之前的做法中&#xff08;Historically&#xff09;&#xff0c;使用单个抽象方法的接口&#xff08;或很少的抽象类【只有一个抽象方法的抽象类数量比较少】&#xff09;被用作函数类型。它们的实例称为函数对象&#xff0c;代表一个函数或一种行为。…...

MIPI协议介绍

MIPI协议介绍 mipi 协议分为 CSI 和DSI,两者的区别在于 CSI用于接收sensor数据流 DSI用于连接显示屏 csi分类 csi 分为 csi2 和 csi3 csi2根据物理层分为 c-phy 和 d-phy, csi-3采用的是m-phy 一般采用csi2 c-phy 和 d-phy的区别 d-phy的时钟线和数据线是分开的,2根线一对…...

深入解析 HTML 中 `<script>` 标签的 async 和 defer 属性

一、背景与问题 在网页性能优化中&#xff0c;脚本的加载和执行方式直接影响页面渲染速度和用户体验。传统 <script> 标签的阻塞行为可能导致页面“白屏”&#xff0c;而 async 和 defer 属性提供了非阻塞的解决方案。本周重点研究二者的差异、适用场景及实际应用。 二、…...

【从0到1学Elasticsearch】Elasticsearch从入门到精通(上)

黑马商城作为一个电商项目&#xff0c;商品的搜索肯定是访问频率最高的页面之一。目前搜索功能是基于数据库的模糊搜索来实现的&#xff0c;存在很多问题。 首先&#xff0c;查询效率较低。 由于数据库模糊查询不走索引&#xff0c;在数据量较大的时候&#xff0c;查询性能很差…...

2.0 全栈运维管理:Linux网络基础核心概念解析、Proxmox网络组件详解、虚拟化网络模型分类

本文是Proxmox VE 全栈管理体系的系列文章之一&#xff0c;如果对 Proxmox VE 全栈管理感兴趣&#xff0c;可以关注“Proxmox VE 全栈管理”专栏&#xff0c;后续文章将围绕该体系&#xff0c;从多个维度深入展开。 摘要&#xff1a;Linux 网络基础借助桥接、VLAN 和 Bonding 实…...

案例驱动的 IT 团队管理:创新与突破之路: 第四章 危机应对:从风险预见到创新破局-4.1.3重构过程中的团队士气管理

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章大纲 案例驱动的 IT 团队管理&#xff1a;创新与突破之路 - 第四章 危机应对&#xff1a;从风险预见到创新破局4.1.3 重构过程中的团队士气管理1. 技术债务重构与团队士气的矛盾2…...

洛谷刷题小结

#include <iostream> using namespace std; int n, m,ans0; char s[105][105]; //深搜 void dfs(int x, int y) {//将搜索到的水坑看为干地s[x][y] .;//确定八个方向int next[8][2] {{0,1},{0,-1},{1,0},{-1,0},{1,1},{1,-1},{-1,1},{-1,-1},};//朝八个方向搜索for (in…...

Android Compose 权限申请完整指南

Android Compose 权限申请完整指南 在 Jetpack Compose 中处理运行时权限申请需要结合传统的权限 API 和 Compose 的状态管理。以下是完整的实现方案&#xff1a; 1. 基本权限申请流程 添加依赖 implementation "com.google.accompanist:accompanist-permissions:0.34…...

VirtualBox虚拟机转换到VMware

VirtualBox虚拟机转换到VMware **参考文章&#xff1a;**https://blog.csdn.net/qq_30054403/article/details/123451969 一.找到对应文件位置 Windows11系统&#xff0c;VirtualBox版本为6.1.50&#xff0c;VMware版本为17.5.2 1.首先找到自己需要转换的vdi文件位置 D:\v…...

Spring Boot(二十二):RedisTemplate的List类型操作

RedisTemplate和StringRedisTemplate的系列文章详见&#xff1a; Spring Boot&#xff08;十七&#xff09;&#xff1a;集成和使用Redis Spring Boot&#xff08;十八&#xff09;&#xff1a;RedisTemplate和StringRedisTemplate Spring Boot&#xff08;十九&#xff09;…...

【MySQL】关于何时使用start slave和start slave user=‘’ password=‘’

这个问题是我在配置三个服务器的复制拓扑时&#xff0c;一开始没有给复制用户 repl 创建密码&#xff0c;搭建好循环拓扑后&#xff0c;给server1的复制用户通过 ALTER USER USER() IDENTIFIED BY oracle 设置了密码&#xff0c;然后同步给了server2和server3。 这时server2突…...

(个人题解)第十六届蓝桥杯大赛软件赛省赛C/C++ 研究生组

宇宙超级无敌声明&#xff1a;个人题解&#xff08;好久不训练&#xff0c;赛中就是一个憨憨&#xff09; 先放代码吧&#xff0c;回头写思路。 文章目录 A. 数位倍数B. IPv6C. 变换数组D. 最大数字E. 冷热数据队列F. 01串G. 甘蔗H. 原料采购 A. 数位倍数 问&#xff1a; 在1至…...

GitLab + Jenkins + .Net8 实现CICD部署

前提条件&#xff1a;需要安装好 Jenkins 和 GitLab 。 1. Jenkins配置 登录 Jenkins 找到自己的一个任务&#xff0c;点击配置&#xff08;没有任务就新建&#xff09;。 按图操作 点击高级展开后截图&#xff0c;点击生成Token 配置好自己的作业&#xff08;我的是一个 .Ne…...

AI工具导航 快速找到喜欢的AI工具 功能使用介绍

此篇文章内容来源CTO Plus技术服务栈官网&#xff1a;http://www.mdrsec.com/ 在人工智能技术迅猛发展的2025年&#xff0c;AI工具的数量和种类呈爆炸式增长&#xff0c;涵盖文本生成、图像创作、视频编辑、编程辅助等多个领域。面对琳琅满目的AI工具&#xff0c;如何高效筛选和…...

[题解] Educational Codeforces Round 168 (Rated for Div. 2) E - level up

链接 思路 1 注意到在 k ∈ [ 1 , n ] k \in [1,n] k∈[1,n] 可以得到的最高等级分别为: n , n 2 , n 3 . . . . . n n n,\frac{n}{2},\frac{n}{3}.....\frac{n}{n} n,2n​,3n​.....nn​, 总的个数是一个调和级数, s u m n ∗ ln ⁡ n sumn*\ln n sumn∗lnn, 完全可以处…...

达梦数据库-学习-19-兼容ORACLE相关参数介绍

目录 一、环境信息 二、介绍 三、参数 一、环境信息 名称值CPU12th Gen Intel(R) Core(TM) i7-12700H操作系统CentOS Linux release 7.9.2009 (Core)内存4G逻辑核数2DM版本1 DM Database Server 64 V8 2 DB Version: 0x7000c 3 03134284194-202…...

如何通过 Spring 层面进行事务回滚?

Spring 中事务可以分为声明式事务和编程式事务&#xff0c;那么解下来就从这两方面说一说在 Spring 层面个怎么进行回滚 声明式事务回滚&#xff1a; 1. 基础注解配置 通过Transactional注解实现自动回滚&#xff0c;默认对RuntimeException和Error生效 Transactional publ…...

学Qt笔记

使用的是Qt SDK5.14.0 根据比特汤众老师的课程学习 先叠个甲&#xff1a;本人正在学qt&#xff0c;视角还不完备&#xff0c;如有错误请多多包含 选了widget开始学习 1.qt creator设计提供了拖拽式的编辑ui的控件&#xff0c;和代码直接编辑构建的方式 2.浅浅的认识了qt的对…...

【HarmonyOS 5】鸿蒙实现手写板

​ 【HarmonyOS 5】鸿蒙实现手写板 一、前言 实现一个手写板功能&#xff0c;基本思路如下&#xff1a; 创建一个可交互的组件&#xff0c;用户在屏幕上触摸并移动手指时&#xff0c;会根据触摸的位置动态生成路径&#xff0c;并使用黑色描边绘制在屏幕上。当用户按下屏幕时…...

JavaWeb 课堂笔记 —— 09 MySQL 概述 + DDL

本系列为笔者学习JavaWeb的课堂笔记&#xff0c;视频资源为B站黑马程序员出品的《黑马程序员JavaWeb开发教程&#xff0c;实现javaweb企业开发全流程&#xff08;涵盖SpringMyBatisSpringMVCSpringBoot等&#xff09;》&#xff0c;章节分布参考视频教程&#xff0c;为同样学习…...

设计模式 --- 访问者模式

访问者模式是一种行为设计模式&#xff0c;它允许在不改变对象结构的前提下&#xff0c;定义作用于这些对象元素的新操作。 优点&#xff1a; 1.​​符合开闭原则&#xff1a;新增操作只需添加新的访问者类&#xff0c;无需修改现有对象结构。 ​​2.操作逻辑集中管理​​&am…...

【Linux C】简单bash设计

主要功能 循环提示用户输入命令&#xff08;minibash$&#xff09;。创建子进程&#xff08;fork()&#xff09;执行命令&#xff08;execlp&#xff09;。父进程等待子进程结束&#xff08;waitpid&#xff09;。关键问题 参数处理缺失&#xff1a;scanf("%s", buf)…...

如何在Agent中设置Memory

什么是LLM代理&#xff1f; LLM代理可以被定义为能够对环境采取行动的大型语言模型。代理的主要组成部分包括&#xff1a;记忆、规划、提示、知识和工具。大型语言模型可以被视为这个架构的大脑&#xff0c;而其他所有组件则是代理正常工作的基础模块。 代理的组成部分 1. 提…...

【强化学习-蘑菇书-3】马尔可夫性质,马尔可夫链,马尔可夫过程,马尔可夫奖励过程,如何计算马尔可夫奖励过程里面的价值

欢迎去各大电商平台选购纸质版蘑菇书《Easy RL&#xff1a;强化学习教程》 文章是根据 蘑菇书EasyRL &#xff0c;网络查找资料和汇总&#xff0c;以及新版本的python编写的可运行代码和示例&#xff0c;包含了一些自己对书内容的简单理解 一、 马尔可夫性质 在随机过程中&a…...

leetcode 718 最长公共子数组

这个题目和最长公共子数组&#xff0c;类似于镜像题&#xff0c;子问题比较难想。对于 d p [ i ] [ j ] dp[i][j] dp[i][j] &#xff0c;定义为分别以 i i i 和 j j j 结尾的最长公共子数组&#xff08;公共后缀&#xff09; 核心代码&#xff1a; if(nums1[i-1] nums2[j-…...

【C++】继承:万字总结

&#x1f4dd;前言&#xff1a; 这篇文章我们来讲讲面向对象三大特性之一——继承 &#x1f3ac;个人简介&#xff1a;努力学习ing &#x1f4cb;个人专栏&#xff1a;C学习笔记 &#x1f380;CSDN主页 愚润求学 &#x1f304;其他专栏&#xff1a;C语言入门基础&#xff0c;py…...

java和c#的相似及区别基础对比

用过十几种语言&#xff0c;但是java和c#是最为重要的两门。c#发明人曾主导开发了pascal和delphi&#xff0c;加入微软后&#xff0c;参考了c和java完成了c#和net。大家用过java或c#任意一种的&#xff0c;可以通过本篇文章快速掌握另外一门语言。 基础语法 变量声明&#xf…...

TP8 PHP 支付宝-通用版-V3 SDK 接口加签方式为证书方式

TP8 已安装支付宝-通用版-V3 SDK 接口加签方式之前使用密钥方式&#xff0c;现在要使用证书 官方文档小程序文档 - 支付宝文档中心 SDK源码仓库https://github.com/alipay/alipay-sdk-php-all/tree/master/v3 第一步&#xff1a;生成证书 需要先下载支付宝官方工具&#xff1a…...

地毯填充luogu

P1228 地毯填补问题 题目描述 相传在一个古老的阿拉伯国家里,有一座宫殿。宫殿里有个四四方方的格子迷宫,国王选择驸马的方法非常特殊,也非常简单:公主就站在其中一个方格子上,只要谁能用地毯将除公主站立的地方外的所有地方盖上,美丽漂亮聪慧的公主就是他的人了。公主…...

数据查询语言

一、DQL基础语法与执行逻辑 1.SELECT语句结构 (1)核心语法: SELECT 列名 FROM 表名 WHERE 条件 ,用于指定返回的字段和筛选行。例如, SELECT name, age FROM emp WHERE age > 25 筛选年龄大于25岁的员工姓名和年龄。 (2)执行顺序: FROM → WHERE → GROUP BY → HAV…...

【NLP】18. Encoder 和 Decoder

1. Encoder 和 Decoder 概述 在序列到序列&#xff08;sequence-to-sequence&#xff0c;简称 seq2seq&#xff09;的模型中&#xff0c;整个系统通常分为两大部分&#xff1a;Encoder&#xff08;编码器&#xff09;和 Decoder&#xff08;解码器&#xff09;。 Encoder&…...

基于Cline和OpenRouter模型进行MCP实战

大家好,我是herosunly。985院校硕士毕业,现担任算法工程师一职,获得CSDN博客之星第一名,热衷于大模型算法的研究与应用。曾担任百度千帆大模型比赛、BPAA算法大赛评委,编写微软OpenAI考试认证指导手册。曾获得多项AI顶级比赛的Top名次,其中包括阿里云、科大讯飞比赛第一名…...

Elasticsearch 故障转移及水平扩容

一、故障转移 Elasticsearch 的故障转移&#xff08;Failover&#xff09;机制是其高可用性的核心&#xff0c;通过分布式设计、自动检测和恢复策略确保集群在节点故障时持续服务。 1.1 故障转移的核心组件 组件作用Master 节点管理集群状态&#xff08;分片分配、索引创建&…...