Create an inference endpoint

Auth
Important

The inference APIs enable you to use certain services, such as built-in machine learning models (ELSER, E5), models uploaded through Eland, Cohere, OpenAI, Mistral, Azure OpenAI, Google AI Studio, Google Vertex AI, Anthropic, Watsonx.ai, or Hugging Face. For built-in models and models uploaded through Eland, the inference APIs offer an alternative way to use and manage trained models. However, if you do not plan to use the inference APIs to use these models or if you want to use non-NLP models, use the machine learning trained model APIs.

The following integrations are available through the inference API. You can find the available task types next to the integration name:

  • AI21 (chat_completion, completion)
  • AlibabaCloud AI Search (completion, rerank, sparse_embedding, text_embedding)
  • Amazon Bedrock (chat_completion, completion, text_embedding)
  • Amazon SageMaker (chat_completion, completion, rerank, sparse_embedding, text_embedding)
  • Anthropic (chat_completion, completion)
  • Azure AI Studio (completion, rerank, text_embedding)
  • Azure OpenAI (chat_completion, completion, text_embedding)
  • Cohere (completion, rerank, text_embedding)
  • DeepSeek (chat_completion, completion)
  • Elasticsearch (rerank, sparse_embedding, text_embedding - this service is for built-in models and models uploaded through Eland)
  • ELSER (sparse_embedding)
  • Fireworks AI (chat_completion, completion, text_embedding)
  • Google AI Studio (completion, text_embedding)
  • Google Vertex AI (chat_completion, completion, rerank, text_embedding)
  • Groq (chat_completion)
  • Hugging Face (chat_completion, completion, rerank, text_embedding)
  • JinaAI (embedding, rerank, text_embedding)
  • Llama (chat_completion, completion, text_embedding)
  • Mistral (chat_completion, completion, text_embedding)
  • Nvidia (chat_completion, completion, text_embedding, rerank)
  • OpenAI (chat_completion, completion, text_embedding)
  • OpenShift AI (chat_completion, completion, rerank, text_embedding)
  • VoyageAI (rerank, text_embedding)
  • Watsonx (chat_completion, completion, rerank, text_embedding)

Required authorization

Cluster privileges manage_inference

Path parameters

task_type enum optional

The task type. Refer to the integration list in the API description for the available task types.

Leave it out to use /_inference/{inference_id}.

Values: sparse_embedding text_embedding rerank completion chat_completion embedding document_extraction
inference_id string required

The inference Id

Query parameters

timeout string

Specifies the amount of time to wait for the inference endpoint to be created. The default depends on the task type: 120s for completion and chat_completion, and 30s for all other task types.

Request body

chunking_settings object

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_size number · 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.

overlap number · 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_overlap number · 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_group string

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.

separators string[]

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.

strategy string · 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.

service string required

The service type

service_settings object required

Settings specific to the service

task_settings object

Task settings specific to the service and task type

Response

application/json
chunking_settings object

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_size number · 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.

overlap number · 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_overlap number · 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_group string

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.

separators string[]

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.

strategy string · 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.

service string required

The service type

service_settings object required

Settings specific to the service

task_settings object

Task settings specific to the service and task type

inference_id string required

The inference Id

task_type enum required

The task type

Values: sparse_embedding text_embedding rerank completion chat_completion embedding document_extraction