Sign inSign up

grandvan/opensearch-with-ml

By grandvan

Updated 6 months ago

OpenSearch with ML-plugin "neural-sparse-encoding-multilingual-v1"

Image
Machine learning & AI
Databases & storage
Monitoring & observability
0

183

grandvan/opensearch-with-ml repository overview

Запуск и регистрация модели

Запустить контейнер:

docker run -d \
  --name opensearch \
  -e OPENSEARCH_JAVA_OPTS="-Xms4g -Xmx4g" \
  -e DISABLE_INSTALL_DEMO_CONFIG=true \
  -e DISABLE_SECURITY_PLUGIN=true \
  -e discovery.type=single-node \
  -p 9200:9200 \
  opensearch-with-ml:3.5.0

Применить настройки ML Commons:

curl -X PUT "http://localhost:9200/_cluster/settings" \
  -H "Content-Type: application/json" -d '{
  "persistent": {
    "plugins.ml_commons.only_run_on_ml_node": "false",
    "plugins.ml_commons.model_access_control_enabled": "false",
    "plugins.ml_commons.native_memory_threshold": "100",
    "plugins.ml_commons.allow_registering_model_via_url": "true",
    "plugins.ml_commons.allow_registering_model_via_local_file": "true",
    "plugins.ml_commons.ml_task_timeout_in_seconds": 3600,
    "plugins.ml_commons.jvm_heap_memory_threshold": "95"
  }
}'

Зарегистрировать модель:

curl -X POST "http://localhost:9200/_plugins/_ml/models/_register" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "amazon/neural-sparse/opensearch-neural-sparse-encoding-multilingual-v1",
    "version": "1.0.0",
    "model_format": "TORCH_SCRIPT",
    "function_name": "SPARSE_ENCODING",
    "url": "file:///usr/share/opensearch/data/neural-sparse_opensearch-neural-sparse-encoding-multilingual-v1-1.0.0-torch_script.zip",
    "model_content_hash_value": "66f29cb9124a3bee61022615b98ba151f0bbb4cb00a8cb65d2576e8a8e4f5980"
  }'

Опросить статус:

curl -X GET "http://localhost:9200/_plugins/_ml/tasks/<task_id>?pretty"
# Ждать "state": "COMPLETED", сохранить model_id

Задеплоить модель:

curl -X POST "http://localhost:9200/_plugins/_ml/models/<model_id>/_deploy"

Опросить статус:

curl -X GET "http://localhost:9200/_plugins/_ml/tasks/<task_id>?pretty"
# Ждать "state": "COMPLETED"

Примечания

  • ml_cache содержит нативные библиотеки PyTorch для linux/x86_64. Для других платформ (ARM, GPU) нужно повторить процедуру получения ml_cache на соответствующем железе.
  • Размер образа будет ~3GB из-за PyTorch библиотек и архива модели — это нормально.
  • model_id генерируется заново при каждой регистрации — это ожидаемое поведение. Сохраняй его после регистрации для последующего деплоя.
  • JVM heap для деплоя модели должен быть минимум 2g, рекомендуется 4g+.

Tag summary

Content type

Image

Digest

sha256:580802ff1

Size

2.5 GB

Last updated

6 months ago

docker pull grandvan/opensearch-with-ml:3.5.0