{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/PartialEmbeddings", "title": "PartialEmbeddings", "type": "object", "properties": { "config": { "type": "object", "properties": { "auth": { "type": "object", "properties": { "allow_override": { "description": "If enabled, the authorization header or parameter can be overridden in the request by the value configured in the plugin.", "type": "boolean", "default": false }, "aws_access_key_id": { "description": "Set this if you are using an AWS provider (Bedrock) and you are authenticating using static IAM User credentials. Setting this will override the AWS_ACCESS_KEY_ID environment variable for this plugin instance.", "type": "string", "x-encrypted": true, "x-referenceable": true }, "aws_secret_access_key": { "description": "Set this if you are using an AWS provider (Bedrock) and you are authenticating using static IAM User credentials. Setting this will override the AWS_SECRET_ACCESS_KEY environment variable for this plugin instance.", "type": "string", "x-encrypted": true, "x-referenceable": true }, "azure_client_id": { "description": "If azure_use_managed_identity is set to true, and you need to use a different user-assigned identity for this LLM instance, set the client ID.", "type": "string", "x-referenceable": true }, "azure_client_secret": { "description": "If azure_use_managed_identity is set to true, and you need to use a different user-assigned identity for this LLM instance, set the client secret.", "type": "string", "x-encrypted": true, "x-referenceable": true }, "azure_tenant_id": { "description": "If azure_use_managed_identity is set to true, and you need to use a different user-assigned identity for this LLM instance, set the tenant ID.", "type": "string", "x-referenceable": true }, "azure_use_managed_identity": { "description": "Set true to use the Azure Cloud Managed Identity (or user-assigned identity) to authenticate with Azure-provider models.", "type": "boolean", "default": false }, "gcp_metadata_url": { "description": "Custom metadata URL for GCP authentication. Useful for restricted network environments or custom GCP endpoints. If null, Kong will use the default Google metadata endpoint.", "type": "string", "x-referenceable": true }, "gcp_oauth_token_url": { "description": "Custom OAuth token URL for GCP authentication. Useful for restricted network environments or custom GCP endpoints. If null, Kong will use the default Google OAuth token endpoint.", "type": "string", "x-referenceable": true }, "gcp_service_account_json": { "description": "Set this field to the full JSON of the GCP service account to authenticate, if required. If null (and gcp_use_service_account is true), Kong will attempt to read from environment variable `GCP_SERVICE_ACCOUNT`.", "type": "string", "x-encrypted": true, "x-referenceable": true }, "gcp_use_service_account": { "description": "Use service account auth for GCP-based providers and models.", "type": "boolean", "default": false }, "header_name": { "description": "If AI model requires authentication via Authorization or API key header, specify its name here.", "type": "string", "x-referenceable": true }, "header_value": { "description": "Specify the full auth header value for 'header_name', for example 'Bearer key' or just 'key'.", "type": "string", "x-encrypted": true, "x-referenceable": true }, "param_location": { "description": "Specify whether the 'param_name' and 'param_value' options go in a query string, or the POST form/JSON body.", "type": "string", "enum": [ "body", "query" ] }, "param_name": { "description": "If AI model requires authentication via query parameter, specify its name here.", "type": "string", "x-referenceable": true }, "param_value": { "description": "Specify the full parameter value for 'param_name'.", "type": "string", "x-encrypted": true, "x-referenceable": true } } }, "model": { "type": "object", "properties": { "name": { "description": "Model name to execute.", "type": "string" }, "options": { "description": "Key/value settings for the model", "type": "object", "properties": { "azure": { "type": "object", "properties": { "api_version": { "description": "'api-version' for Azure OpenAI instances.", "type": "string", "default": "2023-05-15" }, "deployment_id": { "description": "Deployment ID for Azure OpenAI instances.", "type": "string" }, "instance": { "description": "Instance name for Azure OpenAI hosted models.", "type": "string" } } }, "bedrock": { "type": "object", "properties": { "aws_assume_role_arn": { "description": "If using AWS providers (Bedrock) you can assume a different role after authentication with the current IAM context is successful.", "type": "string" }, "aws_region": { "description": "If using AWS providers (Bedrock) you can override the `AWS_REGION` environment variable by setting this option.", "type": "string" }, "aws_role_session_name": { "description": "If using AWS providers (Bedrock), set the identifier of the assumed role session.", "type": "string" }, "aws_sts_endpoint_url": { "description": "If using AWS providers (Bedrock), override the STS endpoint URL when assuming a different role.", "type": "string" }, "batch_bucket_prefix": { "description": "S3 URI prefix (s3://bucket/prefix/) where Bedrock will get input files from and store results to for native batch API.", "type": "string" }, "batch_role_arn": { "description": "AWS role arn used for calling batch API. Try to get the value from request if ommited.", "type": "string" }, "embeddings_normalize": { "description": "If using AWS providers (Bedrock), set to true to normalize the embeddings.", "type": "boolean", "default": false }, "performance_config_latency": { "description": "Force the client's performance configuration 'latency' for all requests. Leave empty to let the consumer select the performance configuration.", "type": "string" }, "video_output_s3_uri": { "description": "S3 URI (s3://bucket/prefix) where Bedrock will store generated video files. Required for video generation.", "type": "string" } } }, "gemini": { "type": "object", "properties": { "api_endpoint": { "description": "If running Gemini on Vertex, specify the regional API endpoint (hostname only).", "type": "string" }, "location_id": { "description": "If running Gemini on Vertex, specify the location ID.", "type": "string" }, "project_id": { "description": "If running Gemini on Vertex, specify the project ID.", "type": "string" } } }, "huggingface": { "type": "object", "properties": { "use_cache": { "description": "Use the cache layer on the inference API", "type": "boolean" }, "wait_for_model": { "description": "Wait for the model if it is not ready", "type": "boolean" } } }, "upstream_url": { "description": "upstream url for the embeddings", "type": "string" } } }, "provider": { "description": "AI provider format to use for embeddings API", "type": "string", "enum": [ "azure", "bedrock", "gemini", "huggingface", "mistral", "ollama", "openai" ] } }, "required": [ "name", "provider" ] } }, "required": [ "model" ] }, "created_at": { "description": "Unix epoch when the resource was created.", "type": "integer", "nullable": true }, "id": { "description": "A string representing a UUID (universally unique identifier).", "type": "string", "nullable": true }, "name": { "description": "A unique string representing a UTF-8 encoded name.", "type": "string", "nullable": true }, "tags": { "description": "A set of strings representing tags.", "type": "array", "items": { "description": "A string representing a tag.", "type": "string" }, "nullable": true }, "type": { "type": "string", "const": "embeddings", "x-terraform-transform-const": true }, "updated_at": { "description": "Unix epoch when the resource was last updated.", "type": "integer", "nullable": true } }, "example": { "config": { "auth": { "header_name": "Authorization", "header_value": "Bearer openai-api-key" }, "model": { "name": "text-embedding-3-small", "provider": "openai" } }, "type": "embeddings" }, "additionalProperties": false, "required": [ "type", "config" ] }