AuthThe Elastic Stack includes Elastic's core products such as Elasticsearch, Kibana, Logstash, and Beats.AvailabilityGenerally available since 8.12This functionality is generally available and ready for production usage.Unless stated otherwise on the page, this functionality is available when your Elastic Stack is deployed on Elastic Cloud Hosted, Elastic Cloud Enterprise, Elastic Cloud on Kubernetes, and self-managed environments.This documentation corresponds to the latest patch available for each minor version. If you're not using the latest patch, check the release notes for changes.
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-v2
all-MiniLM-L12-v2
all-mpnet-base-v2
e5-base-v2
e5-small-v2
multilingual-e5-base
multilingual-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.2
QwQ-32B
Phi-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:
The chunking configuration object.
Applies only to the text_embedding task type.
Not applicable to the rerank, completion, or chat_completion task types.
The maximum size of a chunk in words.
This value cannot be lower than 20 (for sentence strategy) or 10 (for word strategy).
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 word chunking strategy.
This value cannot be higher than half the max_chunk_size value.
sentence_overlapnumber · default: 1
The number of overlapping sentences for chunks.
It is applicable only for a sentence chunking strategy.
It can be either 1 or 0.
separator_groupstring
Only applicable to the recursive strategy 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 markdown or plaintext.
Using this parameter is an alternative to manually specifying a custom separators list.
separatorsstring[]
Only applicable to the recursive strategy 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_size limit, to reduce the total number of chunks generated.
strategystring · default: sentence
The chunking strategy: sentence, word, none or recursive.
If strategy is set to recursive, you must also specify:
max_chunk_size
either separators orseparator_group
Learn more about different chunking strategies in the linked documentation.
This setting helps to minimize the number of rate limit errors returned from Hugging Face.
By default, the hugging_face service 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-search service: 1000
amazonbedrock service: 240
anthropic service: 50
azureaistudio service: 240
azureopenai service and task type text_embedding: 1440
azureopenai service and task types completion or chat_completion: 120
cohere service: 10000
contextualai service: 1000
elastic service and task type chat_completion: 240
fireworksai service: 6000
googleaistudio service: 360
googlevertexai service: 30000
hugging_face service: 3000
jinaai service: 2000
llama service: 3000
mistral service: 240
openai service and task type text_embedding: 3000
openai service and task type completion: 500
openshift_ai service: 3000
voyageai service: 2000
watsonxai service: 120
urlstringrequired
The URL endpoint to use for the requests.
For completion and chat_completion tasks, 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.
The name of the HuggingFace model to use for the inference task.
For completion and chat_completion tasks, this field is optional but may be required for certain models — particularly when using serverless inference endpoints.
For the text_embedding task, this field should not be included. Otherwise, the request will fail.
task_settingsobject
Settings to configure the inference task.
These settings are specific to the task type you specified.
return_documentsboolean
For a rerank task, return doc text within the results.
top_nnumber
For a rerank task, the number of most relevant documents to return.
It defaults to the number of the documents.
The chunking configuration object.
Applies only to the embedding, sparse_embedding and text_embedding task types.
Not applicable to the rerank, completion, or chat_completion task types.
max_chunk_sizenumber · default: 250
The maximum size of a chunk in words.
This value cannot be lower than 20 (for sentence strategy) or 10 (for word strategy).
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 word chunking strategy.
This value cannot be higher than half the max_chunk_size value.
sentence_overlapnumber · default: 1
The number of overlapping sentences for chunks.
It is applicable only for a sentence chunking strategy.
It can be either 1 or 0.
separator_groupstring
Only applicable to the recursive strategy 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 markdown or plaintext.
Using this parameter is an alternative to manually specifying a custom separators list.
separatorsstring[]
Only applicable to the recursive strategy 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_size limit, to reduce the total number of chunks generated.
strategystring · default: sentence
The chunking strategy: sentence, word, none or recursive.
If strategy is set to recursive, you must also specify:
max_chunk_size
either separators orseparator_group
Learn more about different chunking strategies in the linked documentation.