Type to search.

Create an OpenAI inference endpoint

Auth The Elastic Stack includes Elastic's core products such as Elasticsearch, Kibana, Logstash, and Beats. Availability Generally available since 8.12 This 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 openai service or openai compatible APIs.

Required privileges

Cluster privileges manage_inference

Path parameters

task_type enum required

The type of the inference task that the model will perform. NOTE: The chat_completion task type only supports streaming and only through the _stream API.

Values: chat_completion completion text_embedding embedding
openai_inference_id string required

The unique identifier of the inference endpoint.

Query parameters

timeout union oneOf · default: 30s

Specifies the amount of time to wait for the inference endpoint to be created.

Values: -1 0

Request body

service enum required

The type of service supported for the specified task type. In this case, openai.

Values: openai
service_settings object required

Settings used to install the inference model. These settings are specific to the openai service.

api_key string

A valid API key of your OpenAI account. You can find your OpenAI API keys in your OpenAI account under the API keys section.

Important

You must specify either api_key or client_secret. If you do not provide one or you provide more than one of them, you will receive an error when you try to create your endpoint.

client_id string

For OAuth 2.0 authorization using the client credentials grant flow. The application ID that's assigned to your app.

Important

To configure OAuth 2.0, you must specify client_id, scopes, token_url, and client_secret together. If one of the fields is missing, you will receive an error when you try to create your endpoint.

client_secret string

For OAuth 2.0 authorization using the client credentials grant flow. The application secret that you created for your app.

Important

You must specify either api_key or client_secret. If you do not provide one or you provide more than one of them, you will receive an error when you try to create your endpoint.

Important

To configure OAuth 2.0, you must specify client_id, scopes, token_url, and client_secret together. If one of the fields is missing, you will receive an error when you try to create your endpoint.

dimensions number

For a text_embedding or embedding task, the number of dimensions the resulting output embeddings should have. It is supported only in text-embedding-3 and later models. If it is not set, the OpenAI defined default for the model is used.

model_id string required

The name of the model to use for the inference task. Refer to the OpenAI documentation for the list of available text embedding models.

organization_id string

The unique identifier for your organization. You can find the Organization ID in your OpenAI account under Settings > Organizations.

scopes string[]

For OAuth 2.0 authorization using the client credentials grant flow. The resource identifier of the resource you want. For example:

Text
"scopes": [
  "scope1",
  "scope2"
]
Important

To configure OAuth 2.0, you must specify client_id, scopes, token_url, and client_secret together. If one of the fields is missing, you will receive an error when you try to create your endpoint.

similarity enum

For a text_embedding or embedding task, the similarity measure. One of cosine, dot_product, l2_norm. Defaults to dot_product.

Values: cosine dot_product l2_norm
token_url string

For OAuth 2.0 authorization using the client credentials grant flow. An OAuth2 token endpoint where Elasticsearch sends a request to exchange client credentials for an access token.

Important

To configure OAuth 2.0, you must specify client_id, scopes, token_url, and client_secret together. If one of the fields is missing, you will receive an error when you try to create your endpoint.

url string

The URL endpoint to use for the requests. It can be changed for testing purposes. Default value is https://api.openai.com/v1/embeddings for a text_embedding or embedding task, https://api.openai.com/v1/chat/completions for a completion or chat_completion task.

Response

application/json
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: text_embedding chat_completion completion embedding