Type something to search...
提升llm知识库:如何在几秒内将任何网站信息传递给模型

提升llm知识库:如何在几秒内将任何网站信息传递给模型

我们将看到 Crawl4AI 的强大功能

来源:Crawl4AI

嗨,让我问你这个——你有没有试过问一个语言模型(比如 GPT 或 Claude)一些非常小众或新的东西,结果得到一个完全空白或通用的回答?

没错,我经历过!

这里有一个例子:

Image 2

截图由我提供

这就是因为这些模型是基于某个时间点停止的数据进行训练的,因此对之后发生的任何事情一无所知。

即使是那些可以搜索网络的模型,通常也会给出模糊的答案。

这就是 检索增强生成 (RAG) 拯救了局面。

这是一种 fancy 的说法,意味着你可以将外部来源的精选知识输入到你的语言模型中。通过让它成为一个专家,了解那些它本来不会知道的主题。

但这里有个问题:设置这个过程可能会感觉非常繁琐。

引入 Crawl4AI——一个改变游戏规则的工具。这是一个开源工具,让这个过程变得超级简单和极其快速。

在这个友好的指南中,我将带你了解:

  • 为什么常规的大语言模型常常无法达到预期。
  • Crawl4AI 如何像魔法一样工作。
  • 真实示例和代码来抓取网站并设置 RAG。
  • 如何为你的大语言模型构建一个智能知识系统。

让我们来理解一下!

为什么通用的大语言模型会失误

好吧,想象一下这个场景。

你问一个大语言模型:“CrewAI 更新 0.95.0 有什么新变化?”

你可能会得到这样的回答:

截图由我提供

这让人感到沮丧,对吧?

即使这是一个可以浏览网页的模型,答案也可能非常基础,因为我的知识截止于 2024 年 4 月,就像这样……

但是……如果我给大语言模型提供 CrewAI 的背景信息,那么答案可能会像这样:

截图由我提供

好多了,对吧?

这就是检索增强生成的魔力,你给大语言模型提供经过筛选的知识,以专业的方式回答问题。

那么,如何将网站转变为你大语言模型的真实来源呢?

这就是异步网页爬虫登场的地方。

Introducing Crawl4AI

Crawl4AI 就像一个用于网页抓取的瑞士军刀,但专门为使大语言模型更智能而构建。

它抓取网站内容,清理它,并以整洁的 markdown 格式提供给您。

最棒的部分?

它快速且易于使用。

为什么 Crawl4AI 很棒:

超级干净的 markdown:它将凌乱的 HTML 转换为可读的 markdown,完美适用于大语言模型。

闪电般的速度:快速处理网站而不占用系统资源。

简单的设置:您不需要成为编码高手即可开始使用。

可扩展:适用于小型网站或大型多页面文档。

智能过滤器:自动删除您不需要的广告和脚本等垃圾内容。

设置

安装 Crawl4AI 是多么简单:

pip install -U crawl4ai
crawl4ai-setup
python -m playwright install --with-deps chromium

就是这样!

你已经准备好开始了。

使用 Crawl4AI 抓取网站

抓取单个页面

想要从一个页面获取内容吗?

这就是如此简单:

import asyncio
from crawl4ai import *

async def main():
    async with AsyncWebCrawler() as crawler:
        result = await crawler.arun(url="https://docs.crewai.com/introduction")
        print(result.markdown)
if __name__ == "__main__":
    asyncio.run(main())

只需几秒钟,这就抓取了页面的 markdown 版本并打印出来。

简单易行!

扩展:多页面爬取

为什么顺序爬取很重要?

好的,抓取一个页面很酷,但如果你有一个包含大量页面的整个网站呢?

顺序爬取允许你使用同一个浏览器会话抓取多个URL,这样一切都会快得多。

示例:使用重用会话的顺序爬取

import asyncio
from typing import List
from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig
from crawl4ai.markdown_generation_strategy import DefaultMarkdownGenerator

async def crawl_sequential(urls: List[str]):
    browser_config = BrowserConfig(
        headless=True,
        extra_args=["--disable-gpu", "--disable-dev-shm-usage", "--no-sandbox"],
    )
    crawl_config = CrawlerRunConfig(
        markdown_generator=DefaultMarkdownGenerator()
    )
    async with AsyncWebCrawler(config=browser_config) as crawler:
        await crawler.start()
        session_id = "session1"
        for url in urls:
            result = await crawler.arun(
                url=url,
                config=crawl_config,
                session_id=session_id
            )
            if result.success:
                print(f"爬取成功: {url}, Markdown 长度: {len(result.markdown_v2.raw_markdown)}")
            else:
                print(f"爬取失败: {url}, 错误: {result.error_message}")

urls = ["https://docs.crewai.com/introduction", "https://docs.crewai.com/installation"]
asyncio.run(crawl_sequential(urls))

进一步深入 (并行爬虫)

有一个庞大的站点吗?

并行爬虫让你可以通过加快速度同时抓取多个页面。

示例:并行爬取

import asyncio
from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, CacheMode

