Add CLI for deploying built-in models
- Dominant language
- Python
- Stars
- 693
- Forks
- 112
- PR merge metrics
- No merged PRs in 30d
Description
In the context of integration tests and generally in cluster setup automation, the [`eland_import_hub_model`](https://github.com/elastic/eland/blob/main/eland/cli/eland_import_hub_model.py) CLI is a great tool to get HuggingFace models deployed in Elasticsearch. There is no a comparable tool for built-in models (most notably ELSER and E5). Users have to do this themselves using with 4 different API calls and a wait condition ([example](https://github.com/elastic/elasticsearch-labs/blob/0635478039ca5435077b6812a3e03060e6f30af1/example-apps/chatbot-rag-app/data/index_data.py#L35-L56)). Adding a CLI tool `eland_deploy_builtin_model` that works in a similar way (e.g. `--model-id .elser_model_v2 --url http://elasticsearch:9200 --start`) would reduce the room for error, reduce friction when using built-in models and in turn increase their adoption.
Contributor guide
Research direction
Start with eland/cli/eland_import_hub_model.py to understand the existing CLI structure, then review the linked index_data.py example for the API calls and wait condition used to deploy built-in models. Done means a comparable eland_deploy_builtin_model command supports a model ID, Elasticsearch URL, and --start flow without requiring users to perform the calls manually.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- elasticsearch, python
- Domain
- cli, machine-learning
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100