Create a Watsonx inference endpoint Added in 8.16.0

PUT /_inference/{task_type}/{watsonx_inference_id}

Creates 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.

When you create an inference endpoint, the associated machine learning model is automatically deployed if it is not already running. After creating the endpoint, wait for the model deployment to complete before using it. To verify the deployment status, use the get trained model statistics API. Look for "state": "fully_allocated" in the response and ensure that the "allocation_count" matches the "target_allocation_count". Avoid creating multiple endpoints for the same model unless required, as each endpoint consumes significant resources.

Path parameters

  • task_type string Required

    The task type. The only valid task type for the model to perform is text_embedding.

    Value is text_embedding.

  • watsonx_inference_id string Required

    The unique identifier of the inference endpoint.

application/json

Body

  • service string Required

    Value is watsonxai.

  • service_settings object Required

    Additional properties are allowed.

    Hide service_settings attributes Show service_settings attributes object
    • api_key string Required

      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. After creating the inference model, you cannot change the associated API key. If you want to use a different API key, delete the inference model and recreate it with the same name and the updated API key.

    • api_version string Required

      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.

    • model_id string Required

      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.

    • project_id string Required

      The identifier of the IBM Cloud project to use for the inference task.

    • Additional properties are allowed.

      Hide rate_limit attribute Show rate_limit attribute object
    • url string Required

      The URL of the inference endpoint that you created on Watsonx.

Responses

  • 200 application/json
    Hide response attributes Show response attributes object
    • Additional properties are allowed.

      Hide chunking_settings attributes Show chunking_settings attributes object
      • Specifies the maximum size of a chunk in words This value cannot be higher than 300 or lower than 20 (for sentence strategy) or 10 (for word strategy)

      • overlap number

        Specifies the number of overlapping words for chunks Only for word chunking strategy This value cannot be higher than the half of max_chunk_size

      • Specifies the number of overlapping sentences for chunks Only for sentence chunking strategy It can be either 1 or 0

      • strategy string

        Specifies the chunking strategy It could be either sentence or word

    • service string Required

      The service type

    • service_settings object Required

      Additional properties are allowed.

    • Additional properties are allowed.

    • inference_id string Required

      The inference Id

    • task_type string Required

      Values are sparse_embedding, text_embedding, rerank, completion, or chat_completion.

PUT /_inference/{task_type}/{watsonx_inference_id}
curl \
 --request PUT http://api.example.com/_inference/{task_type}/{watsonx_inference_id} \
 --header "Authorization: $API_KEY" \
 --header "Content-Type: application/json" \
 --data '{"service":"watsonxai","service_settings":{"api_key":"string","api_version":"string","model_id":"string","project_id":"string","rate_limit":{"requests_per_minute":42.0},"url":"string"}}'