Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions src/aks-agent/HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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`.
39 changes: 23 additions & 16 deletions src/aks-agent/azext_aks_agent/_help.py
Original file line number Diff line number Diff line change
Expand Up @@ -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/<deployment name>` (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).
Expand Down Expand Up @@ -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"
Comment thread
mainred marked this conversation as resolved.
api_key: "..."
# define a list of mcp servers, mcp server can be defined
mcp_servers:
Expand All @@ -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
"""
5 changes: 3 additions & 2 deletions src/aks-agent/azext_aks_agent/_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down Expand Up @@ -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,
Expand Down
2 changes: 1 addition & 1 deletion src/aks-agent/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

from setuptools import find_packages, setup

VERSION = "1.0.0b1"
VERSION = "1.0.0b2"

CLASSIFIERS = [
"Development Status :: 4 - Beta",
Expand Down
Loading