微信扫码
添加专属顾问
Unlocking The Power Of LLM And Knowledge Graph (An Introduction),by Sylvain Peyronnet ,CEO at Babbar / yourtextguru
本文介绍了如何利用LLM和知识图谱的强大功能制作AI助手,并详细解释了RAG和GraphRAG的应用。
通过整合外部API,构建了名为VictorIA的SEO助手,该助手不仅能生成内容、传递SEO行业知识,还能与SaaS工具互动,展示了未来SEO自动化的潜力。
知识图谱的应用与LMI框架的结合为助手的开发提供了重要支持。通过向LLM输入自然语言问题并与API进行交互,构建了一个信息丰富、有结构性的助手。GraphRAG方法虽然提高了答案的完整性,但也带来了一定的延迟。
最终,展示了如何在Jupyter Notebook中逐步构建GraphRAG对话代理。这一工作为助手的未来发展指明了方向,表明辅助工具可能会在SEO领域产生深远影响。
Source:
https://www.searchenginejournal.com/unlocking-the-power-of-llm-knowledge-graph-introduction/518343/
我们正处在一个激动人心的时代,AI 的进步正在改变专业实践。
自发布以来,GPT-3 已经在 SEM 领域的专业人士在他们的与内容相关的任务中“辅助”。
然而,ChatGPT 在 2022 年底的推出引发了朝着创建 AI 助手的运动。
到 2023 年底,OpenAI 推出了 GPTs,结合了指令、额外知识和任务执行。
GPT 为实现个人助理的梦想铺平了道路,现在看来这一目标已经是可以实现的。会话式 LLM 代表了人机界面的理想形式。要开发强大的 AI 助手,必须解决许多问题:模拟推理、避免幻觉,以及增强使用外部工具的能力。
过去几个月里,我和我的两位长期合作伙伴Guillaume和Thomas一直在研究这个课题。我在这里展示我们的第一个原型SEO助手的开发过程。
我们的目标是创建一款助手,能够:
根据简要说明生成内容。
提供关于SEO的行业知识。它应该能够细致回答诸如“每页应该有多个H1标签吗?”或“TTFB是排名因素吗?”这样的问题。
与SaaS工具互动。我们都使用各种复杂程度的图形用户界面工具。通过对话来使用它们可以简化它们的使用。
规划任务(例如,管理一个完整的编辑日历)并执行定期的报告任务(例如创建仪表板)。
对于第一个任务,只要我们能约束它们使用准确的信息,LLM已经非常先进了。
关于规划的最后一点仍然在科幻领域里。
因此,我们专注于将数据整合到助手中,使用RAG和GraphRAG方法以及外部API。
我们首先将基于检索增强生成(RAG)方法创建一个助手。
RAG是一种技术,通过提供外部信息而不是内部结构(其训练)来减少模型的幻觉。直觉上,这就像与一个有搜索引擎访问权限的聪明但失忆的人进行交流。
图像来自作者,2024年6月
为了构建这个助手,我们将使用向量数据库。有许多可用的选项:Redis、Elasticsearch、OpenSearch、Pinecone、Milvus、FAISS 等。我们选择了 LlamaIndex 提供的向量数据库用于我们的原型。
我们还需要一个语言模型集成(LMI)框架。该框架旨在将 LLM 与数据库(和文档)链接起来。在这方面,也有许多选项:LangChain、LlamaIndex、Haystack、NeMo、Langdock、Marvin 等。我们在项目中使用了 LangChain 和 LlamaIndex。
一旦您选择了软件堆栈,实施就相当简单。我们提供文档,框架将其转换为编码了内容的矢量。
有许多技术参数可以改善结果。然而,像 LlamaIndex 这样的专门搜索框架在本机上表现相当出色。
对于我们的概念验证,我们提供了一些法语 SEO 书籍和一些著名 SEO 网站的网页。
使用 RAG 可以减少幻觉并获得更完整的答案。您可以在下一张图片中看到一个本地 LLM 答案的示例以及使用我们的 RAG 的相同 LLM 的答案。
作者提供的图片,2024年6月
我们在这个例子中看到,由RAG提供的信息要比仅由LLM提供的信息稍微完整一些。
RAG 模型通过整合外部文档来增强 LLM,但仍然有困难将这些来源整合在一起,并从大语料库中高效提取最相关的信息。
如果一个答案需要结合来自多个文档的多个信息片段,RAG 方法可能不够有效。为了解决这个问题,我们预处理文本信息以提取其携带的语义底层结构。
这意味着创建一个知识图谱,这是一种数据结构,以图中实体之间的关系进行编码。这种编码以主语-关系-客体三元组形式完成。
在下面的例子中,我们有几个实体及其关系的表示。
图像来自作者,2024年6月
图中描绘的实体是“水獭鲍勃”(命名实体),还有“河流”、“水獭”、“毛皮宠物”和“鱼”。关系显示在图的边缘。
这些数据是有结构的,并表明水獭鲍勃是一只水獭,水獭生活在河流中,吃鱼,并且是毛皮宠物。知识图非常有用,因为它们允许进行推理:我可以从这个图推断出水獭鲍勃是一只毛皮宠物!
构建知识图谱是使用NLP技术长期以来一直在进行的任务。然而,LLM通过其处理文本的能力有助于创建这样的图谱。因此,我们将要求一个LLM创建知识图谱。
作者提供的图片,2024年6月
当然,正是LMI框架有效地引导LLM执行这项任务。我们在项目中使用了LlamaIndex。
此外,使用GraphRAG方法时,我们助手的结构变得更加复杂(请参见下图)。
作者提供的图片,2024年6月
稍后我们将回到工具API集成,但其他方面,我们看到了一个RAG方法的要素,以及知识图谱。请注意“提示处理”组件的存在。
这是助手代码的一部分,它首先将提示转换为数据库查询。然后,它通过从知识图谱输出中制作人类可读的响应来执行相反的操作。
下图显示了我们用于提示处理的实际代码。您可以在这张图片中看到,我们使用了NebulaGraph,这是第一个部署GraphRAG方法的项目之一。
作者提供的图片,2024年6月
可以看到提示非常简单。事实上,大部分工作都是由LLM本地完成的。LLM越好,结果也就越好,即使是开源的LLM也能提供高质量的结果。我们已经使用了在RAG中使用的相同信息来供给知识图谱。答案的质量更好了吗?让我们以同一个例子来看一下。
作者提供的图片,2024年6月
我让读者来判断这里提供的信息是否比以前的方法更好,但我觉得它更有结构和完整性。然而,GraphRAG的缺点是获取答案的延迟(稍后我会再谈到这个用户体验问题)。
在这一点上,我们有一个助手可以更准确地撰写和传递知识。但我们也希望让助手能够从 SEO 工具中传递数据。为了实现这一目标,我们将使用 LangChain 以自然语言交互 API。
这是通过向 LLM 解释如何使用给定的 API 的函数来完成的。对于我们的项目,我们使用了 babbar.tech 工具的 API(完全披露:我是开发该工具的公司的首席执行官)。
作者提供的图片,2024年6月
上面的图片展示了助手如何收集关于特定URL的链接度量信息。然后,我们在框架级别(这里是LangChain)指出该功能是可用的。
tools = [StructuredTool.from_function(get_babbar_metrics)]
agent = initialize_agent(tools, ChatOpenAI(temperature=0.0, model_name="gpt-4"),
agent=AgentType.CONVERSATIONAL_REACT_DESCRIPTION, verbose=False, memory=memory)这三行代码将从上述功能中设置一个LangChain工具,并初始化一个用于制作有关数据答案的对话。请注意,温度为零。这意味着GPT-4将输出直接的答案,没有创造力,这对于从工具传递数据更好。
再次,LLM在这里大部分工作都是它将自然语言问题转换为API请求,然后从API输出返回到自然语言。
作者提供的图片,2024年6月
您可以下载Jupyter Notebook文件,按照逐步说明,在您的本地环境上构建GraphRAG对话代理。
在实施上述代码后,您可以在Jupyter笔记本中使用下面的Python代码与新创建的代理进行交互。在代码中设置您的提示并运行它。
import requests
import json
# Define the URL and the query
url = "http://localhost:5000/answer"
# prompt
query = {"query": "what is seo?"}
try:
# Make the POST request
response = requests.post(url, json=query)
# Check if the request was successful
if response.status_code == 200:
# Parse the JSON response
response_data = response.json()
# Format the output
print("Response from server:")
print(json.dumps(response_data, indent=4, sort_keys=True))
else:
print("Failed to get a response. Status code:", response.status_code)
print("Response text:", response.text)
except requests.exceptions.RequestException as e:
print("Request failed:", e)使用LLM(例如GPT-4)与RAG和GraphRAG方法,并添加对外部API的访问,我们已经构建了一个概念验证,展示了SEO自动化未来可能的样子。
它为我们提供了对我们领域所有知识的平稳访问,以及与最复杂工具互动的简便方式(谁从未抱怨过即使是最好的SEO工具的GUI呢?)。
仅剩下两个问题要解决:答案的延迟和与机器人讨论的感觉。
第一个问题是由于需要在LLM和图形或向量数据库之间来回进行计算所需的时间。在我们的项目中,要回答非常复杂的问题可能需要长达10秒的时间。
这个问题只有几个解决方案:增加硬件或等待我们正在使用的各种软件模块的改进。
第二个问题更棘手。虽然LLM模拟了实际人类的语气和写作风格,但界面是专有的这一事实说明了一切。
这两个问题都可以用一个聪明的技巧来解决:使用一个众所周知,大多数人使用,且延迟通常的文本界面(因为人类以异步方式使用)。
我们选择了WhatsApp作为与我们的SEO助手的通信渠道。这是我们工作中最容易的部分,通过Twilio的消息API使用WhatsApp业务平台完成。
最终,我们获得了一个名为VictorIA的SEO助手(这个名字结合了Victor - 著名法国作家维克多·雨果的名字和IA - 意为"人工智能"的法语首字母缩写),您可以在下面的图片中看到。
作者提供的图片,2024年6月
我们的工作只是激动人心旅程的第一步。助手可能塑造我们领域的未来。GraphRAG(+API)促进了LLMs,使公司能够建立自己的平台能力。
这样的助手可以帮助新入职的初级合作者(减少他们向高级员工提问简单问题的需求)或为客户支持团队提供知识库。
我们已经包含了源代码,供有足够经验直接使用的任何人使用。这段代码的大多数元素都很简单,关于Babbar工具的部分可以跳过(或者替换为其他工具的API)。
然而,了解如何设置Nebula图存储实例是至关重要的,最好是在本地进行设置,因为在Docker中运行Nebula会导致性能不佳。这一设置已经有文档记录,但乍一看可能看起来复杂。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-07-01
提升 RAG 准确率全攻略 让你的 AI 知识库 真正靠谱起来!
2026-06-30
教程:如何用AutoRAG + Milvus避免RAG 与Agent 中出现串租问题
2026-06-30
知识库不是文件堆——我把RAG准确率从60%调到了92%
2026-06-30
本体论语义建设新思路,另类RAG来解决检索问题
2026-06-30
别把RAG当架构:Ontology(本体)才是Agent的业务世界
2026-06-29
PixelRAG:伯克利团队颠覆传统 RAG,用截图代替文本检索! 28 天狂揽 3000+ Star!
2026-06-29
腾讯WeKnora开源详解(三):检索引擎与生态集成
2026-06-29
腾讯开源WeKnora详解(二):知识库与对话核心能力
2026-04-06
2026-04-27
2026-04-23
2026-04-20
2026-04-09
2026-04-12
2026-04-22
2026-04-10
2026-05-14
2026-04-30
2026-06-23
2026-06-23
2026-06-15
2026-06-10
2026-06-10
2026-05-20
2026-05-18
2026-05-11
欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。
在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。
一、 定义
本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。
会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。
知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。
二、 账号注册与登录
登录方式:本网站支持以下登录方式,您可根据实际情况选择:
微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。
手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。
账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。
实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。
未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。
三、 服务内容与规范
知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。
服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。
禁止行为:您在使用服务时不得实施以下行为:
利用技术手段批量爬取、下载、转存知识库内容;
将知识库内容用于商业目的或未经授权地向第三方传播;
干扰本网站正常运行或侵犯其他用户合法权益;
发布违法违规信息或从事违反公序良俗的活动。
四、 知识产权声明
权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。
有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。
侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。
五、 个人信息保护
我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。
您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。
您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。
六、 免责声明
内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。
不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。
第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。
七、 违约责任
如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。
如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。
八、 法律适用与争议解决
本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。
因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。
九、 其他
本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。
本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。
我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。