Apify
Apify是一个网页抓取和浏览器自动化平台,拥有一个应用商店,内含超过1500个预构建的微应用,称为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.org.cn/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.org.cn/documentation/的数据将被抓取,转换为矢量嵌入并存储在Qdrant集合中。