diff --git a/src/aks-agent/HISTORY.rst b/src/aks-agent/HISTORY.rst index f193943bdf5..66f1cb82055 100644 --- a/src/aks-agent/HISTORY.rst +++ b/src/aks-agent/HISTORY.rst @@ -12,6 +12,10 @@ To release a new version, please select a new version number (usually plus 1 to Pending +++++++ +1.0.0b2 ++++++++ +* Clarify the description of the `--model` parameter to indicate it requires both the LLM provider and the specific model or deployment name. + 1.0.0b1 +++++++ * Add interactive AI-powered debugging tool `az aks agent`. diff --git a/src/aks-agent/azext_aks_agent/_help.py b/src/aks-agent/azext_aks_agent/_help.py index d97a1ccedc9..2db34e74e63 100644 --- a/src/aks-agent/azext_aks_agent/_help.py +++ b/src/aks-agent/azext_aks_agent/_help.py @@ -26,7 +26,14 @@ short-summary: Name of the resource group. - name: --model type: string - short-summary: Model to use for the LLM. + short-summary: Specify the LLM provider and model or deployment to use for the AI assistant. + long-summary: |- + The --model parameter determines which large language model (LLM) and provider will be used to analyze your cluster. + For OpenAI, use the model name directly (e.g., gpt-4o). + For Azure OpenAI, use `azure/` (e.g., azure/gpt-4.1). + Each provider may require different environment variables and model naming conventions. + For a full list of supported providers, model patterns, and required environment variables, see https://docs.litellm.ai/docs/providers. + Note: For Azure OpenAI, it is recommended to set the deployment name as the model name until https://github.com/BerriAI/litellm/issues/13950 is resolved. - name: --api-key type: string short-summary: API key to use for the LLM (if not given, uses environment variables AZURE_API_KEY, OPENAI_API_KEY). @@ -55,29 +62,17 @@ export AZURE_API_BASE="https://my-azureopenai-service.openai.azure.com/" export AZURE_API_VERSION="2025-01-01-preview" export AZURE_API_KEY="sk-xxx" - az aks agent "Why are my pods not starting?" --name MyManagedCluster --resource-group MyResourceGroup --model azure/my-gpt4.1-deployment + az aks agent "Why are my pods not starting?" --name MyManagedCluster --resource-group MyResourceGroup --model azure/gpt-4.1 - name: Ask about pod issues in the cluster with OpenAI text: |- export OPENAI_API_KEY="sk-xxx" az aks agent "Why are my pods not starting?" --name MyManagedCluster --resource-group MyResourceGroup --model gpt-4o - - name: Run in interactive mode without a question - text: az aks agent "Check the pod status in my cluster" --name MyManagedCluster --resource-group MyResourceGroup --model azure/my-gpt4.1-deployment --api-key "sk-xxx" - - name: Run in non-interactive batch mode - text: az aks agent "Diagnose networking issues" --no-interactive --max-steps 15 --model azure/my-gpt4.1-deployment - - name: Show detailed tool output during analysis - text: az aks agent "Why is my service workload unavailable in namespace workload-ns?" --show-tool-output --model azure/my-gpt4.1-deployment - - name: Use custom configuration file - text: az aks agent "Check kubernetes pod resource usage" --config-file /path/to/custom.yaml --model azure/my-gpt4.1-deployment - - name: Run agent with no echo of the original question - text: az aks agent "What is the status of my cluster?" --no-echo-request --model azure/my-gpt4.1-deployment - - name: Refresh toolsets to get the latest available tools - text: az aks agent "What is the status of my cluster?" --refresh-toolsets --model azure/my-gpt4.1-deployment - name: Run agent with config file text: | - az aks agent "Check kubernetes pod resource usage" --config-file /path/to/custom.yaml + az aks agent "Check kubernetes pod resource usage" --config-file /path/to/custom.yaml --name MyManagedCluster --resource-group MyResourceGroup Here is an example of config file: ```json - model: "gpt-4o" + model: "azure/gpt-4.1" api_key: "..." # define a list of mcp servers, mcp server can be defined mcp_servers: @@ -103,4 +98,16 @@ aks/core: enabled: false ``` + - name: Run in interactive mode without a question + text: az aks agent "Check the pod status in my cluster" --name MyManagedCluster --resource-group MyResourceGroup --model azure/gpt-4.1 --api-key "sk-xxx" + - name: Run in non-interactive batch mode + text: az aks agent "Diagnose networking issues" --no-interactive --max-steps 15 --model azure/gpt-4.1 + - name: Show detailed tool output during analysis + text: az aks agent "Why is my service workload unavailable in namespace workload-ns?" --show-tool-output --model azure/gpt-4.1 + - name: Use custom configuration file + text: az aks agent "Check kubernetes pod resource usage" --config-file /path/to/custom.yaml --model azure/gpt-4.1 + - name: Run agent with no echo of the original question + text: az aks agent "What is the status of my cluster?" --no-echo-request --model azure/gpt-4.1 + - name: Refresh toolsets to get the latest available tools + text: az aks agent "What is the status of my cluster?" --refresh-toolsets --model azure/gpt-4.1 """ diff --git a/src/aks-agent/azext_aks_agent/_params.py b/src/aks-agent/azext_aks_agent/_params.py index 89c2abc7f6f..005a957f771 100644 --- a/src/aks-agent/azext_aks_agent/_params.py +++ b/src/aks-agent/azext_aks_agent/_params.py @@ -18,6 +18,7 @@ def load_arguments(self, _): c.positional( "prompt", help="Ask any question and answer using available tools.", + required=False, ) c.argument( "resource_group_name", @@ -47,12 +48,12 @@ def load_arguments(self, _): ) c.argument( "model", - help="The model to use for the LLM.", + help="Specify the LLM provider and model or deployment to use for the AI assistant.", required=False, type=str, ) c.argument( - "api-key", + "api_key", help="API key to use for the LLM (if not given, uses environment variables AZURE_API_KEY, OPENAI_API_KEY)", required=False, type=str, diff --git a/src/aks-agent/setup.py b/src/aks-agent/setup.py index 50725225ecb..dfeb8a9d7dd 100644 --- a/src/aks-agent/setup.py +++ b/src/aks-agent/setup.py @@ -9,7 +9,7 @@ from setuptools import find_packages, setup -VERSION = "1.0.0b1" +VERSION = "1.0.0b2" CLASSIFIERS = [ "Development Status :: 4 - Beta",