Apify
Apify 是一个网页抓取和浏览器自动化平台,拥有一个包含超过1,500个预构建微应用的应用商店,这些微应用被称为Actors。这些无服务器云程序,本质上是基于Docker的,设计用于各种网页自动化应用,包括数据收集。
其中一个特别为AI和RAG应用构建的Actor是网站内容爬虫。
它非常适合这个目的,因为它内置了HTML处理和数据清理功能。这意味着你可以轻松地移除网页上不相关的冗余、重复内容和其他无关信息,只向语言模型提供必要的数据。
然后,Markdown 可以用于向 Qdrant 提供数据,以训练 AI 模型或为其提供新鲜的网页内容。
Qdrant 可作为 官方集成 使用,将 Apify 数据集加载到集合中。
您可以参考Apify文档通过Apify UI设置集成。
编程使用
Apify 还支持通过 Apify Python SDK 以编程方式访问集成。
通过运行以下命令安装Apify Python SDK:
pip install apify-client创建一个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)调用网站内容抓取器 Actor 来爬取 Qdrant 文档并从网页中提取文本内容:
actor_call = client.actor("apify/website-content-crawler").call( run_input={"startUrls": [{"url": "https://qdrant.tech/documentation/"}]} )调用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集合中。
