Create an inference endpoint
Generally available; Added in 8.11.0
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:
- AlibabaCloud AI Search (
completion
,rerank
,sparse_embedding
,text_embedding
) - Amazon Bedrock (
completion
,text_embedding
) - Anthropic (
completion
) - Azure AI Studio (
completion
,text_embedding
) - Azure OpenAI (
completion
,text_embedding
) - Cohere (
completion
,rerank
,text_embedding
) - Elasticsearch (
rerank
,sparse_embedding
,text_embedding
- this service is for built-in models and models uploaded through Eland) - ELSER (
sparse_embedding
) - Google AI Studio (
completion
,text_embedding
) - Google Vertex AI (
rerank
,text_embedding
) - Hugging Face (
chat_completion
,completion
,rerank
,text_embedding
) - Mistral (
chat_completion
,completion
,text_embedding
) - OpenAI (
chat_completion
,completion
,text_embedding
) - VoyageAI (
text_embedding
,rerank
) - Watsonx inference integration (
text_embedding
) - JinaAI (
text_embedding
,rerank
)
Required authorization
- Cluster privileges:
manage_inference
Path parameters
-
The task type. Refer to the integration list in the API description for the available task types.
Values are
sparse_embedding
,text_embedding
,rerank
,completion
, orchat_completion
. -
The inference Id
PUT _inference/rerank/my-rerank-model
{
"service": "cohere",
"service_settings": {
"model_id": "rerank-english-v3.0",
"api_key": "{{COHERE_API_KEY}}"
}
}
resp = client.inference.put(
task_type="rerank",
inference_id="my-rerank-model",
inference_config={
"service": "cohere",
"service_settings": {
"model_id": "rerank-english-v3.0",
"api_key": "{{COHERE_API_KEY}}"
}
},
)
const response = await client.inference.put({
task_type: "rerank",
inference_id: "my-rerank-model",
inference_config: {
service: "cohere",
service_settings: {
model_id: "rerank-english-v3.0",
api_key: "{{COHERE_API_KEY}}",
},
},
});
response = client.inference.put(
task_type: "rerank",
inference_id: "my-rerank-model",
body: {
"service": "cohere",
"service_settings": {
"model_id": "rerank-english-v3.0",
"api_key": "{{COHERE_API_KEY}}"
}
}
)
$resp = $client->inference()->put([
"task_type" => "rerank",
"inference_id" => "my-rerank-model",
"body" => [
"service" => "cohere",
"service_settings" => [
"model_id" => "rerank-english-v3.0",
"api_key" => "{{COHERE_API_KEY}}",
],
],
]);
curl -X PUT -H "Authorization: ApiKey $ELASTIC_API_KEY" -H "Content-Type: application/json" -d '{"service":"cohere","service_settings":{"model_id":"rerank-english-v3.0","api_key":"{{COHERE_API_KEY}}"}}' "$ELASTICSEARCH_URL/_inference/rerank/my-rerank-model"
{
"service": "cohere",
"service_settings": {
"model_id": "rerank-english-v3.0",
"api_key": "{{COHERE_API_KEY}}"
}
}