微信扫码
添加专属顾问
在这个故事中,我将提供一个快速教程,展示如何使用浏览器使用、LightRAG和本地LLM创建一个强大的聊天机器人,以开发一个能够抓取您选择的任何网站的AI代理。此外,您可以询问有关您的数据的问题,这将为您提供该问题的回答。
免责声明:本文仅用于教育目的。我们不鼓励任何人抓取网站,特别是那些可能有反对此类行为的条款和条件的网络属性。
现有的RAG系统存在显著的局限性,包括依赖扁平数据表示和缺乏上下文意识,导致答案碎片化以及无法捕捉复杂的相互依赖关系。
为了解决这些挑战,我们提出LightRAG和浏览器使用
浏览器使用是一个开源的网络自动化库,支持与任何语言模型(LLM)进行交互。
通过一个简单的接口,用户可以使LLM与网站交互并执行数据抓取和信息查询等任务。
LightRAG将图结构集成到文本索引和检索过程中。这个创新框架采用两级检索系统,以增强从低级和高级知识发现中全面信息检索的能力。
那么,让我给您快速演示一个实时聊天机器人,向您展示我的意思。
我想抓取一个网站,所以我问了代理两个问题。我的第一个问题是:“去亚马逊找出最便宜的16GB VRAM和RTX 3080或RTX 4090 GPU的笔记本电脑。”
结果令人惊讶!浏览器使用大型语言模型提取数据,自动定位交互元素。如果您仔细观察,您会看到代理在找不到元素或LLM出错时会自我纠正。它还使用视觉模型进行截图并提取信息。
对于我的第二个问题,我问代理:“去google.com寻找关于监督LLM的文章,然后提取关于监督微调的所有内容。”如果您想了解更多关于微调的信息,我在我上一个视频中进行了详细解释和研究。
一旦数据加载完成,我们实现LightRAG,以便LLM能够同时处理多个元素——实体、关系和描述。它测试了LLM的理解,分拆任务可以减少压力,但可能会增加令牌使用。
模型的源代码提前指定了实体类型,这可能不适用于新领域,类似于在传统知识图谱中定义模式的挑战。
在更高的层面上,关键词指导相关信息的回忆,但回忆质量取决于这些关键词。最终,这个过程提高了最终答案的质量。
LightRAG 是一个快速高效的信息检索和生成系统,旨在解决传统 RAG 系统的问题。一个典型的 RAG 系统旨在将 LLM 与外部知识链接,以生成更准确的用户问题答案。
然而,传统系统受限于扁平的数据表示,缺乏上下文。LightRAG 将图结构纳入数据索引和搜索,以克服这些限制,并提供高效且具有上下文的信息。
LightRAG 首先应用基于图的数据结构,在信息检索过程中对外部数据库中的实体及其关系进行预处理。
该过程包括多个步骤:
通过这些步骤,LightRAG 不仅提取具有特定语义的实体,还加深了对抽象概念的理解,使系统在面对复杂问题时能够进行更准确的信息检索和生成。
LightRAG 从文档中提取实体(人、地点、概念等)及其之间的关系,并利用这些信息构建知识图谱。
例如,从句子“Andrew Yan 在 Google Brain 团队研究人工智能”中,我们提取以下信息:
以这种方式创建的知识图谱可以有效地表示复杂的信息关系。图 1 的左侧对应于这个过程。
LightRAG 搜索分为两个阶段,低级和高级,如图 1 中间部分所示。
这种双层次的方法允许平衡的信息检索,既捕捉具体事实,又展现更大的全局。
LightRAG 在效率、检索和处理复杂查询方面优于 GraphRAG。它使用双层检索系统,将令牌使用量减少到 100 以下,仅需一次 API 调用,而 GraphRAG 则需要 610,000 个令牌和多次调用。
LightRAG 提供了更多样化的响应,有效捕捉特定和广泛的主题,并在复杂查询中表现出色,而 GraphRAG 的适应性较差,成本更高。LightRAG 更加高效、灵活,适合动态数据环境。
Browser-use 是一个开源的网页自动化库,允许大型语言模型(LLMs)执行诸如检查航班、搜索信息、总结热门帖子等任务。
它自动检测可点击元素,处理 Cookie 提示和弹出窗口,并允许在多个标签页之间切换。它还可以填写表单、提取网页信息、截取屏幕截图和读取图像内容。
该工具通过分析当前页面内容做出智能决策,以确定下一步行动——是点击、输入文本还是翻页。此外,它具有记忆功能,能够回忆之前访问的页面和收集的信息。它支持与 LangChain 兼容的模型,包括 GPT-4、Claude 3.5 和 LLama。
在我们深入应用程序之前,我们将创建一个理想的环境以便代码能够正常工作。为此,我们需要安装所需的 Python 库。首先,我们将开始安装支持模型的库。为此,我们将执行 pip install requirements。由于演示使用了 OpenAI 大模型,因此您必须首先设置 OpenAI API 密钥。
pip install -r requirements.txt
安装完成后,我们导入 browser_use、langchain_openai 和 lightrag。
from browser_use import Agent, Controller
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
import os
from lightrag.lightrag import LightRAG, QueryParam
from lightrag.llm import gpt_4o_mini_complete然后,我们使用 Controller 来管理和保持多个代理之间的浏览器状态。它允许代理共享浏览会话,保持 Cookie、会话和标签页的一致性。
## 在代理之间保持浏览器状态
controller = Controller()我们将初始化代理,以通过在 Google 中搜索 “LoRA LLM” 来查找和提取信息。然后,我们使用 chatOpenai 模型来处理和分析与 controller 连接的内容,以保持浏览器状态。
## 初始化浏览器代理
agent = Agent(
task="Go to google.com and find the article about Lora llm and extract everything about Lora",
llm=ChatOpenAI(model="gpt-4o", timeout=25, stop=None),
controller=controller)此外,我们可以初始化另一个代理,但这不是必需的,具体取决于您希望在代码中包含多少代理。它们可以执行不同的任务,但您需要将每个代理管理到不同的任务中。
agent = Agent(
task="Go to google.com and find the article Supervised llm and extract everything about Supervised Fine-Tuning",
llm=ChatOpenAI(model="gpt-4o", timeout=25, stop=None),
controller=controller)然后,我们定义一个异步函数以实现任务的并发执行,我们将代理的最大步骤限制设置为 20,但可以根据需要设置任何数字。在每一步中,代理执行一个动作,表示代理计划下一步要做的事情,结果包含该步骤的输出,包括任务是否完成和任何提取的数据。如果任务完成,提取的内容将保存到名为 text.txt 的文件中,过程终止。
async defmain():
max_steps = 20
# 逐步运行代理
for i inrange(max_steps):
print(f'\n? 步骤 {i+1}')
action, result = await agent1.step()
print('动作:', action)
print('结果:', result)
if result.done:
print('\n✅ 任务成功完成!')
print('提取的内容:', result.extracted_content)
# 将提取的内容保存到文本文件
withopen('text.txt', 'w') as file:
file.write(result.extracted_content)
print("提取的内容已保存到 text.txt")
break
asyncio.run(main())现在我们定义工作目录并检查当前工作目录中是否存在名为 dickens 的目录。如果不存在,程序将创建它。这确保了该目录可用于存储文件或其他资源。
WORKING_DIR = "./dickens"
if not os.path.exists(WORKING_DIR):
os.mkdir(WORKING_DIR)主要步骤是使用必要的参数配置 LightRAG 实例。我们使用工作目录(./dickens)和轻量级 GPT-4o 模型(gpt_4o_mini_complete)作为默认语言模型进行初始化。此设置对于增强检索任务是高效的,如果需要,可以灵活使用更强大的模型(gpt_4o_complete)。
rag = LightRAG(
working_dir=WORKING_DIR,
llm_model_func=gpt_4o_mini_complete # 使用 gpt_4o_mini_complete LLM 模型
# llm_model_func=gpt_4o_complete # 可选,使用更强的模型
)我们从指定路径读取 text.txt 的内容,并使用 rag.insert() 将其插入 RAG 系统。
with open("C:/Users/mrtar/Desktop/lightrag/text.txt") as f:
rag.insert(f.read())我们对查询 “What is Supervised Fine-Tuning” 在 RAG 系统中执行 简单搜索。在简单搜索模式下,系统查找直接包含查询中关键字的文档或条目,而不考虑这些术语周围的任何关系或上下文。对于不需要复杂推理的简单查询,它非常有用。它将仅基于关键字匹配返回结果。
## 执行简单搜索
print(rag.query("what is Supervised Fine-Tuning", param=QueryParam(mode="naive")))此外,我们对查询 “What is Supervised Fine-Tuning?” 执行 局部搜索。在局部搜索模式下,系统检索与查询及其直接邻居(直接相关的实体)相关的信息。它将提供额外的上下文,专注于与 “Supervised Fine-Tuning” 直接相关的紧密关系。
搜索比简单搜索更详细,当您需要更多关于直接连接或关系的上下文时非常有价值。
## 执行局部搜索
print(rag.query("what is Supervised Fine-Tuning", param=QueryParam(mode="local")))现在,我们对查询 “What is Supervised Fine-Tuning” 使用 全局搜索。在全局搜索模式下,系统考虑整个知识图谱,查看更广泛范围内的直接和间接关系。它检查与 “Supervised Fine-Tuning” 相关的所有可能连接,而不仅仅是直接的。它提供了全面的概述,适合需要广泛上下文或全局关系视角的查询。
## 执行全局搜索
print(rag.query("what is Supervised Fine-Tuning", param=QueryParam(mode="global")))最后,我们对查询 "What is Supervised Fine-Tuning” 执行 混合搜索。混合搜索模式结合了局部搜索和全局搜索的优点。它根据直接关系(如局部搜索)检索信息,但也考虑间接或全局关系(如全局搜索)。它提供了平衡和全面的上下文,适合大多数场景,特别是在理解整体和特定上下文时至关重要。
## 执行混合搜索
print(rag.query("what is Supervised Fine-Tuning", param=QueryParam(mode="hybrid")))\不仅仅是技术进步,LightRAG 和 Browser-Use 潜在地可以从根本上改变我们与信息的互动方式。它们提供更准确和全面的搜索能力、对复杂问题的精确回答,以及始终反映最新知识的响应。
如果这些目标得以实现,它们可能会彻底改变教育、研究和商业等领域。LightRAG 和 Browser-Use 代表了开创性的技术,将开启下一代信息搜索和生成。我非常期待看到它们在未来的发展!
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-07-05
AI 知识库为什么总答不准?不是模型笨,是资料没整理好
2026-07-05
AI知识库RAG演进:上一代解决「找得到」,下一代解决「记得住、连得起、信得过」
2026-07-04
大模型支持的上下文已超 1M, RAG 是不是没有意义了?
2026-07-03
RAG 检索优化策略:从命中率到答案质量的一套工程打法
2026-07-03
RAG 落地总翻车?全球赛事冠军架构,改造适配企业级生产
2026-07-01
提升 RAG 准确率全攻略 让你的 AI 知识库 真正靠谱起来!
2026-06-30
教程:如何用AutoRAG + Milvus避免RAG 与Agent 中出现串租问题
2026-06-30
知识库不是文件堆——我把RAG准确率从60%调到了92%
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-04-27
2026-07-04
2026-06-23
2026-06-23
2026-06-15
2026-06-10
2026-06-10
2026-05-20
2026-05-18
欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。
在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。
一、 定义
本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。
会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。
知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。
二、 账号注册与登录
登录方式:本网站支持以下登录方式,您可根据实际情况选择:
微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。
手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。
账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。
实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。
未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。
三、 服务内容与规范
知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。
服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。
禁止行为:您在使用服务时不得实施以下行为:
利用技术手段批量爬取、下载、转存知识库内容;
将知识库内容用于商业目的或未经授权地向第三方传播;
干扰本网站正常运行或侵犯其他用户合法权益;
发布违法违规信息或从事违反公序良俗的活动。
四、 知识产权声明
权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。
有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。
侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。
五、 个人信息保护
我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。
您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。
您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。
六、 免责声明
内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。
不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。
第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。
七、 违约责任
如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。
如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。
八、 法律适用与争议解决
本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。
因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。
九、 其他
本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。
本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。
我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。