{ "description": "AIService is a Kubernetes-like Service to interact with a text-based LLM provider. It defines the parameters and credentials required to interact with various LLM providers.", "properties": { "apiVersion": { "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { "type": "object" }, "spec": { "description": "The desired behavior of this AIService.", "properties": { "anthropic": { "description": "Anthropic configures Anthropic backend.", "properties": { "model": { "type": "string" }, "params": { "description": "Params holds the LLM hyperparameters.", "properties": { "frequencyPenalty": { "type": "number" }, "maxTokens": { "type": "integer" }, "presencePenalty": { "type": "number" }, "temperature": { "type": "number" }, "topP": { "type": "number" } }, "type": "object", "additionalProperties": false }, "token": { "description": "SecretReference references a kubernetes secret.", "properties": { "secretName": { "maxLength": 253, "type": "string" } }, "required": [ "secretName" ], "type": "object", "additionalProperties": false } }, "type": "object", "additionalProperties": false }, "azureOpenai": { "description": "AzureOpenAI configures AzureOpenAI.", "properties": { "apiKeySecret": { "description": "SecretReference references a kubernetes secret.", "properties": { "secretName": { "maxLength": 253, "type": "string" } }, "required": [ "secretName" ], "type": "object", "additionalProperties": false }, "baseUrl": { "type": "string" }, "deploymentName": { "type": "string" }, "model": { "type": "string" }, "params": { "description": "Params holds the LLM hyperparameters.", "properties": { "frequencyPenalty": { "type": "number" }, "maxTokens": { "type": "integer" }, "presencePenalty": { "type": "number" }, "temperature": { "type": "number" }, "topP": { "type": "number" } }, "type": "object", "additionalProperties": false } }, "required": [ "baseUrl", "deploymentName" ], "type": "object", "additionalProperties": false }, "bedrock": { "description": "Bedrock configures Bedrock backend.", "properties": { "model": { "type": "string" }, "params": { "description": "Params holds the LLM hyperparameters.", "properties": { "frequencyPenalty": { "type": "number" }, "maxTokens": { "type": "integer" }, "presencePenalty": { "type": "number" }, "temperature": { "type": "number" }, "topP": { "type": "number" } }, "type": "object", "additionalProperties": false }, "region": { "type": "string" }, "systemMessage": { "type": "boolean" } }, "type": "object", "additionalProperties": false }, "cohere": { "description": "Cohere configures Cohere backend.", "properties": { "model": { "type": "string" }, "params": { "description": "Params holds the LLM hyperparameters.", "properties": { "frequencyPenalty": { "type": "number" }, "maxTokens": { "type": "integer" }, "presencePenalty": { "type": "number" }, "temperature": { "type": "number" }, "topP": { "type": "number" } }, "type": "object", "additionalProperties": false }, "token": { "description": "SecretReference references a kubernetes secret.", "properties": { "secretName": { "maxLength": 253, "type": "string" } }, "required": [ "secretName" ], "type": "object", "additionalProperties": false } }, "type": "object", "additionalProperties": false }, "deepSeek": { "description": "DeepSeek configures DeepSeek.", "properties": { "baseUrl": { "type": "string" }, "model": { "type": "string" }, "params": { "description": "Params holds the LLM hyperparameters.", "properties": { "frequencyPenalty": { "type": "number" }, "maxTokens": { "type": "integer" }, "presencePenalty": { "type": "number" }, "temperature": { "type": "number" }, "topP": { "type": "number" } }, "type": "object", "additionalProperties": false }, "token": { "description": "SecretReference references a kubernetes secret.", "properties": { "secretName": { "maxLength": 253, "type": "string" } }, "required": [ "secretName" ], "type": "object", "additionalProperties": false } }, "type": "object", "additionalProperties": false }, "gemini": { "description": "Gemini configures Gemini backend.", "properties": { "apiKey": { "description": "SecretReference references a kubernetes secret.", "properties": { "secretName": { "maxLength": 253, "type": "string" } }, "required": [ "secretName" ], "type": "object", "additionalProperties": false }, "model": { "type": "string" }, "params": { "description": "Params holds the LLM hyperparameters.", "properties": { "frequencyPenalty": { "type": "number" }, "maxTokens": { "type": "integer" }, "presencePenalty": { "type": "number" }, "temperature": { "type": "number" }, "topP": { "type": "number" } }, "type": "object", "additionalProperties": false } }, "type": "object", "additionalProperties": false }, "mistral": { "description": "Mistral configures Mistral AI backend.", "properties": { "apiKey": { "description": "SecretReference references a kubernetes secret.", "properties": { "secretName": { "maxLength": 253, "type": "string" } }, "required": [ "secretName" ], "type": "object", "additionalProperties": false }, "model": { "type": "string" }, "params": { "description": "Params holds the LLM hyperparameters.", "properties": { "frequencyPenalty": { "type": "number" }, "maxTokens": { "type": "integer" }, "presencePenalty": { "type": "number" }, "temperature": { "type": "number" }, "topP": { "type": "number" } }, "type": "object", "additionalProperties": false } }, "type": "object", "additionalProperties": false }, "ollama": { "description": "Ollama configures Ollama backend.", "properties": { "baseUrl": { "type": "string" }, "model": { "type": "string" }, "params": { "description": "Params holds the LLM hyperparameters.", "properties": { "frequencyPenalty": { "type": "number" }, "maxTokens": { "type": "integer" }, "presencePenalty": { "type": "number" }, "temperature": { "type": "number" }, "topP": { "type": "number" } }, "type": "object", "additionalProperties": false } }, "required": [ "baseUrl" ], "type": "object", "additionalProperties": false }, "openai": { "description": "OpenAI configures OpenAI.", "properties": { "baseUrl": { "type": "string" }, "model": { "type": "string" }, "params": { "description": "Params holds the LLM hyperparameters.", "properties": { "frequencyPenalty": { "type": "number" }, "maxTokens": { "type": "integer" }, "presencePenalty": { "type": "number" }, "temperature": { "type": "number" }, "topP": { "type": "number" } }, "type": "object", "additionalProperties": false }, "token": { "description": "SecretReference references a kubernetes secret.", "properties": { "secretName": { "maxLength": 253, "type": "string" } }, "required": [ "secretName" ], "type": "object", "additionalProperties": false } }, "type": "object", "additionalProperties": false }, "qWen": { "description": "QWen configures QWen.", "properties": { "baseUrl": { "type": "string" }, "model": { "type": "string" }, "params": { "description": "Params holds the LLM hyperparameters.", "properties": { "frequencyPenalty": { "type": "number" }, "maxTokens": { "type": "integer" }, "presencePenalty": { "type": "number" }, "temperature": { "type": "number" }, "topP": { "type": "number" } }, "type": "object", "additionalProperties": false }, "token": { "description": "SecretReference references a kubernetes secret.", "properties": { "secretName": { "maxLength": 253, "type": "string" } }, "required": [ "secretName" ], "type": "object", "additionalProperties": false } }, "type": "object", "additionalProperties": false } }, "type": "object", "additionalProperties": false } }, "type": "object" }