一文解锁大语言模型(LLMs)终极玩法(2025企业级实战教程)从零基础入门到精通,看这一篇就够了!
前言
知识图谱是一种强大的信息表达方式,由“实体”(节点)及它们之间的“关系”(边)组成,使我们能够比纯文本更直观地洞察事物之间的关联。
传统上,从原始文本构建知识图谱十分耗时且复杂:既要识别实体及其关系,又要编写提取规则或训练专用的机器学习模型。近年来,大语言模型(LLMs)凭借其出色的自然语言理解能力,提供了一种更加灵活、高效的替代方案。LLMs 能直接读取自由文本并输出结构化信息,使我们能够将其集成到自动化流水线中,一键生成知识图谱。
本文将介绍我设计的一个学习项目:构建一条基于 LLM 的管道,将非结构化文本转化为可交互的网页知识图谱。项目所有代码均托管于 AI-Knowledge-Graph 仓库[1]。
示例说明
以下示例展示了该项目的核心能力。假设我们提供这段非结构化文本作为输入:
Henry,一位来自加拿大的才华横溢的音乐家,最初在著名指挥家 Maria Rodriguez 门下学习古典钢琴。后来,Henry 与他的妹妹 Lucy(Lucy 曾在多伦多大学学习作曲)组成了摇滚乐队 The Maple Leaves。 The Maple Leaves 于 2020年8月12日 发布首张专辑《Polar Lights》,因巧妙融合古典与摇滚风格而赢得好评。
Lucy 投身环保事业,担任 Clean Earth 的地区大使,倡导更严格的野生动物保护法。Henry 受其感染,开始在家乡动物收容所做志愿者。
尽管兄妹二人在创作理念上最初存在分歧,但最终通过将 Lucy 的古典作曲与 Henry 的摇滚吉他即兴结合,达成完美和谐。
2021年,The Maple Leaves 在欧洲巡演,于巴黎、柏林、罗马等地举办多场售罄演出。巡演期间,Henry 对国际美食产生浓厚兴趣,并与当地厨师合作,拍摄了一部短纪录片,展示各地烹饪技法。
ai-knowledge-graph 工具会调用你配置的 LLM,从上述文本中自动提取“实体—关系”对,并生成一个交互式 HTML 知识图谱,效果示例如下:

示例:AI-Knowledge-Graph 生成的知识图谱
架构概述:工作流程
•文本分块:自动将大型文档拆分成可管理的小块,便于后续处理。•知识抽取:使用大语言模型(LLM)识别并提取每个文本块中的主谓宾三元组(事实)。•实体标准化:将同一实体的不同表述(如 “AI” 与 “artificial intelligence”)统一为一个标准名称。•关系推断:借助简单的逻辑规则(例如传递性)和 LLM 推理,补充推断出跨块未直接连接的关系。•交互式可视化:在浏览器中以交互式网络的形式展示最终图谱,支持节点拖拽、缩放和详情查看。