async def crawl_parallel(urls, max_concurrent=5):
    async with AsyncWebCrawler() as crawler:
        await crawler.start()
        tasks = [
            crawler.arun(url, config=CrawlerRunConfig(cache_mode=CacheMode.BYPASS))
            for url in urls
        ]
        results = await asyncio.gather(*tasks)
        for result in results:
            print("爬取成功!", result.markdown if result.success else result.error_message)

urls = ["https://docs.crewai.com/installation", (您可以放更多链接)]
asyncio.run(crawl_parallel(urls))

与检索增强生成集成

现在您已经获得了您的markdown内容,让我们将其连接到一个检索增强生成(RAG)系统。

以下是您如何为您的大语言模型创建知识库的方法。

第一步:将数据存储在向量数据库中

使用像 Supabase 或 PGVector 这样的数据库来存储您的爬取的 markdown 及其嵌入。

from supabase import create_client

supabase = create_client("your_supabase_url", "your_supabase_key")

def store_markdown(title, content, embedding):
    response = supabase.table("site_pages").insert({
        "title": title,
        "content": content,
        "embedding": embedding
    }).execute()
    print("Stored successfully!", response)

步骤 2:查询数据库

当用户提出问题时,它会为查询生成一个嵌入并在数据库中搜索相关内容。

def query_database(query):
    embedding = generate_embedding(query)
    results = supabase.rpc("match_site_pages", {"query_embedding": embedding, "match_count": 5}).execute()
    return results.data

query = "What is CrewAI?"
data = query_database(query)
for item in data:
    print("Relevant Content:", item["content"])

第3步:生成响应

将检索到的内容与大语言模型的响应结合,以获得动态和上下文感知的答案。

user_query = "How do I install CrewAI?"
data = query_database(user_query)
if data:
    print("Answer:", data[0]["content"])
else:
    print("Sorry, no relevant info found!")

结论

就这些!

使用 Crawl4AI 和 检索增强生成,您可以将任何网站转变为大语言模型的丰富动态知识库。

无论是用于 AI 驱动的聊天机器人还是您业务的专业工具,这种设置都能让您的大语言模型更智能、更可靠。

Related Posts

结合chatgpt-o3-mini与perplexity Deep Research的3步提示:提升论文写作质量的终极指南

结合chatgpt-o3-mini与perplexity Deep Research的3步提示:提升论文写作质量的终极指南

AI 研究报告和论文写作 合并两个系统指令以获得两个模型的最佳效果 Perplexity AI 的 Deep Research 工具提供专家级的研究报告,而 OpenAI 的 ChatGPT-o3-mini-high 擅长推理。我发现你可以将它们结合起来生成令人难以置信的论文,这些论文比任何一个模型单独撰写的都要好。你只需要将这个一次性提示复制到 **

阅读更多
让 Excel 过时的 10 种 Ai 工具:实现数据分析自动化,节省手工作业时间

让 Excel 过时的 10 种 Ai 工具:实现数据分析自动化,节省手工作业时间

Non members click here作为一名软件开发人员,多年来的一个发现总是让我感到惊讶,那就是人们还在 Excel

阅读更多
使用 ChatGPT 搜索网络功能的 10 种创意方法

使用 ChatGPT 搜索网络功能的 10 种创意方法

例如,提示和输出 你知道可以使用 ChatGPT 的“搜索网络”功能来完成许多任务,而不仅仅是基本的网络搜索吗? 对于那些不知道的人,ChatGPT 新的“搜索网络”功能提供实时信息。 截至撰写此帖时,该功能仅对使用 ChatGPT 4o 和 4o-mini 的付费会员开放。 ![](https://images.weserv.nl/?url=https://cdn-im

阅读更多
掌握Ai代理:解密Google革命性白皮书的10个关键问题解答

掌握Ai代理:解密Google革命性白皮书的10个关键问题解答

10 个常见问题解答 本文是我推出的一个名为“10 个常见问题解答”的新系列的一部分。在本系列中,我旨在通过回答关于该主题的十个最常见问题来分解复杂的概念。我的目标是使用简单的语言和相关的类比,使这些想法易于理解。 图片来自 [Solen Feyissa](https://unsplash.com/@solenfeyissa?utm_source=medium&utm_medi

阅读更多
在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和科技这样一个动态的行业中,保持领先意味着不断提升你的技能。无论你是希望深入了解人工智能模型性能、掌握数据分析,还是希望通过人工智能转变传统领域如法律,这些课程都是你成功的捷径。以下是一个精心策划的高价值课程列表,可以助力你的职业发展,并让你始终处于创新的前沿。 1. 生成性人工智能简介课程: [生成性人工智能简介](https://genai.works

阅读更多
揭开真相!深度探悉DeepSeek AI的十大误区,您被误导了吗?

揭开真相!深度探悉DeepSeek AI的十大误区,您被误导了吗?

在AI军备竞赛中分辨事实与虚构 DeepSeek AI真的是它所宣传的游戏规则改变者,还是仅仅聪明的营销和战略炒作?👀 虽然一些人将其视为AI效率的革命性飞跃,但另一些人则认为它的成功建立在借用(甚至窃取的)创新和可疑的做法之上。传言称,DeepSeek的首席执行官在疫情期间像囤积卫生纸一样囤积Nvidia芯片——这只是冰山一角。 从其声称的550万美元培训预算到使用Open

阅读更多
Type something to search...