Create an OpenAI inference endpoint
- PUT /_inference/{task_type}/{openai_inference_id}
Create an inference endpoint to perform an inference task with the openai service or openai compatible APIs.
Required authorization
- Cluster privileges manage_inference
Request body
-
chunking_settingsobject -
The chunking configuration object. Applies only to the
text_embeddingtask type. Not applicable to thecompletionorchat_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. -
strategystring · default: sentence -
The chunking strategy:
sentence,word,noneorrecursive.- If
strategyis set torecursive, you must also specify:
max_chunk_size- either
separatorsorseparator_group
Learn more about different chunking strategies in the linked documentation.
- If
- Reference
-
servicerequired -
The type of service supported for the specified task type. In this case,
openai. -
Values:
openai -
service_settingsobjectrequired -
Settings used to install the inference model. These settings are specific to the
openaiservice. -
api_keystring -
A valid API key of your OpenAI account. You can find your OpenAI API keys in your OpenAI account under the API keys section.
ImportantYou must specify either
api_keyorclient_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. - External docs
-
client_idstring -
For OAuth 2.0 authorization using the client credentials grant flow. The application ID that's assigned to your app.
ImportantTo configure OAuth 2.0, you must specify
client_id,scopes,token_url, andclient_secrettogether. If one of the fields is missing, you will receive an error when you try to create your endpoint. -
client_secretstring -
For OAuth 2.0 authorization using the client credentials grant flow. The application secret that you created for your app.
ImportantYou must specify either
api_keyorclient_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.ImportantTo configure OAuth 2.0, you must specify
client_id,scopes,token_url, andclient_secrettogether. If one of the fields is missing, you will receive an error when you try to create your endpoint. -
dimensionsnumber -
For a
text_embeddingorembeddingtask, the number of dimensions the resulting output embeddings should have. It is supported only intext-embedding-3and later models. If it is not set, the OpenAI defined default for the model is used. -
model_idstringrequired -
The name of the model to use for the inference task. Refer to the OpenAI documentation for the list of available text embedding models.
- External docs
-
organization_idstring -
The unique identifier for your organization. You can find the Organization ID in your OpenAI account under Settings > Organizations.
-
rate_limitobject -
This setting helps to minimize the number of rate limit errors returned from OpenAI. The
openaiservice sets a default number of requests allowed per minute depending on the task type. Fortext_embeddingandembedding, it is set to3000. Forcompletionandchat_completion, it is set to500. -
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
-
scopesstring -
For OAuth 2.0 authorization using the client credentials grant flow. The resource identifier of the resource you want. For example:
"scopes": [ "scope1", "scope2" ]ImportantTo configure OAuth 2.0, you must specify
client_id,scopes,token_url, andclient_secrettogether. If one of the fields is missing, you will receive an error when you try to create your endpoint. -
similarity -
For a
text_embeddingorembeddingtask, the similarity measure. One ofcosine,dot_product,l2_norm. Defaults todot_product. -
Values:
cosinedot_productl2_norm -
token_urlstring -
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.
ImportantTo configure OAuth 2.0, you must specify
client_id,scopes,token_url, andclient_secrettogether. If one of the fields is missing, you will receive an error when you try to create your endpoint.
Response
-
chunking_settingsobject -
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. -
strategystring · default: sentence -
The chunking strategy:
sentence,word,noneorrecursive.- If
strategyis set torecursive, you must also specify:
max_chunk_size- either
separatorsorseparator_group
Learn more about different chunking strategies in the linked documentation.
- If
- Reference