高层次展示“文本 → 知识图谱”转换管道
详细工作流程
1. 文本分块
由于 LLM 存在上下文窗口限制(本地系统也受内存约束),工具会先将大篇幅文本切分为若干小块(例如每块 500 字,且带有一定重叠)。重叠部分可确保边界句子的上下文连贯性。每个文本块随后被发送给 LLM,并附带提示,要求其提取该块中的 SPO(三元组)事实。
2. 基于 LLM 的知识抽取
对每个文本块,工具会让 LLM 输出一个 JSON 数组,列出所有提取到的三元组及其所在的块编号。示例:
[{"subject":"eli whitney","predicate":"invented","object":"cotton gin","chunk":1},{"subject":"Industrial Revolution","predicate":"reshapes","object":"economic systems","chunk":1},{"subject":"amazon","predicate":"transformed","object":"retail","chunk":3}]
提示中强调:
•对同一实体使用一致的名称•关系短语保持简洁(1–3 个词)•不要使用代词引用
将所有分块提取出的三元组合并后,就得到了初步的“原始”知识图谱。
3. 在分块间标准化实体
提取完毕后,常会出现同一实体的多种写法(例如 “AI”、“A.I.”、“artificial intelligence”)。为避免节点碎片化或重复,工具提供了实体标准化步骤:
1.基本归一化•全部小写•去除首尾空白•合并明显重复的名称2.高级标准化(可选)•启用后,LLM 会将可能指向同一实体的不同描述聚类为同一个规范名称。•例如 “New York”、“NYC” 与 “New York City” 会合并为一个节点•“United States”、“U.S.” 与 “USA” 会合并为另一个节点•建议开启以提高图谱一致性;如需保留“纯粹”原始提取,可在配置文件中禁用此功能。
4. 推断隐藏关系,丰富图谱
即便对文本进行了全面抽取,也可能漏掉一些隐含的关联。工具通过两种方式补充此类关系:
1.规则驱动推断•传递性关系•如果 A “enables” B,且 B “drives” C,则可推断 A “influences” C•词汇相似性•名称相近的实体可自动建立通用的 “related to” 关系2.LLM 辅助推断•向 LLM 提示,让其在未连接的子图之间提出可能的关联。•例如,一个子图聚焦“工业革命”,另一个子图关注“AI”,LLM 可能推断出:“AI 是源于工业革命时期技术创新的发展成果”。•这些推断关系在可视化时会用虚线标记,以区分于显式陈述的事实。
注意:
•如需仅展示文本直接抽取的关系,可在配置文件中关闭推断步骤。•推断关系条目不包含
chunk字段,而是增加一个inferred: true属性,用于渲染时区分。
示例推断关系格式:
[{"subject":"electrification","predicate":"enables","object":"Manufacturing Automation","inferred":true},{"subject":"tim berners-lee","predicate":"expanded via internet","object":"information sharing","inferred":true}]
5. LLM 提示模板
当启用所有选项时,会向 LLM 发送以下四个提示。首先是主体-谓词-宾语(SPO)知识抽取提示。
一、抽取系统提示(System Prompt)
你是一名专注于知识抽取与知识图谱生成的高级 AI 系统。你的专长包括在文本中识别一致的实体引用和有意义的关系。关键指令:所有关系(谓词)最多不超过3个单词。理想长度为1–2个单词。这是硬性要求。
二、抽取用户提示(User Prompt)
任务:阅读下方以三重反引号包裹的文本,识别每句话中的所有主体-谓词-宾语(S-P-O)关系。然后输出一个 JSON 数组,每个对象表示一个三元组。请严格遵循以下规则:-实体一致性:全文使用统一的实体名称。例如,“JohnSmith”若被称作“John”、“Mr.Smith”和“JohnSmith”,都应统一为最完整形式。-原子术语:识别独立关键术语(如对象、地点、机构、缩写、人名、概念、情感等),避免将多个概念合并成一个术语。-消除代词:将“he”、“she”、“it”、“they”等代词替换为实际实体(若可识别)。-配对关系:若多个术语在同一句或同一上下文段落中关联,针对每个有意义的配对生成一个三元组。-关键指令:谓词最多1–3个单词,绝对不能超过3个单词,务必保持极简。-确保识别并捕获文本中所有可能的关系。-术语标准化:若同一概念存在细微变体(如“artificial intelligence”与“AI”),全文统一使用最常见或规范形式。-所有 S-P-O 文本均转换为小写,包括人名与地名。-若文中出现人物,若上下文提供其地点、职业或代表作(如发明、著作、创立、职称等),应生成相应关系。重要注意事项:-实体命名要精准,区分相似实体。-最大化节点连通性,同一概念务必使用相同名称。-捕捉整个文本上下文,确保实体引用准确。-所有谓词必须≤3个单词,此为硬性要求。输出要求:-不要包含任何注释或额外文字,仅返回 JSON 数组。-每个三元组用对象表示,包含"subject"、"predicate"和"object"三个字段。-确保输出为合法且格式正确的 JSON。
除了前述的四个提示外,项目中还有三个用于实体标准化和关系推断的提示模板。你可以在 src/knowledge_graph/prompts.py[2] 文件中查看并根据需要调整它们。
6. 交互式图谱可视化
在完成对所有 SPO 三元组(包括原始与推断)提取后,工具会调用 PyVis(Vis.js 的 Python 接口)生成一个交互式 HTML 可视化页面。打开输出文件后,你将看到:
•颜色编码的社区:同一聚类内的节点颜色一致,通常对应文本中的子主题或主题。•节点大小表示重要性:连接数多或中心性高的节点会显示得更大。•边线样式:•实线:文本直接提取的关系•虚线:推断得到的关系•交互控件:支持平移、缩放、拖拽节点;可切换物理引擎;切换亮/暗模式;按需过滤视图。
这样的交互式图谱能让你以直观且美观的方式探索实体及其关联。
7. 程序流程
下面是工具的基本执行流程(更多细节请参见仓库 README.md 中的流程图):

