elastic / elastic/eland

Add CLI for deploying built-in models

Open
#694 4 comments 0 reactions 0 assignees View on GitHub
enhancement topic:NLP
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.