Apify

Apify是一个网页抓取和浏览器自动化平台,拥有一个应用商店,内含超过1500个预构建的微应用,称为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.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问题。