Install Helm Chart¶
Deploy HolmesGPT as a service in your Kubernetes cluster with an HTTP API.
When to use the Helm chart?
Most users should use the CLI or UI/TUI instead. Using the Helm chart is only recommended if you're building a custom integration over an HTTP API.
Prerequisites¶
- Kubernetes cluster
- Helm
- kubectl configured to access your cluster
- Supported AI Provider API key.
Installation¶
-
Add the Helm repository:
-
Create
values.yaml
file:Create a
values.yaml
file to configure HolmesGPT with your models using themodelList
approach:# values.yaml additionalEnvVars: - name: OPENAI_API_KEY value: "your-openai-api-key" # Or load from secret: # - name: OPENAI_API_KEY # valueFrom: # secretKeyRef: # name: holmes-secrets # key: openai-api-key modelList: gpt-4o: api_key: "{{ env.OPENAI_API_KEY }}" model: openai/gpt-4o temperature: 0 gpt-4o-mini: api_key: "{{ env.OPENAI_API_KEY }}" model: openai/gpt-4o-mini temperature: 0
# values.yaml additionalEnvVars: - name: ANTHROPIC_API_KEY value: "your-anthropic-api-key" # Or load from secret: # - name: ANTHROPIC_API_KEY # valueFrom: # secretKeyRef: # name: holmes-secrets # key: anthropic-api-key modelList: claude-sonnet: api_key: "{{ env.ANTHROPIC_API_KEY }}" model: anthropic/claude-3-5-sonnet-20241022 temperature: 0
# values.yaml additionalEnvVars: - name: AZURE_API_KEY value: "your-azure-api-key" - name: AZURE_API_BASE value: "https://your-resource.openai.azure.com/" - name: AZURE_API_VERSION value: "2024-02-15-preview" # Or load from secret: # - name: AZURE_API_KEY # valueFrom: # secretKeyRef: # name: holmes-secrets # key: azure-api-key # - name: AZURE_API_BASE # valueFrom: # secretKeyRef: # name: holmes-secrets # key: azure-api-base modelList: azure-gpt4: api_key: "{{ env.AZURE_API_KEY }}" model: azure/your-deployment-name api_base: "{{ env.AZURE_API_BASE }}" api_version: "{{ env.AZURE_API_VERSION }}" temperature: 0
# values.yaml additionalEnvVars: - name: OPENAI_API_KEY value: "your-openai-api-key" - name: ANTHROPIC_API_KEY value: "your-anthropic-api-key" # Or load from secrets (recommended) modelList: gpt-4o: api_key: "{{ env.OPENAI_API_KEY }}" model: openai/gpt-4o temperature: 0 claude-sonnet: api_key: "{{ env.ANTHROPIC_API_KEY }}" model: anthropic/claude-3-5-sonnet-20241022 temperature: 0 gpt-4o-mini: api_key: "{{ env.OPENAI_API_KEY }}" model: openai/gpt-4o-mini temperature: 0
Configuration Guide: Each AI provider requires different environment variables. See the AI Providers documentation for the specific environment variables needed for your chosen provider, then add them to the
additionalEnvVars
section as shown above. For a complete list of all environment variables, see the Environment Variables Reference. For advanced multiple provider setup, see Using Multiple Providers. -
Install HolmesGPT:
Usage¶
After installation, test the service with a simple API call:
# Port forward to access the service locally
# Note: Service name is {release-name}-holmes
kubectl port-forward svc/holmesgpt-holmes 8080:80
# If you used a different release name or namespace:
# kubectl port-forward svc/{your-release-name}-holmes 8080:80 -n {your-namespace}
# Test with a basic question using modelList model name
curl -X POST http://localhost:8080/api/chat \
-H "Content-Type: application/json" \
-d '{"ask": "list pods in namespace default?", "model": "gpt-4o-mini"}'
# Using a different model from your modelList
curl -X POST http://localhost:8080/api/chat \
-H "Content-Type: application/json" \
-d '{"ask": "list pods in namespace default?", "model": "claude-sonnet"}'
Note: Responses may take some time when HolmesGPT needs to gather large amounts of data to answer your question. Streaming APIs are coming soon to stream results.
For complete API documentation, see the HTTP API Reference.
Upgrading¶
Uninstalling¶
Need Help?¶
- Join our Slack - Get help from the community
- Request features on GitHub - Suggest improvements or report bugs
- Troubleshooting guide - Common issues and solutions