Масштабируемый веб -гусеничный, здесь список функции этого гусеника:
Сохраняя представления в векторную базу данных, вы можете получить аналогичные страницы в соответствии с тем, насколько близки два вектора. Это важно для браузера, чтобы получить наиболее важные результаты.
Запустите гусеница с терминалом:
$ python cli_crawl.py --help
options:
-h, --help show this help message and exit
-u INITIAL_URLS [INITIAL_URLS ...], --initial-urls INITIAL_URLS [INITIAL_URLS ...]
-lm LANGUAGE_MODEL, --language-model LANGUAGE_MODEL
-m MAX_DEPTH, --max-depth MAX_DEPTH Установите API с uvicorn и FastAPI .
uvicorn api_app:app --host 0.0.0.0 --port 80 Посмотрите на пример в start_api_and_head_node.sh . Обратите внимание, что в первую очередь должны быть инициализированы узлы головы лучей.
Для нашего варианта использования мы просто используем модель BERT, реализованную HuggingFace, чтобы извлечь Entgeddings из веб -текста. Точнее, мы используем BERT-базовые открытые. Обратите внимание, что код является агностическим, а новые модели могут быть зарегистрированы и добавлены с помощью нескольких строк кода, взгляните на llm/best.py .
Мы используем Milvus в качестве нашего основного программного обеспечения администратора базы данных. Мы используем базу данных в векторном стиле из-за его унаследованной возможности поиска и сохранения записей на основе векторных представлений (Entgdings).
Запустите свой автономный сервер Milvus следующим образом, я предлагаю использовать программное обеспечение для мультиплексоров, такое как tmux :
tmux new -s milvus
milvus-server Посмотрите под scripts/ чтобы увидеть некоторые основные запросы на Милвус.
Вы также можете использовать официальный шаблон docker compose :
docker compose --file milvus-docker-compose.yml up -d Мы используем Ray, это отличная структура Python для запуска распределенной и параллельной обработки. Рэй следует за парадигмой мастер-работника, где head узел будет запрашивать задачи, выполняемые подключенным работникам.
ray start --head import ray
# Connect to the head
ray . init ( "auto" )Если вы хотите остановить Ray Node:
ray stopИли проверить статус:
ray statusray startУзел работника не нуждается в реализации кода, поскольку главный узел будет сериализовать и отправлять аргументы и реализацию работникам.
Текущая реализация является POC. Можно сделать много улучшений:
Все проблемы и PR приветствуются?