Apify#
Apify - платформа для веб-скрейпинга и автоматизации браузеров, включающая магазин приложений, содержащий более 1500 предварительно созданных микро-приложений под названием «Актеры» (Actors). Эти облачные программы серверного типа, по сути являющиеся средствами контейнеризации под капотом, предназначены для различных задач веб-автоматизации, включая сбор данных.
Один из таких актеров, специально разработанный для приложений искусственного интеллекта и поиска информации (RAG), называется Скрайпер содержимого сайта.
Он идеально подходит для этой цели, поскольку имеет встроенные функции обработки HTML и очистки данных. Это означает, что можно легко удалить ненужные элементы, дубликаты и другие вещи на веб-странице, которые не имеют значения, предоставляя языку модели только необходимые данные.
Markdown затем можно использовать для подачи данных в Vector DB для обучения моделей ИИ или предоставления им свежего контента с веб-сайтов.
Vector DB доступен как официальная интеграция для загрузки наборов данных Apify в коллекцию.
Можно обратиться к документации Apify, чтобы настроить интеграцию через интерфейс Apify.
Программное использование#
Apify также поддерживает программный доступ к интеграциям через SDK Apify для Python.
Установите SDK Apify для Python, выполнив следующую команду:
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)Вызовите актера Скрайпер содержимого сайта, чтобы просканировать документацию Vector DB и извлечь текстовый контент со страниц веб-сайта:
actor_call = client.actor("apify/website-content-crawler").call( run_input={"startUrls": [{"url": "https://qdrant.tech/documentation/"}]} )Вызовите интеграцию Vector DB и сохраните все данные в векторной базе данных Vector DB:
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/ будут извлечены, преобразованы в векторные вложения и сохранены в коллекции Vector DB.