安装 AI-Knowledge-Graph
要在本地运行该工具,请确保满足以下环境要求并完成依赖安装。
系统与环境要求
•操作系统:Windows、Linux 或 macOS•Python:3.12 及以上•OpenAI 兼容 API 接口(如 Ollama、LiteLLM、LM Studio、OpenAI 订阅等)•Git:用于克隆仓库
安装步骤
1.克隆仓库并进入目录
git clone https://github.com/robert-mcdermott/ai-knowledge-graph.gitcd ai-knowledge-graph
2.安装依赖
•使用 uv:
uv sync
•或使用 pip:
pip install -r requirements.txt
完成以上步骤后,即可运行示例脚本,将任意非结构化文本转为交互式知识图谱。
配置 AI-Knowledge-Graph
编辑 config.toml 文件,以根据你的需求进行调整。在此文件中,你可以配置 LLM 模型、API 端点(URL)、最大内容窗口长度、以及 LLM 的温度参数。以下示例中,我使用的是 Google 的开源 Gemma 3 模型,托管在本地计算机上并通过 Ollama 提供服务。你还可以在此处调整文档分块大小、重叠部分,并选择是否启用实体标准化和关系推断功能。
[llm]model ="gemma3"# 使用的 LLM 模型api_key ="sk-1234"# API 密钥(如果需要)base_url ="http://localhost:11434/v1/chat/completions"# 端点 URLmax_tokens =8192# 最大令牌数temperature =0.2# 温度,控制生成文本的创造性[chunking]chunk_size =200# 每个分块的词数overlap =20# 分块之间重叠的词数[standardization]enabled =true# 是否启用实体标准化use_llm_for_entities =true# 是否使用 LLM 进行额外的实体解析[inference]enabled =true# 是否启用关系推断use_llm_for_inference =true# 是否使用 LLM 进行关系推断apply_transitive =true# 是否应用传递性推断规则[visualization]edge_smooth =false# 是否平滑边缘线(true 或 false)
注意:
•本地使用 LLM 时,可选择 Ollama 或 LM Studio 的 API 端点;•若要接入商业 LLM 提供商(如 AWS Bedrock、Azure、Anthropic、OpenAI 等),可通过 LiteLLM 代理访问。
创建知识图谱
现在你已经安装并配置了 ai-knowledge-graph,并将其指向了你使用的 LLM,你就可以开始创建第一个知识图谱了。首先,获取一个纯文本文档(目前该工具仅支持文本文件),并准备生成知识图谱。
接下来,你需要运行 generate-graph.py 脚本。以下是脚本的帮助信息:
usage: generate-graph.py [-h][--test][--config CONFIG][--output OUTPUT][--input INPUT][--debug][--no-standardize][--no-inference]KnowledgeGraphGeneratorandVisualizeroptions:-h,--help show this help message andexit--test Generate a test visualization with sample data--config CONFIG Path to configuration file--output OUTPUT Output HTML file path--input INPUT Path to input text file (required unless--test is used)--debug Enable debug output (raw LLM responses and extracted JSON)--no-standardize Disable entity standardization--no-inference Disable relationship inference
创建知识图谱示例
假设你有一个名为 mydocument.txt 的文本文件,存放在当前目录,运行以下命令来创建知识图谱:
python generate-graph.py --input mydocument.txt --output mydocument.html
如果你使用的是 uv,则替换命令中的 python 为 uv run。
完整管道运行输出示例
运行上述命令后,控制台会显示如下输出:
python generate-graph.py --input mydocument.txt --output mydocument.htmlUsing input text from file: mydocument.txt==================================================PHASE 1: INITIAL TRIPLE EXTRACTION==================================================Processing text in3 chunks (size:500 words, overlap:50 words)Processing chunk 1/3(500 words)Processing chunk 2/3(500 words)Processing chunk 3/3(66 words)Extracted a total of 73 triples from all chunks==================================================PHASE 2: ENTITY STANDARDIZATION==================================================Startingwith73 triples and106 unique entitiesStandardizing entity names across all triples...Applied LLM-based entity standardization for15 entity groupsRemoved8self-referencing triplesStandardized106 entities into101 standard formsAfter standardization:65 triples and72 unique entities==================================================PHASE 3: RELATIONSHIP INFERENCE==================================================Startingwith65 triplesTop5 relationship types before inference:- pioneered:9 occurrences- invented:7 occurrences- developed:6 occurrences- develops:6 occurrences- was:4 occurrencesInferring additional relationships between entities...Identified18 disconnected communities in the graphInferred27new relationships between communitiesInferred30new relationships between communitiesInferred6new relationships within communitiesInferred8 relationships based on lexical similarityAdded51 inferred relationshipsTop5 relationship types after inference:- invented:7 occurrences- pioneered:6 occurrences- developed:6 occurrences- develops:6 occurrences- related to:6 occurrencesAdded57 inferred relationshipsFinal knowledge graph:116 triplesSaved raw knowledge graph data to mydocument.jsonProcessing116 triples for visualizationFound72 unique nodesFound55 inferred relationshipsDetected12 communities usingLouvain methodKnowledge graph visualization saved to mydocument.htmlKnowledgeGraphStatistics:Nodes:72Edges:116(55 inferred)Communities:12To view the visualization, open the following file in your browser:file:///Users/robertm/mycode/ai-knowledge-graph/mydocument.html
现在,你可以在浏览器中打开生成的 HTML 文件来探索知识图谱。如果你只是跟随阅读,并希望直接查看由该系统创建的知识图谱示例,可以点击以下链接查看一个关于工业革命的文档生成的可视化示例:Industrial-Revolutions.html[3]。
在网页的顶部菜单中,你可以找到控制面板,用于调整布局物理引擎、隐藏或显示节点/边缘标签、查看图谱统计信息,或者选择/过滤节点和边缘。你还可以切换到暗黑模式,如下所示:

