Apify

Apify 是一个网页抓取和浏览器自动化平台,拥有一个包含超过1,500个预构建微应用的应用商店,这些微应用被称为Actors。这些无服务器云程序,本质上是基于Docker的,设计用于各种网页自动化应用,包括数据收集。

其中一个特别为AI和RAG应用构建的Actor是网站内容爬虫

它非常适合这个目的,因为它内置了HTML处理和数据清理功能。这意味着你可以轻松地移除网页上不相关的冗余、重复内容和其他无关信息,只向语言模型提供必要的数据。

然后,Markdown 可以用于向 Qdrant 提供数据,以训练 AI 模型或为其提供新鲜的网页内容。

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. 调用网站内容抓取器 Actor 来爬取 Qdrant 文档并从网页中提取文本内容:

    actor_call = client.actor("apify/website-content-crawler").call(
        run_input={"startUrls": [{"url": "https://qdrant.tech/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.tech/documentation/抓取数据,将其转换为向量嵌入并存储在Qdrant集合中。

进一步阅读

这个页面有用吗?

感谢您的反馈!🙏

我们很抱歉听到这个消息。😔 你可以在GitHub上编辑这个页面,或者创建一个GitHub问题。