Create a Watsonx inference endpoint
- PUT /_inference/{task_type}/{watsonx_inference_id}
Create an inference endpoint to perform an inference task with the watsonxai service.
You need an IBM Cloud Databases for Elasticsearch deployment to use the watsonxai inference service.
You can provision one through the IBM catalog, the Cloud Databases CLI plug-in, the Cloud Databases API, or Terraform.
- Cluster privileges:
manage_inference
Path Parameters
-
task_typeWatsonxTaskTyperequired -
The type of the inference task that the model will perform.
-
Values:
text_embeddingrerankchat_completioncompletion -
watsonx_inference_idstring Idrequired -
The unique identifier of the inference endpoint.
Query Parameters
-
timeoutstring Duration · default: 30s Specifies the amount of time to wait for the inference endpoint to be created.
Request
-
chunking_settingsInferenceChunkingSettings -
The chunking configuration object. Applies only to the
text_embeddingtask type. Not applicable to thererank,completionorchat_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. -
serviceWatsonxServiceTyperequired -
The type of service supported for the specified task type. In this case,
watsonxai. -
Values:
watsonxai -
service_settingsWatsonxServiceSettingsrequired -
Settings used to install the inference model. These settings are specific to the
watsonxaiservice. -
api_keystringrequired -
A valid API key of your Watsonx account. You can find your Watsonx API keys or you can create a new one on the API keys page.
IMPORTANT: You need to provide the API key only once, during the inference model creation. The get inference endpoint API does not retrieve your API key.
- External docs
-
api_versionstringrequired -
A version parameter that takes a version date in the format of
YYYY-MM-DD. For the active version data parameters, refer to the Wastonx documentation. - External docs
-
model_idstringrequired -
The name of the model to use for the inference task. Refer to the IBM Embedding Models section in the Watsonx documentation for the list of available text embedding models. Refer to the IBM library - Foundation models in Watsonx.ai.
- External docs
-
project_idstringrequired -
The identifier of the IBM Cloud project to use for the inference task.
-
rate_limitRateLimitSetting -
This setting helps to minimize the number of rate limit errors returned from Watsonx. By default, the
watsonxaiservice sets the number of requests allowed per minute to 120. -
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
-
urlstringrequired -
The URL of the inference endpoint that you created on Watsonx.
Response
-
chunking_settingsInferenceChunkingSettings -
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. -
servicestringrequired -
The service type
-
service_settingsServiceSettingsrequired -
Settings specific to the service
-
task_settingsTaskSettings -
Task settings specific to the service and task type
-
inference_idstringrequired -
The inference Id