Apify

Apify 是一个网页抓取和浏览器自动化平台,拥有一个包含 1,500 多个预构建微应用(称为 Actors)的应用商店。这些无服务器云程序本质上是底层容器,专为各种 Web 自动化应用而设计,包括数据收集。

其中一个专门为 AI 和 RAG 应用构建的 Actor 是 网站内容爬虫 (Website Content Crawler)

它非常适合此用途,因为它内置了 HTML 处理和数据清理功能。这意味着您可以轻松删除网页上不相关的内容、重复项和其他无关信息,仅向语言模型提供必要的数据。

生成的 Markdown 可用于向 Qdrant 投喂数据,以训练 AI 模型或为它们提供新鲜的 Web 内容。

Qdrant 作为官方集成提供,用于将 Apify 数据集加载到集合中。

您可以参考 Apify 文档,通过 Apify UI 设置集成。

编程使用

Apify 还支持通过 Apify Python SDK 对集成进行编程访问。

  1. 通过运行以下命令安装 Apify Python SDK

    pip install apify-client
    
  2. 创建 Python 脚本并导入所有必需的模块

    from apify_client import ApifyClient
    
    APIFY_API_TOKEN = "YOUR-APIFY-TOKEN"
    OPENAI_API_KEY = "YOUR-OPENAI-API-KEY"
    # COHERE_API_KEY = "YOUR-COHERE-API-KEY"
    
    QDRANT_URL = "YOUR-QDRANT-URL"
    QDRANT_API_KEY = "YOUR-QDRANT-API-KEY"
    
    client = ApifyClient(APIFY_API_TOKEN)
    
  3. 调用 网站内容爬虫 (Website Content Crawler) Actor 来爬取 Qdrant 文档并从网页中提取文本内容

    actor_call = client.actor("apify/website-content-crawler").call(
        run_input={"startUrls": [{"url": "https://qdrant.org.cn/documentation/"}]}
    )
    
  4. 调用 Qdrant 集成并将所有数据存储在 Qdrant 向量数据库中

    qdrant_integration_inputs = {
        "qdrantUrl": QDRANT_URL,
        "qdrantApiKey": QDRANT_API_KEY,
        "qdrantCollectionName": "apify",
        "qdrantAutoCreateCollection": True,
        "datasetId": actor_call["defaultDatasetId"],
        "datasetFields": ["text"],
        "enableDeltaUpdates": True,
        "deltaUpdatesPrimaryDatasetFields": ["url"],
        "expiredObjectDeletionPeriodDays": 30,
        "embeddingsProvider": "OpenAI", # "Cohere"
        "embeddingsApiKey": OPENAI_API_KEY,
        "performChunking": True,
        "chunkSize": 1000,
        "chunkOverlap": 0,
    }
    actor_call = client.actor("apify/qdrant-integration").call(run_input=qdrant_integration_inputs)
    

运行脚本后,将抓取来自 https://qdrant.org.cn/documentation/ 的数据,将其转换为向量嵌入并存储在 Qdrant 集合中。

延伸阅读

本页面有用吗?

感谢您的反馈!🙏

很抱歉听到这个消息。😔 您可以在 GitHub 上编辑此页面,或创建 GitHub Issue。