Create a Hugging Face inference endpoint
- PUT /_inference/{task_type}/{huggingface_inference_id}
Create an inference endpoint to perform an inference task with the hugging_face service.
Supported tasks include: text_embedding, completion, and chat_completion.
To configure the endpoint, first visit the Hugging Face Inference Endpoints page and create a new endpoint. Select a model that supports the task you intend to use.
For Elastic's text_embedding task:
The selected model must support the Sentence Embeddings task. On the new endpoint creation page, select the Sentence Embeddings task under the Advanced Configuration section.
After the endpoint has initialized, copy the generated endpoint URL.
Recommended models for text_embedding task:
all-MiniLM-L6-v2all-MiniLM-L12-v2all-mpnet-base-v2e5-base-v2e5-small-v2multilingual-e5-basemultilingual-e5-small
For Elastic's chat_completion and completion tasks:
The selected model must support the Text Generation task and expose OpenAI API. HuggingFace supports both serverless and dedicated endpoints for Text Generation. When creating dedicated endpoint select the Text Generation task.
After the endpoint is initialized (for dedicated) or ready (for serverless), ensure it supports the OpenAI API and includes /v1/chat/completions part in URL. Then, copy the full endpoint URL for use.
Recommended models for chat_completion and completion tasks:
Mistral-7B-Instruct-v0.2QwQ-32BPhi-3-mini-128k-instruct
For Elastic's rerank task:
The selected model must support the sentence-ranking task and expose OpenAI API.
HuggingFace supports only dedicated (not serverless) endpoints for Rerank so far.
After the endpoint is initialized, copy the full endpoint URL for use.
Tested models for rerank task:
bge-reranker-basejina-reranker-v1-turbo-en-GGUF
- Cluster privileges:
manage_inference
Path Parameters
-
task_typeHuggingFaceTaskTyperequired -
The type of the inference task that the model will perform.
-
Values:
chat_completioncompletionreranktext_embedding -
huggingface_inference_idstring Idrequired -
The unique identifier of the inference endpoint.
Query Parameters
-
timeoutstring Duration · default: 30s Specifies the amount of time to wait for the inference endpoint to be created.
Request
-
chunking_settingsInferenceChunkingSettings -
The chunking configuration object. Applies only to the
text_embeddingtask type. Not applicable to thererank,completion, orchat_completiontask types. - Reference
-
max_chunk_sizenumber · default: 250 -
The maximum size of a chunk in words. This value cannot be lower than
20(forsentencestrategy) or10(forwordstrategy). This value should not exceed the window size for the associated model. -
overlapnumber · default: 100 -
The number of overlapping words for chunks. It is applicable only to a
wordchunking strategy. This value cannot be higher than half themax_chunk_sizevalue. -
sentence_overlapnumber · default: 1 -
The number of overlapping sentences for chunks. It is applicable only for a
sentencechunking strategy. It can be either1or0. -
separator_groupstring -
Only applicable to the
recursivestrategy and required when using it.Sets a predefined list of separators in the saved chunking settings based on the selected text type. Values can be
markdownorplaintext.Using this parameter is an alternative to manually specifying a custom
separatorslist. -
separatorsstring -
Only applicable to the
recursivestrategy and required when using it.A list of strings used as possible split points when chunking text.
Each string can be a plain string or a regular expression (regex) pattern. The system tries each separator in order to split the text, starting from the first item in the list.
After splitting, it attempts to recombine smaller pieces into larger chunks that stay within the
max_chunk_sizelimit, to reduce the total number of chunks generated. -
serviceHuggingFaceServiceTyperequired -
The type of service supported for the specified task type. In this case,
hugging_face. -
Values:
hugging_face -
service_settingsHuggingFaceServiceSettingsrequired -
Settings used to install the inference model. These settings are specific to the
hugging_faceservice. -
api_keystringrequired -
A valid access token for your HuggingFace account. You can create or find your access tokens on the HuggingFace settings page.
IMPORTANT: You need to provide the API key only once, during the inference model creation. The get inference endpoint API does not retrieve your API key.
- External docs
-
rate_limitRateLimitSetting -
This setting helps to minimize the number of rate limit errors returned from Hugging Face. By default, the
hugging_faceservice sets the number of requests allowed per minute to 3000 for all supported tasks. Hugging Face does not publish a universal rate limit — actual limits may vary. It is recommended to adjust this value based on the capacity and limits of your specific deployment environment. -
requests_per_minutenumber -
The number of requests allowed per minute. By default, the number of requests allowed per minute is set by each service as follows:
alibabacloud-ai-searchservice:1000amazonbedrockservice:240anthropicservice:50azureaistudioservice:240azureopenaiservice and task typetext_embedding:1440azureopenaiservice and task typescompletionorchat_completion:120cohereservice:10000contextualaiservice:1000elasticservice and task typechat_completion:240fireworksaiservice:6000googleaistudioservice:360googlevertexaiservice:30000hugging_faceservice:3000jinaaiservice:2000llamaservice:3000mistralservice:240openaiservice and task typetext_embedding:3000openaiservice and task typecompletion:500openshift_aiservice:3000voyageaiservice:2000watsonxaiservice:120
-
urlstringrequired -
The URL endpoint to use for the requests. For
completionandchat_completiontasks, the deployed model must be compatible with the Hugging Face Chat Completion interface (see the linked external documentation for details). The endpoint URL for the request must include/v1/chat/completions. If the model supports the OpenAI Chat Completion schema, a toggle should appear in the interface. Enabling this toggle doesn't change any model behavior, it reveals the full endpoint URL needed (which should include/v1/chat/completions) when configuring the inference endpoint in Elasticsearch. If the model doesn't support this schema, the toggle may not be shown. - External docs
-
model_idstring -
The name of the HuggingFace model to use for the inference task. For
completionandchat_completiontasks, this field is optional but may be required for certain models — particularly when using serverless inference endpoints. For thetext_embeddingtask, this field should not be included. Otherwise, the request will fail. -
task_settingsHuggingFaceTaskSettings -
Settings to configure the inference task. These settings are specific to the task type you specified.
-
return_documentsboolean -
For a
reranktask, return doc text within the results. -
top_nnumber -
For a
reranktask, the number of most relevant documents to return. It defaults to the number of the documents.
Response
-
chunking_settingsInferenceChunkingSettings -
The chunking configuration object. Applies only to the
embedding,sparse_embeddingandtext_embeddingtask types. Not applicable to thererank,completion, orchat_completiontask types. -
max_chunk_sizenumber · default: 250 -
The maximum size of a chunk in words. This value cannot be lower than
20(forsentencestrategy) or10(forwordstrategy). This value should not exceed the window size for the associated model. -
overlapnumber · default: 100 -
The number of overlapping words for chunks. It is applicable only to a
wordchunking strategy. This value cannot be higher than half themax_chunk_sizevalue. -
sentence_overlapnumber · default: 1 -
The number of overlapping sentences for chunks. It is applicable only for a
sentencechunking strategy. It can be either1or0. -
separator_groupstring -
Only applicable to the
recursivestrategy and required when using it.Sets a predefined list of separators in the saved chunking settings based on the selected text type. Values can be
markdownorplaintext.Using this parameter is an alternative to manually specifying a custom
separatorslist. -
separatorsstring -
Only applicable to the
recursivestrategy and required when using it.A list of strings used as possible split points when chunking text.
Each string can be a plain string or a regular expression (regex) pattern. The system tries each separator in order to split the text, starting from the first item in the list.
After splitting, it attempts to recombine smaller pieces into larger chunks that stay within the
max_chunk_sizelimit, to reduce the total number of chunks generated. -
servicestringrequired -
The service type
-
service_settingsServiceSettingsrequired -
Settings specific to the service
-
task_settingsTaskSettings -
Task settings specific to the service and task type
-
inference_idstringrequired -
The inference Id
-
task_typeTaskTypeHuggingFacerequired -
The task type
-
Values:
chat_completioncompletionreranktext_embedding