调整设置进行实验
实验不同的分块/重叠大小和 LLM 模型,以查看它们带来的不同效果是非常重要的。一般来说,我将重叠设置为分块大小的 10%。较小的文档分块大小(100–200)似乎能提取出更多的关系,但这可能会导致与其他事物和概念/社区之间的关系较少,尤其是当它们被分散在较小的文本块中时。你需要通过实验来找到最适合的分块大小和模型。此外,我相信通过调整提示词(prompts)也能进行许多优化。
小结
本文演示了如何借助大语言模型,省去繁琐的手动规则编写与专用模型训练,将非结构化文本高效地转化为可交互的知识图谱。感兴趣的读者可访问项目仓库,下载示例代码并尝试将自己的文本数据可视化为知识图谱,开启“语义探索”之旅!
如何学习AI大模型 ?
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。【保证100%免费】🆓
这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以扫描下方二维码&点击下方CSDN官方认证链接免费领取 【保证100%免费】
读者福利: 👉👉CSDN大礼包:《最新AI大模型学习资源包》免费分享 👈👈
(👆👆👆安全链接,放心点击)
对于0基础小白入门:
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(全套教程文末领取哈)
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(全套教程文末领取哈)

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战项目来学习。(全套教程文末领取哈)
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(全套教程文末领取哈)
截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(全套教程文末领取哈)
只要你是真心想学AI大模型,我这份资料就可以无偿分享给你学习,我国在这方面的相关人才比较紧缺,大模型行业确实也需要更多的有志之士加入进来,我也真心希望帮助大家学好这门技术,如果日后有什么学习上的问题,欢迎找我交流,有技术上面的问题,我是很愿意去帮助大家的!
这份资料由我和鲁为民博士共同整理,鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位,在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利,同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。


这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以扫描下方二维码&点击下方CSDN官方认证链接免费领取 【保证100%免费】
(👆👆👆安全链接,放心点击)
更多推荐


所有评论(0)