大家好!在本篇博客中,我将带领大家学习知识图谱以及如何利用大模型和自己的文本数据构建一个。
喜欢本文记得收藏、关注、点赞。
什么是知识图谱?
知识图谱,也被称为语义图,是一种智能结构,以高效的方式存储数据。
数据以节点和边的形式存储。如下图所示,节点代表对象,边表示它们之间的关系。知识图谱所代表的数据模型有时被称为资源描述框架(RDF)。RDF定义了在万维网中相互链接站点的方式。
为什么要使用知识图谱?
在整个数据故事中,只有少数数据点是内在的,可以代表整个数据集。因此,知识图谱仅存储重要的数据点。这显著降低了检索时间复杂度,并减少了空间复杂度。
实施步骤
- 安装和导入包
pip install -q langchain openai pyvis gradio==3.39.0
导入已安装的包:
from langchain.prompts import PromptTemplate
from langchain.llms.openai import OpenAI
from langchain.chains import LLMChain
from langchain.graphs.networkx_graph import KG_TRIPLE_DELIMITER
from pprint import pprint
from pyvis.network import Network
import networkx as nx
import gradio as gr
- 设置 API 密钥
从 Open AI 平台仪表板复制 API 密钥,并设置 API 密钥环境变量。
from google.colab import userdata
OPENAI_API_KEY = userdata.get('OPENAI_API_KEY')
- 定义提示
定义用于知识三元提取的提示模板。
- 初始化链
使用描述性提示,使用 LLMChain 类初始化链。
llm = OpenAI(api_key=OPENAI_API_KEY,temperature=0.9)# 使用知识三元提取提示创建 LLMChain
chain = LLMChain(llm=llm, prompt=KNOWLEDGE_TRIPLE_EXTRACTION_PROMPT)
- 构建知识图谱
从字符串输入加载文本数据,并通过用户定义的函数解析检索到的三元组。
- 可视化构建的知识图谱
使用 PyVis 创建精美的可视化效果,并使用 Gradio 框架交互地显示它。
在此过程中,我们使用了一些用户定义的函数来简化任务。
最后,我们通过 Gradio 显示 PyVis 生成的 HTML。
通过简单地将 share=True
添加到 demo.launch(share=True)
方法中,您可以使应用对任何人可见。
这样,我们就通过 Gradio 框架展示了我们的知识图谱,使页面可以轻松与任何在线用户共享链接。
注意:您可以通过使用更高级的LLMs来提高性能。
技术交流&资料
技术要学会分享、交流,不建议闭门造车。一个人可以走的很快、一堆人可以走的更远.
成立了大模型技术交流群,本文完整代码、相关资料、技术交流&答疑,均可加我们的交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。
方式①、微信搜索公众号:机器学习社区,后台回复:加群
方式②、添加微信号:mlc2060,备注:来自CSDN + 技术交流
通俗易懂讲解大模型系列
-
做大模型也有1年多了,聊聊这段时间的感悟!
-
用通俗易懂的方式讲解:大模型算法工程师最全面试题汇总
-
用通俗易懂的方式讲解:不要再苦苦寻觅了!AI 大模型面试指南(含答案)的最全总结来了!
-
用通俗易懂的方式讲解:我的大模型岗位面试总结:共24家,9个offer
-
用通俗易懂的方式讲解:大模型 RAG 在 LangChain 中的应用实战
-
用通俗易懂的方式讲解:一文讲清大模型 RAG 技术全流程
-
用通俗易懂的方式讲解:如何提升大模型 Agent 的能力?
-
用通俗易懂的方式讲解:ChatGPT 开放的多模态的DALL-E 3功能,好玩到停不下来!
-
用通俗易懂的方式讲解:基于扩散模型(Diffusion),文生图 AnyText 的效果太棒了
-
用通俗易懂的方式讲解:在 CPU 服务器上部署 ChatGLM3-6B 模型
-
用通俗易懂的方式讲解:使用 LangChain 和大模型生成海报文案
-
用通俗易懂的方式讲解:ChatGLM3-6B 部署指南
-
用通俗易懂的方式讲解:使用 LangChain 封装自定义的 LLM,太棒了
-
用通俗易懂的方式讲解:基于 Langchain 和 ChatChat 部署本地知识库问答系统
-
用通俗易懂的方式讲解:在 Ubuntu 22 上安装 CUDA、Nvidia 显卡驱动、PyTorch等大模型基础环境
-
用通俗易懂的方式讲解:Llama2 部署讲解及试用方式
-
用通俗易懂的方式讲解:基于 LangChain 和 ChatGLM2 打造自有知识库问答系统
-
用通俗易懂的方式讲解:一份保姆级的 Stable Diffusion 部署教程,开启你的炼丹之路
-
用通俗易懂的方式讲解:对 embedding 模型进行微调,我的大模型召回效果提升了太多了
-
用通俗易懂的方式讲解:LlamaIndex 官方发布高清大图,纵览高级 RAG技术
-
用通俗易懂的方式讲解:为什么大模型 Advanced RAG 方法对于AI的未来至关重要?
-
用通俗易懂的方式讲解:使用 LlamaIndex 和 Eleasticsearch 进行大模型 RAG 检索增强生成
-
用通俗易懂的方式讲解:基于 Langchain 框架,利用 MongoDB 矢量搜索实现大模型 RAG 高级检索方法
-
用通俗易懂的方式讲解:使用Llama-2、PgVector和LlamaIndex,构建大模型 RAG 全流程
参考
-
https://medium.com/@mahimairaja/build-knowledge-graph-from-textdata-using-langchain-under-2min-ce0d0d0e44e8
-
https://www.wisecube.ai/blog/20-real-world-industrial-applications-of-knowledge-graphs/?source=post_page-----ce0d0d0e44e8
-
https://colab.research.google.com/drive/1OpoLyKAWTVpkhy0VgVduprYypIFTSIrL?usp=sharing&source=post_page-----ce0d0d0e44e8