diff --git a/output/openapi/elasticsearch-openapi.json b/output/openapi/elasticsearch-openapi.json index 29962b5762..0c878172a8 100644 --- a/output/openapi/elasticsearch-openapi.json +++ b/output/openapi/elasticsearch-openapi.json @@ -17791,7 +17791,7 @@ "inference" ], "summary": "Create an inference endpoint", - "description": "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.\nFor built-in models and models uploaded through Eland, the inference APIs offer an alternative way to use and manage trained models.\nHowever, 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.\n\nThe following integrations are available through the inference API. You can find the available task types next to the integration name:\n* AlibabaCloud AI Search (`completion`, `rerank`, `sparse_embedding`, `text_embedding`)\n* Amazon Bedrock (`completion`, `text_embedding`)\n* Anthropic (`completion`)\n* Azure AI Studio (`completion`, `text_embedding`)\n* Azure OpenAI (`completion`, `text_embedding`)\n* Cohere (`completion`, `rerank`, `text_embedding`)\n* Elasticsearch (`rerank`, `sparse_embedding`, `text_embedding` - this service is for built-in models and models uploaded through Eland)\n* ELSER (`sparse_embedding`)\n* Google AI Studio (`completion`, `text_embedding`)\n* Google Vertex AI (`rerank`, `text_embedding`)\n* Hugging Face (`chat_completion`, `completion`, `rerank`, `text_embedding`)\n* Mistral (`chat_completion`, `completion`, `text_embedding`)\n* OpenAI (`chat_completion`, `completion`, `text_embedding`)\n* VoyageAI (`text_embedding`, `rerank`)\n* Watsonx inference integration (`text_embedding`)\n* JinaAI (`text_embedding`, `rerank`)\n\n## Required authorization\n\n* Cluster privileges: `manage_inference`\n", + "description": "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.\nFor built-in models and models uploaded through Eland, the inference APIs offer an alternative way to use and manage trained models.\nHowever, 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.\n\nThe following integrations are available through the inference API. You can find the available task types next to the integration name:\n* AlibabaCloud AI Search (`completion`, `rerank`, `sparse_embedding`, `text_embedding`)\n* Amazon Bedrock (`completion`, `text_embedding`)\n* Anthropic (`completion`)\n* Azure AI Studio (`completion`, `text_embedding`)\n* Azure OpenAI (`completion`, `text_embedding`)\n* Cohere (`completion`, `rerank`, `text_embedding`)\n* DeepSeek (`completion`, `chat_completion`)\n* Elasticsearch (`rerank`, `sparse_embedding`, `text_embedding` - this service is for built-in models and models uploaded through Eland)\n* ELSER (`sparse_embedding`)\n* Google AI Studio (`completion`, `text_embedding`)\n* Google Vertex AI (`rerank`, `text_embedding`)\n* Hugging Face (`chat_completion`, `completion`, `rerank`, `text_embedding`)\n* Mistral (`chat_completion`, `completion`, `text_embedding`)\n* OpenAI (`chat_completion`, `completion`, `text_embedding`)\n* VoyageAI (`text_embedding`, `rerank`)\n* Watsonx inference integration (`text_embedding`)\n* JinaAI (`text_embedding`, `rerank`)\n\n## Required authorization\n\n* Cluster privileges: `manage_inference`\n", "operationId": "inference-put", "parameters": [ { @@ -17885,7 +17885,7 @@ "inference" ], "summary": "Create an inference endpoint", - "description": "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.\nFor built-in models and models uploaded through Eland, the inference APIs offer an alternative way to use and manage trained models.\nHowever, 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.\n\nThe following integrations are available through the inference API. You can find the available task types next to the integration name:\n* AlibabaCloud AI Search (`completion`, `rerank`, `sparse_embedding`, `text_embedding`)\n* Amazon Bedrock (`completion`, `text_embedding`)\n* Anthropic (`completion`)\n* Azure AI Studio (`completion`, `text_embedding`)\n* Azure OpenAI (`completion`, `text_embedding`)\n* Cohere (`completion`, `rerank`, `text_embedding`)\n* Elasticsearch (`rerank`, `sparse_embedding`, `text_embedding` - this service is for built-in models and models uploaded through Eland)\n* ELSER (`sparse_embedding`)\n* Google AI Studio (`completion`, `text_embedding`)\n* Google Vertex AI (`rerank`, `text_embedding`)\n* Hugging Face (`chat_completion`, `completion`, `rerank`, `text_embedding`)\n* Mistral (`chat_completion`, `completion`, `text_embedding`)\n* OpenAI (`chat_completion`, `completion`, `text_embedding`)\n* VoyageAI (`text_embedding`, `rerank`)\n* Watsonx inference integration (`text_embedding`)\n* JinaAI (`text_embedding`, `rerank`)\n\n## Required authorization\n\n* Cluster privileges: `manage_inference`\n", + "description": "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.\nFor built-in models and models uploaded through Eland, the inference APIs offer an alternative way to use and manage trained models.\nHowever, 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.\n\nThe following integrations are available through the inference API. You can find the available task types next to the integration name:\n* AlibabaCloud AI Search (`completion`, `rerank`, `sparse_embedding`, `text_embedding`)\n* Amazon Bedrock (`completion`, `text_embedding`)\n* Anthropic (`completion`)\n* Azure AI Studio (`completion`, `text_embedding`)\n* Azure OpenAI (`completion`, `text_embedding`)\n* Cohere (`completion`, `rerank`, `text_embedding`)\n* DeepSeek (`completion`, `chat_completion`)\n* Elasticsearch (`rerank`, `sparse_embedding`, `text_embedding` - this service is for built-in models and models uploaded through Eland)\n* ELSER (`sparse_embedding`)\n* Google AI Studio (`completion`, `text_embedding`)\n* Google Vertex AI (`rerank`, `text_embedding`)\n* Hugging Face (`chat_completion`, `completion`, `rerank`, `text_embedding`)\n* Mistral (`chat_completion`, `completion`, `text_embedding`)\n* OpenAI (`chat_completion`, `completion`, `text_embedding`)\n* VoyageAI (`text_embedding`, `rerank`)\n* Watsonx inference integration (`text_embedding`)\n* JinaAI (`text_embedding`, `rerank`)\n\n## Required authorization\n\n* Cluster privileges: `manage_inference`\n", "operationId": "inference-put-1", "parameters": [ { @@ -18496,6 +18496,77 @@ "x-state": "Generally available; Added in 8.13.0" } }, + "/_inference/{task_type}/{deepseek_inference_id}": { + "put": { + "tags": [ + "inference" + ], + "summary": "Create a DeepSeek inference endpoint", + "description": "Create an inference endpoint to perform an inference task with the `deepseek` service.\n\n## Required authorization\n\n* Cluster privileges: `manage_inference`\n", + "operationId": "inference-put-deepseek", + "parameters": [ + { + "in": "path", + "name": "task_type", + "description": "The type of the inference task that the model will perform.", + "required": true, + "deprecated": false, + "schema": { + "$ref": "#/components/schemas/inference._types.TaskTypeDeepSeek" + }, + "style": "simple" + }, + { + "in": "path", + "name": "deepseek_inference_id", + "description": "The unique identifier of the inference endpoint.", + "required": true, + "deprecated": false, + "schema": { + "$ref": "#/components/schemas/_types.Id" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "chunking_settings": { + "$ref": "#/components/schemas/inference._types.InferenceChunkingSettings" + }, + "service": { + "$ref": "#/components/schemas/inference._types.DeepSeekServiceType" + }, + "service_settings": { + "$ref": "#/components/schemas/inference._types.DeepSeekServiceSettings" + } + }, + "required": [ + "service", + "service_settings" + ] + } + } + } + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/inference._types.InferenceEndpointInfoDeepSeek" + } + } + } + } + }, + "x-state": "Generally available; Added in 9.1.0" + } + }, "/_inference/{task_type}/{elasticsearch_inference_id}": { "put": { "tags": [ @@ -81044,6 +81115,66 @@ "completion" ] }, + "inference._types.TaskTypeDeepSeek": { + "type": "string", + "enum": [ + "completion", + "chat_completion" + ] + }, + "inference._types.DeepSeekServiceType": { + "type": "string", + "enum": [ + "deepseek" + ] + }, + "inference._types.DeepSeekServiceSettings": { + "type": "object", + "properties": { + "api_key": { + "externalDocs": { + "url": "https://api-docs.deepseek.com/" + }, + "description": "A valid API key for your DeepSeek account.\nYou can find or create your DeepSeek API keys on the DeepSeek API key page.\n\nIMPORTANT: You need to provide the API key only once, during the inference model creation.\nThe get inference endpoint API does not retrieve your API key.\nAfter creating the inference model, you cannot change the associated API key.\nIf you want to use a different API key, delete the inference model and recreate it with the same name and the updated API key.", + "type": "string" + }, + "model_id": { + "description": "For a `completion` or `chat_completion` task, the name of the model to use for the inference task.\n\nFor the available `completion` and `chat_completion` models, refer to the [DeepSeek Models & Pricing docs](https://api-docs.deepseek.com/quick_start/pricing).", + "type": "string" + }, + "url": { + "description": "The URL endpoint to use for the requests. Defaults to `https://api.deepseek.com/chat/completions`.", + "type": "string" + } + }, + "required": [ + "api_key", + "model_id" + ] + }, + "inference._types.InferenceEndpointInfoDeepSeek": { + "allOf": [ + { + "$ref": "#/components/schemas/inference._types.InferenceEndpoint" + }, + { + "type": "object", + "properties": { + "inference_id": { + "description": "The inference Id", + "type": "string" + }, + "task_type": { + "$ref": "#/components/schemas/inference._types.TaskTypeDeepSeek" + } + }, + "required": [ + "inference_id", + "task_type" + ] + } + ] + }, "inference._types.ElasticsearchTaskType": { "type": "string", "enum": [ diff --git a/output/openapi/elasticsearch-serverless-openapi.json b/output/openapi/elasticsearch-serverless-openapi.json index 727b02306f..f3b670d057 100644 --- a/output/openapi/elasticsearch-serverless-openapi.json +++ b/output/openapi/elasticsearch-serverless-openapi.json @@ -9774,7 +9774,7 @@ "inference" ], "summary": "Create an inference endpoint", - "description": "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.\nFor built-in models and models uploaded through Eland, the inference APIs offer an alternative way to use and manage trained models.\nHowever, 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.\n\nThe following integrations are available through the inference API. You can find the available task types next to the integration name:\n* AlibabaCloud AI Search (`completion`, `rerank`, `sparse_embedding`, `text_embedding`)\n* Amazon Bedrock (`completion`, `text_embedding`)\n* Anthropic (`completion`)\n* Azure AI Studio (`completion`, `text_embedding`)\n* Azure OpenAI (`completion`, `text_embedding`)\n* Cohere (`completion`, `rerank`, `text_embedding`)\n* Elasticsearch (`rerank`, `sparse_embedding`, `text_embedding` - this service is for built-in models and models uploaded through Eland)\n* ELSER (`sparse_embedding`)\n* Google AI Studio (`completion`, `text_embedding`)\n* Google Vertex AI (`rerank`, `text_embedding`)\n* Hugging Face (`chat_completion`, `completion`, `rerank`, `text_embedding`)\n* Mistral (`chat_completion`, `completion`, `text_embedding`)\n* OpenAI (`chat_completion`, `completion`, `text_embedding`)\n* VoyageAI (`text_embedding`, `rerank`)\n* Watsonx inference integration (`text_embedding`)\n* JinaAI (`text_embedding`, `rerank`)\n\n## Required authorization\n\n* Cluster privileges: `manage_inference`\n", + "description": "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.\nFor built-in models and models uploaded through Eland, the inference APIs offer an alternative way to use and manage trained models.\nHowever, 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.\n\nThe following integrations are available through the inference API. You can find the available task types next to the integration name:\n* AlibabaCloud AI Search (`completion`, `rerank`, `sparse_embedding`, `text_embedding`)\n* Amazon Bedrock (`completion`, `text_embedding`)\n* Anthropic (`completion`)\n* Azure AI Studio (`completion`, `text_embedding`)\n* Azure OpenAI (`completion`, `text_embedding`)\n* Cohere (`completion`, `rerank`, `text_embedding`)\n* DeepSeek (`completion`, `chat_completion`)\n* Elasticsearch (`rerank`, `sparse_embedding`, `text_embedding` - this service is for built-in models and models uploaded through Eland)\n* ELSER (`sparse_embedding`)\n* Google AI Studio (`completion`, `text_embedding`)\n* Google Vertex AI (`rerank`, `text_embedding`)\n* Hugging Face (`chat_completion`, `completion`, `rerank`, `text_embedding`)\n* Mistral (`chat_completion`, `completion`, `text_embedding`)\n* OpenAI (`chat_completion`, `completion`, `text_embedding`)\n* VoyageAI (`text_embedding`, `rerank`)\n* Watsonx inference integration (`text_embedding`)\n* JinaAI (`text_embedding`, `rerank`)\n\n## Required authorization\n\n* Cluster privileges: `manage_inference`\n", "operationId": "inference-put", "parameters": [ { @@ -9868,7 +9868,7 @@ "inference" ], "summary": "Create an inference endpoint", - "description": "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.\nFor built-in models and models uploaded through Eland, the inference APIs offer an alternative way to use and manage trained models.\nHowever, 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.\n\nThe following integrations are available through the inference API. You can find the available task types next to the integration name:\n* AlibabaCloud AI Search (`completion`, `rerank`, `sparse_embedding`, `text_embedding`)\n* Amazon Bedrock (`completion`, `text_embedding`)\n* Anthropic (`completion`)\n* Azure AI Studio (`completion`, `text_embedding`)\n* Azure OpenAI (`completion`, `text_embedding`)\n* Cohere (`completion`, `rerank`, `text_embedding`)\n* Elasticsearch (`rerank`, `sparse_embedding`, `text_embedding` - this service is for built-in models and models uploaded through Eland)\n* ELSER (`sparse_embedding`)\n* Google AI Studio (`completion`, `text_embedding`)\n* Google Vertex AI (`rerank`, `text_embedding`)\n* Hugging Face (`chat_completion`, `completion`, `rerank`, `text_embedding`)\n* Mistral (`chat_completion`, `completion`, `text_embedding`)\n* OpenAI (`chat_completion`, `completion`, `text_embedding`)\n* VoyageAI (`text_embedding`, `rerank`)\n* Watsonx inference integration (`text_embedding`)\n* JinaAI (`text_embedding`, `rerank`)\n\n## Required authorization\n\n* Cluster privileges: `manage_inference`\n", + "description": "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.\nFor built-in models and models uploaded through Eland, the inference APIs offer an alternative way to use and manage trained models.\nHowever, 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.\n\nThe following integrations are available through the inference API. You can find the available task types next to the integration name:\n* AlibabaCloud AI Search (`completion`, `rerank`, `sparse_embedding`, `text_embedding`)\n* Amazon Bedrock (`completion`, `text_embedding`)\n* Anthropic (`completion`)\n* Azure AI Studio (`completion`, `text_embedding`)\n* Azure OpenAI (`completion`, `text_embedding`)\n* Cohere (`completion`, `rerank`, `text_embedding`)\n* DeepSeek (`completion`, `chat_completion`)\n* Elasticsearch (`rerank`, `sparse_embedding`, `text_embedding` - this service is for built-in models and models uploaded through Eland)\n* ELSER (`sparse_embedding`)\n* Google AI Studio (`completion`, `text_embedding`)\n* Google Vertex AI (`rerank`, `text_embedding`)\n* Hugging Face (`chat_completion`, `completion`, `rerank`, `text_embedding`)\n* Mistral (`chat_completion`, `completion`, `text_embedding`)\n* OpenAI (`chat_completion`, `completion`, `text_embedding`)\n* VoyageAI (`text_embedding`, `rerank`)\n* Watsonx inference integration (`text_embedding`)\n* JinaAI (`text_embedding`, `rerank`)\n\n## Required authorization\n\n* Cluster privileges: `manage_inference`\n", "operationId": "inference-put-1", "parameters": [ { @@ -10479,6 +10479,77 @@ "x-state": "Generally available" } }, + "/_inference/{task_type}/{deepseek_inference_id}": { + "put": { + "tags": [ + "inference" + ], + "summary": "Create a DeepSeek inference endpoint", + "description": "Create an inference endpoint to perform an inference task with the `deepseek` service.\n\n## Required authorization\n\n* Cluster privileges: `manage_inference`\n", + "operationId": "inference-put-deepseek", + "parameters": [ + { + "in": "path", + "name": "task_type", + "description": "The type of the inference task that the model will perform.", + "required": true, + "deprecated": false, + "schema": { + "$ref": "#/components/schemas/inference._types.TaskTypeDeepSeek" + }, + "style": "simple" + }, + { + "in": "path", + "name": "deepseek_inference_id", + "description": "The unique identifier of the inference endpoint.", + "required": true, + "deprecated": false, + "schema": { + "$ref": "#/components/schemas/_types.Id" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "chunking_settings": { + "$ref": "#/components/schemas/inference._types.InferenceChunkingSettings" + }, + "service": { + "$ref": "#/components/schemas/inference._types.DeepSeekServiceType" + }, + "service_settings": { + "$ref": "#/components/schemas/inference._types.DeepSeekServiceSettings" + } + }, + "required": [ + "service", + "service_settings" + ] + } + } + } + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/inference._types.InferenceEndpointInfoDeepSeek" + } + } + } + } + }, + "x-state": "Generally available" + } + }, "/_inference/{task_type}/{elasticsearch_inference_id}": { "put": { "tags": [ @@ -51876,6 +51947,66 @@ "completion" ] }, + "inference._types.TaskTypeDeepSeek": { + "type": "string", + "enum": [ + "completion", + "chat_completion" + ] + }, + "inference._types.DeepSeekServiceType": { + "type": "string", + "enum": [ + "deepseek" + ] + }, + "inference._types.DeepSeekServiceSettings": { + "type": "object", + "properties": { + "api_key": { + "externalDocs": { + "url": "https://api-docs.deepseek.com/" + }, + "description": "A valid API key for your DeepSeek account.\nYou can find or create your DeepSeek API keys on the DeepSeek API key page.\n\nIMPORTANT: You need to provide the API key only once, during the inference model creation.\nThe get inference endpoint API does not retrieve your API key.\nAfter creating the inference model, you cannot change the associated API key.\nIf you want to use a different API key, delete the inference model and recreate it with the same name and the updated API key.", + "type": "string" + }, + "model_id": { + "description": "For a `completion` or `chat_completion` task, the name of the model to use for the inference task.\n\nFor the available `completion` and `chat_completion` models, refer to the [DeepSeek Models & Pricing docs](https://api-docs.deepseek.com/quick_start/pricing).", + "type": "string" + }, + "url": { + "description": "The URL endpoint to use for the requests. Defaults to `https://api.deepseek.com/chat/completions`.", + "type": "string" + } + }, + "required": [ + "api_key", + "model_id" + ] + }, + "inference._types.InferenceEndpointInfoDeepSeek": { + "allOf": [ + { + "$ref": "#/components/schemas/inference._types.InferenceEndpoint" + }, + { + "type": "object", + "properties": { + "inference_id": { + "description": "The inference Id", + "type": "string" + }, + "task_type": { + "$ref": "#/components/schemas/inference._types.TaskTypeDeepSeek" + } + }, + "required": [ + "inference_id", + "task_type" + ] + } + ] + }, "inference._types.ElasticsearchTaskType": { "type": "string", "enum": [ diff --git a/output/schema/schema.json b/output/schema/schema.json index 9c4845fce9..ef58b700b1 100644 --- a/output/schema/schema.json +++ b/output/schema/schema.json @@ -9475,7 +9475,7 @@ "visibility": "public" } }, - "description": "Create an inference endpoint.\n\nIMPORTANT: 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.\nFor built-in models and models uploaded through Eland, the inference APIs offer an alternative way to use and manage trained models.\nHowever, 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.\n\nThe following integrations are available through the inference API. You can find the available task types next to the integration name:\n* AlibabaCloud AI Search (`completion`, `rerank`, `sparse_embedding`, `text_embedding`)\n* Amazon Bedrock (`completion`, `text_embedding`)\n* Anthropic (`completion`)\n* Azure AI Studio (`completion`, `text_embedding`)\n* Azure OpenAI (`completion`, `text_embedding`)\n* Cohere (`completion`, `rerank`, `text_embedding`)\n* Elasticsearch (`rerank`, `sparse_embedding`, `text_embedding` - this service is for built-in models and models uploaded through Eland)\n* ELSER (`sparse_embedding`)\n* Google AI Studio (`completion`, `text_embedding`)\n* Google Vertex AI (`rerank`, `text_embedding`)\n* Hugging Face (`chat_completion`, `completion`, `rerank`, `text_embedding`)\n* Mistral (`chat_completion`, `completion`, `text_embedding`)\n* OpenAI (`chat_completion`, `completion`, `text_embedding`)\n* VoyageAI (`text_embedding`, `rerank`)\n* Watsonx inference integration (`text_embedding`)\n* JinaAI (`text_embedding`, `rerank`)", + "description": "Create an inference endpoint.\n\nIMPORTANT: 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.\nFor built-in models and models uploaded through Eland, the inference APIs offer an alternative way to use and manage trained models.\nHowever, 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.\n\nThe following integrations are available through the inference API. You can find the available task types next to the integration name:\n* AlibabaCloud AI Search (`completion`, `rerank`, `sparse_embedding`, `text_embedding`)\n* Amazon Bedrock (`completion`, `text_embedding`)\n* Anthropic (`completion`)\n* Azure AI Studio (`completion`, `text_embedding`)\n* Azure OpenAI (`completion`, `text_embedding`)\n* Cohere (`completion`, `rerank`, `text_embedding`)\n* DeepSeek (`completion`, `chat_completion`)\n* Elasticsearch (`rerank`, `sparse_embedding`, `text_embedding` - this service is for built-in models and models uploaded through Eland)\n* ELSER (`sparse_embedding`)\n* Google AI Studio (`completion`, `text_embedding`)\n* Google Vertex AI (`rerank`, `text_embedding`)\n* Hugging Face (`chat_completion`, `completion`, `rerank`, `text_embedding`)\n* Mistral (`chat_completion`, `completion`, `text_embedding`)\n* OpenAI (`chat_completion`, `completion`, `text_embedding`)\n* VoyageAI (`text_embedding`, `rerank`)\n* Watsonx inference integration (`text_embedding`)\n* JinaAI (`text_embedding`, `rerank`)", "docId": "inference-api-put", "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/put-inference-api.html", "name": "inference.put", @@ -9814,20 +9814,37 @@ }, { "availability": { + "serverless": { + "stability": "stable", + "visibility": "public" + }, "stack": { + "since": "9.1.0", "stability": "stable", "visibility": "public" } }, - "description": "Configure a DeepSeek inference endpoint", - "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/current/infer-service-deepseek.html", + "description": "Create a DeepSeek inference endpoint.\n\nCreate an inference endpoint to perform an inference task with the `deepseek` service.", + "docId": "inference-api-put-deepseek", + "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/infer-service-deepseek.html", "name": "inference.put_deepseek", - "request": null, + "privileges": { + "cluster": [ + "manage_inference" + ] + }, + "request": { + "name": "Request", + "namespace": "inference.put_deepseek" + }, "requestBodyRequired": false, "requestMediaType": [ "application/json" ], - "response": null, + "response": { + "name": "Response", + "namespace": "inference.put_deepseek" + }, "responseMediaType": [ "application/json" ], @@ -163699,6 +163716,67 @@ ], "specLocation": "inference/_types/CommonTypes.ts#L123-L135" }, + { + "kind": "interface", + "name": { + "name": "DeepSeekServiceSettings", + "namespace": "inference._types" + }, + "properties": [ + { + "description": "A valid API key for your DeepSeek account.\nYou can find or create your DeepSeek API keys on the DeepSeek API key page.\n\nIMPORTANT: You need to provide the API key only once, during the inference model creation.\nThe get inference endpoint API does not retrieve your API key.\nAfter creating the inference model, you cannot change the associated API key.\nIf you want to use a different API key, delete the inference model and recreate it with the same name and the updated API key.", + "extDocId": "deepseek-api-keys", + "extDocUrl": "https://api-docs.deepseek.com/", + "name": "api_key", + "required": true, + "type": { + "kind": "instance_of", + "type": { + "name": "string", + "namespace": "_builtins" + } + } + }, + { + "description": "For a `completion` or `chat_completion` task, the name of the model to use for the inference task.\n\nFor the available `completion` and `chat_completion` models, refer to the [DeepSeek Models & Pricing docs](https://api-docs.deepseek.com/quick_start/pricing).", + "name": "model_id", + "required": true, + "type": { + "kind": "instance_of", + "type": { + "name": "string", + "namespace": "_builtins" + } + } + }, + { + "description": "The URL endpoint to use for the requests. Defaults to `https://api.deepseek.com/chat/completions`.", + "name": "url", + "required": false, + "type": { + "kind": "instance_of", + "type": { + "name": "string", + "namespace": "_builtins" + } + } + } + ], + "specLocation": "inference/_types/CommonTypes.ts#L773-L795" + }, + { + "kind": "enum", + "members": [ + { + "name": "deepseek" + } + ], + "name": { + "name": "DeepSeekServiceType", + "namespace": "inference._types" + }, + "specLocation": "inference/_types/CommonTypes.ts#L797-L799" + }, { "kind": "interface", "description": "Acknowledged response. For dry_run, contains the list of pipelines which reference the inference endpoint", @@ -163838,7 +163916,7 @@ } } ], - "specLocation": "inference/_types/CommonTypes.ts#L794-L828" + "specLocation": "inference/_types/CommonTypes.ts#L822-L856" }, { "kind": "enum", @@ -163851,7 +163929,7 @@ "name": "ElasticsearchServiceType", "namespace": "inference._types" }, - "specLocation": "inference/_types/CommonTypes.ts#L844-L846" + "specLocation": "inference/_types/CommonTypes.ts#L872-L874" }, { "kind": "interface", @@ -163874,7 +163952,7 @@ } } ], - "specLocation": "inference/_types/CommonTypes.ts#L830-L836" + "specLocation": "inference/_types/CommonTypes.ts#L858-L864" }, { "kind": "enum", @@ -163893,7 +163971,7 @@ "name": "ElasticsearchTaskType", "namespace": "inference._types" }, - "specLocation": "inference/_types/CommonTypes.ts#L838-L842" + "specLocation": "inference/_types/CommonTypes.ts#L866-L870" }, { "kind": "interface", @@ -163939,7 +164017,7 @@ } } ], - "specLocation": "inference/_types/CommonTypes.ts#L848-L874" + "specLocation": "inference/_types/CommonTypes.ts#L876-L902" }, { "kind": "enum", @@ -163952,7 +164030,7 @@ "name": "ElserServiceType", "namespace": "inference._types" }, - "specLocation": "inference/_types/CommonTypes.ts#L880-L882" + "specLocation": "inference/_types/CommonTypes.ts#L908-L910" }, { "kind": "enum", @@ -163965,7 +164043,7 @@ "name": "ElserTaskType", "namespace": "inference._types" }, - "specLocation": "inference/_types/CommonTypes.ts#L876-L878" + "specLocation": "inference/_types/CommonTypes.ts#L904-L906" }, { "kind": "enum", @@ -163978,7 +164056,7 @@ "name": "GoogleAiServiceType", "namespace": "inference._types" }, - "specLocation": "inference/_types/CommonTypes.ts#L907-L909" + "specLocation": "inference/_types/CommonTypes.ts#L935-L937" }, { "kind": "interface", @@ -164026,7 +164104,7 @@ } } ], - "specLocation": "inference/_types/CommonTypes.ts#L884-L900" + "specLocation": "inference/_types/CommonTypes.ts#L912-L928" }, { "kind": "enum", @@ -164042,7 +164120,7 @@ "name": "GoogleAiStudioTaskType", "namespace": "inference._types" }, - "specLocation": "inference/_types/CommonTypes.ts#L902-L905" + "specLocation": "inference/_types/CommonTypes.ts#L930-L933" }, { "kind": "interface", @@ -164116,7 +164194,7 @@ } } ], - "specLocation": "inference/_types/CommonTypes.ts#L911-L937" + "specLocation": "inference/_types/CommonTypes.ts#L939-L965" }, { "kind": "enum", @@ -164129,7 +164207,7 @@ "name": "GoogleVertexAIServiceType", "namespace": "inference._types" }, - "specLocation": "inference/_types/CommonTypes.ts#L957-L959" + "specLocation": "inference/_types/CommonTypes.ts#L985-L987" }, { "kind": "interface", @@ -164163,7 +164241,7 @@ } } ], - "specLocation": "inference/_types/CommonTypes.ts#L939-L948" + "specLocation": "inference/_types/CommonTypes.ts#L967-L976" }, { "kind": "enum", @@ -164185,7 +164263,7 @@ "name": "GoogleVertexAITaskType", "namespace": "inference._types" }, - "specLocation": "inference/_types/CommonTypes.ts#L950-L955" + "specLocation": "inference/_types/CommonTypes.ts#L978-L983" }, { "kind": "interface", @@ -164247,7 +164325,7 @@ } } ], - "specLocation": "inference/_types/CommonTypes.ts#L961-L993" + "specLocation": "inference/_types/CommonTypes.ts#L989-L1021" }, { "kind": "enum", @@ -164260,7 +164338,7 @@ "name": "HuggingFaceServiceType", "namespace": "inference._types" }, - "specLocation": "inference/_types/CommonTypes.ts#L1014-L1016" + "specLocation": "inference/_types/CommonTypes.ts#L1042-L1044" }, { "kind": "interface", @@ -164294,7 +164372,7 @@ } } ], - "specLocation": "inference/_types/CommonTypes.ts#L995-L1005" + "specLocation": "inference/_types/CommonTypes.ts#L1023-L1033" }, { "kind": "enum", @@ -164316,7 +164394,7 @@ "name": "HuggingFaceTaskType", "namespace": "inference._types" }, - "specLocation": "inference/_types/CommonTypes.ts#L1007-L1012" + "specLocation": "inference/_types/CommonTypes.ts#L1035-L1040" }, { "kind": "interface", @@ -164379,7 +164457,7 @@ } } ], - "specLocation": "inference/_types/Services.ts#L254-L283" + "specLocation": "inference/_types/Services.ts#L266-L295" }, { "kind": "interface", @@ -164438,7 +164516,7 @@ } } ], - "specLocation": "inference/_types/Services.ts#L42-L62" + "specLocation": "inference/_types/Services.ts#L43-L63" }, { "kind": "interface", @@ -164479,7 +164557,7 @@ } } ], - "specLocation": "inference/_types/Services.ts#L64-L76" + "specLocation": "inference/_types/Services.ts#L65-L77" }, { "kind": "interface", @@ -164519,7 +164597,7 @@ } } ], - "specLocation": "inference/_types/Services.ts#L89-L98" + "specLocation": "inference/_types/Services.ts#L90-L99" }, { "kind": "interface", @@ -164559,7 +164637,7 @@ } } ], - "specLocation": "inference/_types/Services.ts#L100-L109" + "specLocation": "inference/_types/Services.ts#L101-L110" }, { "kind": "interface", @@ -164599,7 +164677,7 @@ } } ], - "specLocation": "inference/_types/Services.ts#L111-L120" + "specLocation": "inference/_types/Services.ts#L112-L121" }, { "kind": "interface", @@ -164639,7 +164717,7 @@ } } ], - "specLocation": "inference/_types/Services.ts#L122-L131" + "specLocation": "inference/_types/Services.ts#L123-L132" }, { "kind": "interface", @@ -164679,7 +164757,7 @@ } } ], - "specLocation": "inference/_types/Services.ts#L133-L142" + "specLocation": "inference/_types/Services.ts#L134-L143" }, { "kind": "interface", @@ -164719,7 +164797,47 @@ } } ], - "specLocation": "inference/_types/Services.ts#L144-L153" + "specLocation": "inference/_types/Services.ts#L145-L154" + }, + { + "kind": "interface", + "inherits": { + "type": { + "name": "InferenceEndpoint", + "namespace": "inference._types" + } + }, + "name": { + "name": "InferenceEndpointInfoDeepSeek", + "namespace": "inference._types" + }, + "properties": [ + { + "description": "The inference Id", + "name": "inference_id", + "required": true, + "type": { + "kind": "instance_of", + "type": { + "name": "string", + "namespace": "_builtins" + } + } + }, + { + "description": "The task type", + "name": "task_type", + "required": true, + "type": { + "kind": "instance_of", + "type": { + "name": "TaskTypeDeepSeek", + "namespace": "inference._types" + } + } + } + ], + "specLocation": "inference/_types/Services.ts#L156-L165" }, { "kind": "interface", @@ -164759,7 +164877,7 @@ } } ], - "specLocation": "inference/_types/Services.ts#L166-L175" + "specLocation": "inference/_types/Services.ts#L178-L187" }, { "kind": "interface", @@ -164799,7 +164917,7 @@ } } ], - "specLocation": "inference/_types/Services.ts#L155-L164" + "specLocation": "inference/_types/Services.ts#L167-L176" }, { "kind": "interface", @@ -164839,7 +164957,7 @@ } } ], - "specLocation": "inference/_types/Services.ts#L177-L186" + "specLocation": "inference/_types/Services.ts#L189-L198" }, { "kind": "interface", @@ -164879,7 +164997,7 @@ } } ], - "specLocation": "inference/_types/Services.ts#L188-L197" + "specLocation": "inference/_types/Services.ts#L200-L209" }, { "kind": "interface", @@ -164919,7 +165037,7 @@ } } ], - "specLocation": "inference/_types/Services.ts#L199-L208" + "specLocation": "inference/_types/Services.ts#L211-L220" }, { "kind": "interface", @@ -164959,7 +165077,7 @@ } } ], - "specLocation": "inference/_types/Services.ts#L78-L87" + "specLocation": "inference/_types/Services.ts#L79-L88" }, { "kind": "interface", @@ -164999,7 +165117,7 @@ } } ], - "specLocation": "inference/_types/Services.ts#L210-L219" + "specLocation": "inference/_types/Services.ts#L222-L231" }, { "kind": "interface", @@ -165039,7 +165157,7 @@ } } ], - "specLocation": "inference/_types/Services.ts#L221-L230" + "specLocation": "inference/_types/Services.ts#L233-L242" }, { "kind": "interface", @@ -165079,7 +165197,7 @@ } } ], - "specLocation": "inference/_types/Services.ts#L232-L241" + "specLocation": "inference/_types/Services.ts#L244-L253" }, { "kind": "interface", @@ -165119,7 +165237,7 @@ } } ], - "specLocation": "inference/_types/Services.ts#L243-L252" + "specLocation": "inference/_types/Services.ts#L255-L264" }, { "kind": "interface", @@ -165279,7 +165397,7 @@ } } ], - "specLocation": "inference/_types/CommonTypes.ts#L1018-L1047" + "specLocation": "inference/_types/CommonTypes.ts#L1046-L1075" }, { "kind": "enum", @@ -165292,7 +165410,7 @@ "name": "JinaAIServiceType", "namespace": "inference._types" }, - "specLocation": "inference/_types/CommonTypes.ts#L1077-L1079" + "specLocation": "inference/_types/CommonTypes.ts#L1105-L1107" }, { "kind": "enum", @@ -165311,7 +165429,7 @@ "name": "JinaAISimilarityType", "namespace": "inference._types" }, - "specLocation": "inference/_types/CommonTypes.ts#L1081-L1085" + "specLocation": "inference/_types/CommonTypes.ts#L1109-L1113" }, { "kind": "interface", @@ -165357,7 +165475,7 @@ } } ], - "specLocation": "inference/_types/CommonTypes.ts#L1049-L1070" + "specLocation": "inference/_types/CommonTypes.ts#L1077-L1098" }, { "kind": "enum", @@ -165373,7 +165491,7 @@ "name": "JinaAITaskType", "namespace": "inference._types" }, - "specLocation": "inference/_types/CommonTypes.ts#L1072-L1075" + "specLocation": "inference/_types/CommonTypes.ts#L1100-L1103" }, { "kind": "enum", @@ -165395,7 +165513,7 @@ "name": "JinaAITextEmbeddingTask", "namespace": "inference._types" }, - "specLocation": "inference/_types/CommonTypes.ts#L1087-L1092" + "specLocation": "inference/_types/CommonTypes.ts#L1115-L1120" }, { "kind": "interface", @@ -165553,7 +165671,7 @@ } } ], - "specLocation": "inference/_types/CommonTypes.ts#L1094-L1121" + "specLocation": "inference/_types/CommonTypes.ts#L1122-L1149" }, { "kind": "enum", @@ -165566,7 +165684,7 @@ "name": "MistralServiceType", "namespace": "inference._types" }, - "specLocation": "inference/_types/CommonTypes.ts#L1129-L1131" + "specLocation": "inference/_types/CommonTypes.ts#L1157-L1159" }, { "kind": "enum", @@ -165585,7 +165703,7 @@ "name": "MistralTaskType", "namespace": "inference._types" }, - "specLocation": "inference/_types/CommonTypes.ts#L1123-L1127" + "specLocation": "inference/_types/CommonTypes.ts#L1151-L1155" }, { "kind": "interface", @@ -165672,7 +165790,7 @@ } } ], - "specLocation": "inference/_types/CommonTypes.ts#L1133-L1175" + "specLocation": "inference/_types/CommonTypes.ts#L1161-L1203" }, { "kind": "enum", @@ -165685,7 +165803,7 @@ "name": "OpenAIServiceType", "namespace": "inference._types" }, - "specLocation": "inference/_types/CommonTypes.ts#L1191-L1193" + "specLocation": "inference/_types/CommonTypes.ts#L1219-L1221" }, { "kind": "interface", @@ -165707,7 +165825,7 @@ } } ], - "specLocation": "inference/_types/CommonTypes.ts#L1177-L1183" + "specLocation": "inference/_types/CommonTypes.ts#L1205-L1211" }, { "kind": "enum", @@ -165726,7 +165844,7 @@ "name": "OpenAITaskType", "namespace": "inference._types" }, - "specLocation": "inference/_types/CommonTypes.ts#L1185-L1189" + "specLocation": "inference/_types/CommonTypes.ts#L1213-L1217" }, { "kind": "interface", @@ -165792,7 +165910,7 @@ } } ], - "specLocation": "inference/_types/Services.ts#L289-L294" + "specLocation": "inference/_types/Services.ts#L301-L306" }, { "kind": "interface", @@ -165940,7 +166058,7 @@ "name": "ServiceSettings", "namespace": "inference._types" }, - "specLocation": "inference/_types/Services.ts#L285-L285", + "specLocation": "inference/_types/Services.ts#L297-L297", "type": { "kind": "user_defined_value" } @@ -166024,7 +166142,7 @@ "name": "TaskSettings", "namespace": "inference._types" }, - "specLocation": "inference/_types/Services.ts#L287-L287", + "specLocation": "inference/_types/Services.ts#L299-L299", "type": { "kind": "user_defined_value" } @@ -166156,6 +166274,22 @@ }, "specLocation": "inference/_types/TaskType.ts#L62-L66" }, + { + "kind": "enum", + "members": [ + { + "name": "completion" + }, + { + "name": "chat_completion" + } + ], + "name": { + "name": "TaskTypeDeepSeek", + "namespace": "inference._types" + }, + "specLocation": "inference/_types/TaskType.ts#L68-L71" + }, { "kind": "enum", "members": [ @@ -166167,7 +166301,7 @@ "name": "TaskTypeELSER", "namespace": "inference._types" }, - "specLocation": "inference/_types/TaskType.ts#L74-L76" + "specLocation": "inference/_types/TaskType.ts#L79-L81" }, { "kind": "enum", @@ -166186,7 +166320,7 @@ "name": "TaskTypeElasticsearch", "namespace": "inference._types" }, - "specLocation": "inference/_types/TaskType.ts#L68-L72" + "specLocation": "inference/_types/TaskType.ts#L73-L77" }, { "kind": "enum", @@ -166202,7 +166336,7 @@ "name": "TaskTypeGoogleAIStudio", "namespace": "inference._types" }, - "specLocation": "inference/_types/TaskType.ts#L78-L81" + "specLocation": "inference/_types/TaskType.ts#L83-L86" }, { "kind": "enum", @@ -166218,7 +166352,7 @@ "name": "TaskTypeGoogleVertexAI", "namespace": "inference._types" }, - "specLocation": "inference/_types/TaskType.ts#L83-L86" + "specLocation": "inference/_types/TaskType.ts#L88-L91" }, { "kind": "enum", @@ -166231,7 +166365,7 @@ "name": "TaskTypeHuggingFace", "namespace": "inference._types" }, - "specLocation": "inference/_types/TaskType.ts#L88-L90" + "specLocation": "inference/_types/TaskType.ts#L93-L95" }, { "kind": "enum", @@ -166260,7 +166394,7 @@ "name": "TaskTypeMistral", "namespace": "inference._types" }, - "specLocation": "inference/_types/TaskType.ts#L92-L94" + "specLocation": "inference/_types/TaskType.ts#L97-L99" }, { "kind": "enum", @@ -166279,7 +166413,7 @@ "name": "TaskTypeOpenAI", "namespace": "inference._types" }, - "specLocation": "inference/_types/TaskType.ts#L96-L100" + "specLocation": "inference/_types/TaskType.ts#L101-L105" }, { "kind": "enum", @@ -166295,7 +166429,7 @@ "name": "TaskTypeVoyageAI", "namespace": "inference._types" }, - "specLocation": "inference/_types/TaskType.ts#L102-L105" + "specLocation": "inference/_types/TaskType.ts#L107-L110" }, { "kind": "enum", @@ -166308,7 +166442,7 @@ "name": "TaskTypeWatsonx", "namespace": "inference._types" }, - "specLocation": "inference/_types/TaskType.ts#L107-L109" + "specLocation": "inference/_types/TaskType.ts#L112-L114" }, { "kind": "interface", @@ -166554,7 +166688,7 @@ } } ], - "specLocation": "inference/_types/CommonTypes.ts#L1195-L1226" + "specLocation": "inference/_types/CommonTypes.ts#L1223-L1254" }, { "kind": "enum", @@ -166567,7 +166701,7 @@ "name": "VoyageAIServiceType", "namespace": "inference._types" }, - "specLocation": "inference/_types/CommonTypes.ts#L1259-L1261" + "specLocation": "inference/_types/CommonTypes.ts#L1287-L1289" }, { "kind": "interface", @@ -166627,7 +166761,7 @@ } } ], - "specLocation": "inference/_types/CommonTypes.ts#L1228-L1252" + "specLocation": "inference/_types/CommonTypes.ts#L1256-L1280" }, { "kind": "enum", @@ -166643,7 +166777,7 @@ "name": "VoyageAITaskType", "namespace": "inference._types" }, - "specLocation": "inference/_types/CommonTypes.ts#L1254-L1257" + "specLocation": "inference/_types/CommonTypes.ts#L1282-L1285" }, { "kind": "interface", @@ -166731,7 +166865,7 @@ } } ], - "specLocation": "inference/_types/CommonTypes.ts#L1263-L1300" + "specLocation": "inference/_types/CommonTypes.ts#L1291-L1328" }, { "kind": "enum", @@ -166744,7 +166878,7 @@ "name": "WatsonxServiceType", "namespace": "inference._types" }, - "specLocation": "inference/_types/CommonTypes.ts#L1306-L1308" + "specLocation": "inference/_types/CommonTypes.ts#L1334-L1336" }, { "kind": "enum", @@ -166757,7 +166891,7 @@ "name": "WatsonxTaskType", "namespace": "inference._types" }, - "specLocation": "inference/_types/CommonTypes.ts#L1302-L1304" + "specLocation": "inference/_types/CommonTypes.ts#L1330-L1332" }, { "kind": "request", @@ -167468,7 +167602,7 @@ } } }, - "description": "Create an inference endpoint.\n\nIMPORTANT: 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.\nFor built-in models and models uploaded through Eland, the inference APIs offer an alternative way to use and manage trained models.\nHowever, 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.\n\nThe following integrations are available through the inference API. You can find the available task types next to the integration name:\n* AlibabaCloud AI Search (`completion`, `rerank`, `sparse_embedding`, `text_embedding`)\n* Amazon Bedrock (`completion`, `text_embedding`)\n* Anthropic (`completion`)\n* Azure AI Studio (`completion`, `text_embedding`)\n* Azure OpenAI (`completion`, `text_embedding`)\n* Cohere (`completion`, `rerank`, `text_embedding`)\n* Elasticsearch (`rerank`, `sparse_embedding`, `text_embedding` - this service is for built-in models and models uploaded through Eland)\n* ELSER (`sparse_embedding`)\n* Google AI Studio (`completion`, `text_embedding`)\n* Google Vertex AI (`rerank`, `text_embedding`)\n* Hugging Face (`chat_completion`, `completion`, `rerank`, `text_embedding`)\n* Mistral (`chat_completion`, `completion`, `text_embedding`)\n* OpenAI (`chat_completion`, `completion`, `text_embedding`)\n* VoyageAI (`text_embedding`, `rerank`)\n* Watsonx inference integration (`text_embedding`)\n* JinaAI (`text_embedding`, `rerank`)", + "description": "Create an inference endpoint.\n\nIMPORTANT: 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.\nFor built-in models and models uploaded through Eland, the inference APIs offer an alternative way to use and manage trained models.\nHowever, 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.\n\nThe following integrations are available through the inference API. You can find the available task types next to the integration name:\n* AlibabaCloud AI Search (`completion`, `rerank`, `sparse_embedding`, `text_embedding`)\n* Amazon Bedrock (`completion`, `text_embedding`)\n* Anthropic (`completion`)\n* Azure AI Studio (`completion`, `text_embedding`)\n* Azure OpenAI (`completion`, `text_embedding`)\n* Cohere (`completion`, `rerank`, `text_embedding`)\n* DeepSeek (`completion`, `chat_completion`)\n* Elasticsearch (`rerank`, `sparse_embedding`, `text_embedding` - this service is for built-in models and models uploaded through Eland)\n* ELSER (`sparse_embedding`)\n* Google AI Studio (`completion`, `text_embedding`)\n* Google Vertex AI (`rerank`, `text_embedding`)\n* Hugging Face (`chat_completion`, `completion`, `rerank`, `text_embedding`)\n* Mistral (`chat_completion`, `completion`, `text_embedding`)\n* OpenAI (`chat_completion`, `completion`, `text_embedding`)\n* VoyageAI (`text_embedding`, `rerank`)\n* Watsonx inference integration (`text_embedding`)\n* JinaAI (`text_embedding`, `rerank`)", "examples": { "InferencePutExample1": { "alternatives": [ @@ -167539,7 +167673,7 @@ } ], "query": [], - "specLocation": "inference/put/PutRequest.ts#L25-L78" + "specLocation": "inference/put/PutRequest.ts#L25-L79" }, { "kind": "response", @@ -168694,6 +168828,112 @@ }, "specLocation": "inference/put_cohere/PutCohereResponse.ts#L22-L24" }, + { + "kind": "request", + "attachedBehaviors": [ + "CommonQueryParameters" + ], + "body": { + "kind": "properties", + "properties": [ + { + "description": "The chunking configuration object.", + "extDocId": "inference-chunking", + "extDocUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/inference-apis.html#infer-chunking-config", + "name": "chunking_settings", + "required": false, + "type": { + "kind": "instance_of", + "type": { + "name": "InferenceChunkingSettings", + "namespace": "inference._types" + } + } + }, + { + "description": "The type of service supported for the specified task type. In this case, `deepseek`.", + "name": "service", + "required": true, + "type": { + "kind": "instance_of", + "type": { + "name": "DeepSeekServiceType", + "namespace": "inference._types" + } + } + }, + { + "description": "Settings used to install the inference model.\nThese settings are specific to the `deepseek` service.", + "name": "service_settings", + "required": true, + "type": { + "kind": "instance_of", + "type": { + "name": "DeepSeekServiceSettings", + "namespace": "inference._types" + } + } + } + ] + }, + "description": "Create a DeepSeek inference endpoint.\n\nCreate an inference endpoint to perform an inference task with the `deepseek` service.", + "inherits": { + "type": { + "name": "RequestBase", + "namespace": "_types" + } + }, + "name": { + "name": "Request", + "namespace": "inference.put_deepseek" + }, + "path": [ + { + "description": "The type of the inference task that the model will perform.", + "name": "task_type", + "required": true, + "type": { + "kind": "instance_of", + "type": { + "name": "TaskTypeDeepSeek", + "namespace": "inference._types" + } + } + }, + { + "description": "The unique identifier of the inference endpoint.", + "name": "deepseek_inference_id", + "required": true, + "type": { + "kind": "instance_of", + "type": { + "name": "Id", + "namespace": "_types" + } + } + } + ], + "query": [], + "specLocation": "inference/put_deepseek/PutDeepSeekRequest.ts#L29-L72" + }, + { + "kind": "response", + "body": { + "kind": "value", + "value": { + "kind": "instance_of", + "type": { + "name": "InferenceEndpointInfoDeepSeek", + "namespace": "inference._types" + } + } + }, + "name": { + "name": "Response", + "namespace": "inference.put_deepseek" + }, + "specLocation": "inference/put_deepseek/PutDeepSeekResponse.ts#L22-L25" + }, { "kind": "request", "attachedBehaviors": [ diff --git a/output/typescript/types.ts b/output/typescript/types.ts index f0aa0724f3..3016e72024 100644 --- a/output/typescript/types.ts +++ b/output/typescript/types.ts @@ -13560,6 +13560,14 @@ export interface InferenceContentObject { type: string } +export interface InferenceDeepSeekServiceSettings { + api_key: string + model_id: string + url?: string +} + +export type InferenceDeepSeekServiceType = 'deepseek' + export interface InferenceDeleteInferenceEndpointResult extends AcknowledgedResponseBase { pipelines: string[] } @@ -13686,6 +13694,11 @@ export interface InferenceInferenceEndpointInfoCohere extends InferenceInference task_type: InferenceTaskTypeCohere } +export interface InferenceInferenceEndpointInfoDeepSeek extends InferenceInferenceEndpoint { + inference_id: string + task_type: InferenceTaskTypeDeepSeek +} + export interface InferenceInferenceEndpointInfoELSER extends InferenceInferenceEndpoint { inference_id: string task_type: InferenceTaskTypeELSER @@ -13856,6 +13869,8 @@ export type InferenceTaskTypeAzureOpenAI = 'text_embedding' | 'completion' export type InferenceTaskTypeCohere = 'text_embedding' | 'rerank' | 'completion' +export type InferenceTaskTypeDeepSeek = 'completion' | 'chat_completion' + export type InferenceTaskTypeELSER = 'sparse_embedding' export type InferenceTaskTypeElasticsearch = 'sparse_embedding' | 'text_embedding' | 'rerank' @@ -14068,6 +14083,18 @@ export interface InferencePutCohereRequest extends RequestBase { export type InferencePutCohereResponse = InferenceInferenceEndpointInfoCohere +export interface InferencePutDeepseekRequest extends RequestBase { + task_type: InferenceTaskTypeDeepSeek + deepseek_inference_id: Id + body?: { + chunking_settings?: InferenceInferenceChunkingSettings + service: InferenceDeepSeekServiceType + service_settings: InferenceDeepSeekServiceSettings + } +} + +export type InferencePutDeepseekResponse = InferenceInferenceEndpointInfoDeepSeek + export interface InferencePutElasticsearchRequest extends RequestBase { task_type: InferenceElasticsearchTaskType elasticsearch_inference_id: Id diff --git a/specification/_doc_ids/table.csv b/specification/_doc_ids/table.csv index f83b5b0873..cf3d7828c0 100644 --- a/specification/_doc_ids/table.csv +++ b/specification/_doc_ids/table.csv @@ -163,6 +163,7 @@ data-stream-update,https://www.elastic.co/docs/api/doc/elasticsearch/v8/operatio data-streams,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/data-streams.html, date-index-name-processor,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/date-index-name-processor.html, dcg,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/search-rank-eval.html#_discounted_cumulative_gain_dcg, +deepseek-api-keys,https://api-docs.deepseek.com/, defining-roles,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/defining-roles.html, delete-analytics-collection,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/delete-analytics-collection.html, delete-async-sql-search-api,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/delete-async-sql-search-api.html, @@ -348,6 +349,7 @@ inference-api-put-anthropic,https://www.elastic.co/guide/en/elasticsearch/refere inference-api-put-azureopenai,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/infer-service-azure-openai.html, inference-api-put-azureaistudio,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/infer-service-azure-ai-studio.html, inference-api-put-cohere,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/infer-service-cohere.html, +inference-api-put-deepseek,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/infer-service-deepseek.html, inference-api-put-elasticsearch,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/infer-service-elasticsearch.html, inference-api-put-eis,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/infer-service-elastic.html, inference-api-put-elser,https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/infer-service-elser.html, diff --git a/specification/inference/_types/CommonTypes.ts b/specification/inference/_types/CommonTypes.ts index 932038c81b..d288e4febf 100644 --- a/specification/inference/_types/CommonTypes.ts +++ b/specification/inference/_types/CommonTypes.ts @@ -770,6 +770,34 @@ export class EisServiceSettings { rate_limit?: RateLimitSetting } +export class DeepSeekServiceSettings { + /** + * A valid API key for your DeepSeek account. + * You can find or create your DeepSeek API keys on the DeepSeek API key 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. + * @ext_doc_id deepseek-api-keys + */ + api_key: string + /** + * For a `completion` or `chat_completion` task, the name of the model to use for the inference task. + * + * For the available `completion` and `chat_completion` models, refer to the [DeepSeek Models & Pricing docs](https://api-docs.deepseek.com/quick_start/pricing). + */ + model_id: string + /** + * The URL endpoint to use for the requests. Defaults to `https://api.deepseek.com/chat/completions`. + */ + url?: string +} + +export enum DeepSeekServiceType { + deepseek +} + export enum EisTaskType { chat_completion, rerank diff --git a/specification/inference/_types/Services.ts b/specification/inference/_types/Services.ts index aa69b2bb22..eaa8067433 100644 --- a/specification/inference/_types/Services.ts +++ b/specification/inference/_types/Services.ts @@ -27,6 +27,7 @@ import { TaskTypeAzureAIStudio, TaskTypeAzureOpenAI, TaskTypeCohere, + TaskTypeDeepSeek, TaskTypeElasticsearch, TaskTypeELSER, TaskTypeGoogleAIStudio, @@ -152,6 +153,17 @@ export class InferenceEndpointInfoCohere extends InferenceEndpoint { task_type: TaskTypeCohere } +export class InferenceEndpointInfoDeepSeek extends InferenceEndpoint { + /** + * The inference Id + */ + inference_id: string + /** + * The task type + */ + task_type: TaskTypeDeepSeek +} + export class InferenceEndpointInfoElasticsearch extends InferenceEndpoint { /** * The inference Id diff --git a/specification/inference/_types/TaskType.ts b/specification/inference/_types/TaskType.ts index 7c36323488..5e511fe9b4 100644 --- a/specification/inference/_types/TaskType.ts +++ b/specification/inference/_types/TaskType.ts @@ -65,6 +65,11 @@ export enum TaskTypeCohere { completion } +export enum TaskTypeDeepSeek { + completion, + chat_completion +} + export enum TaskTypeElasticsearch { sparse_embedding, text_embedding, diff --git a/specification/inference/put/PutRequest.ts b/specification/inference/put/PutRequest.ts index f62d6c4e14..89d4ab9bcd 100644 --- a/specification/inference/put/PutRequest.ts +++ b/specification/inference/put/PutRequest.ts @@ -36,6 +36,7 @@ import { TaskType } from '@inference/_types/TaskType' * * Azure AI Studio (`completion`, `text_embedding`) * * Azure OpenAI (`completion`, `text_embedding`) * * Cohere (`completion`, `rerank`, `text_embedding`) + * * DeepSeek (`completion`, `chat_completion`) * * 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`) diff --git a/specification/inference/put_deepseek/PutDeepSeekRequest.ts b/specification/inference/put_deepseek/PutDeepSeekRequest.ts new file mode 100644 index 0000000000..8abd332dcb --- /dev/null +++ b/specification/inference/put_deepseek/PutDeepSeekRequest.ts @@ -0,0 +1,72 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { RequestBase } from '@_types/Base' +import { Id } from '@_types/common' +import { + DeepSeekServiceSettings, + DeepSeekServiceType +} from '@inference/_types/CommonTypes' +import { InferenceChunkingSettings } from '@inference/_types/Services' +import { TaskTypeDeepSeek } from '@inference/_types/TaskType' + +/** + * Create a DeepSeek inference endpoint. + * + * Create an inference endpoint to perform an inference task with the `deepseek` service. + * @rest_spec_name inference.put_deepseek + * @availability stack since=9.1.0 stability=stable visibility=public + * @availability serverless stability=stable visibility=public + * @cluster_privileges manage_inference + * @doc_id inference-api-put-deepseek + */ +export interface Request extends RequestBase { + urls: [ + { + path: '/_inference/{task_type}/{deepseek_inference_id}' + methods: ['PUT'] + } + ] + path_parts: { + /** + * The type of the inference task that the model will perform. + */ + task_type: TaskTypeDeepSeek + /** + * The unique identifier of the inference endpoint. + */ + deepseek_inference_id: Id + } + body: { + /** + * The chunking configuration object. + * @ext_doc_id inference-chunking + */ + chunking_settings?: InferenceChunkingSettings + /** + * The type of service supported for the specified task type. In this case, `deepseek`. + */ + service: DeepSeekServiceType + /** + * Settings used to install the inference model. + * These settings are specific to the `deepseek` service. + */ + service_settings: DeepSeekServiceSettings + } +} diff --git a/specification/inference/put_deepseek/PutDeepSeekResponse.ts b/specification/inference/put_deepseek/PutDeepSeekResponse.ts new file mode 100644 index 0000000000..d2c14e6103 --- /dev/null +++ b/specification/inference/put_deepseek/PutDeepSeekResponse.ts @@ -0,0 +1,25 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { InferenceEndpointInfoDeepSeek } from '@inference/_types/Services' + +export class Response { + /** @codegen_name endpoint_info */ + body: InferenceEndpointInfoDeepSeek +} diff --git a/specification/inference/put_deepseek/request/PutDeepSeekRequestExample1.yaml b/specification/inference/put_deepseek/request/PutDeepSeekRequestExample1.yaml new file mode 100644 index 0000000000..bd1169b22b --- /dev/null +++ b/specification/inference/put_deepseek/request/PutDeepSeekRequestExample1.yaml @@ -0,0 +1,12 @@ +summary: A completion task +description: Run `PUT _inference/completion/deepseek-completion` to create an inference endpoint that performs a completion task. +method_request: 'PUT _inference/completion/deepseek-completion' +# type: "request" +value: |- + { + "service": "deepseek", + "service_settings": { + "api_key": "DeepSeek-Api-key", + "model_id": "deepseek-chat" + } + } diff --git a/specification/inference/put_deepseek/request/PutDeepSeekRequestExample2.yaml b/specification/inference/put_deepseek/request/PutDeepSeekRequestExample2.yaml new file mode 100644 index 0000000000..91d11d1cb5 --- /dev/null +++ b/specification/inference/put_deepseek/request/PutDeepSeekRequestExample2.yaml @@ -0,0 +1,12 @@ +summary: A chat completion task +description: Run `PUT _inference/chat_completion/deepseek-chat-completion` to create an inference endpoint that performs a chat completion task. +method_request: 'PUT _inference/chat_completion/deepseek-chat-completion' +# type: "request" +value: |- + { + "service": "deepseek", + "service_settings": { + "api_key": "DeepSeek-Api-key", + "model_id": "deepseek-chat" + } + }