Overview
PentAGI supports multiple LLM providers to give you flexibility in choosing the best models for your penetration testing workflows. You must configure at least one provider to use PentAGI.At least one LLM provider is required. Configure OpenAI, Anthropic, Gemini, AWS Bedrock, Ollama, or a custom provider before starting PentAGI.
OpenAI Configuration
OpenAI provides cutting-edge language models including GPT-4.1 series and o-series reasoning models.Your OpenAI API key from platform.openai.com
OpenAI API endpoint URL
Supported Models
- o-series: Advanced reasoning models (o1, o3, o4-mini) with step-by-step analytical thinking
- GPT-4.1: Latest flagship models optimized for complex security research
- GPT-4: Powerful models for deep analysis and exploit development
- GPT-3.5: Fast, cost-effective models for high-volume scanning
Example Configuration
.env
Anthropic Configuration
Anthropic’s Claude models are known for exceptional reasoning capabilities and safety.Your Anthropic API key from console.anthropic.com
Anthropic API endpoint URL
Supported Models
- Claude 4: Advanced reasoning for sophisticated penetration testing
- Claude 3.7: Extended thinking capabilities for methodical security research
- Claude 3.5 Haiku: High-speed performance for real-time monitoring
- Claude Sonnet: Comprehensive analysis and threat hunting
Example Configuration
.env
Google AI (Gemini) Configuration
Google’s Gemini models offer multimodal capabilities and large context windows.Your Google AI API key from ai.google.dev
Google AI API endpoint URL
Supported Models
- Gemini 2.5: Advanced reasoning with step-by-step analysis
- Gemini Pro: High-performance models for complex tasks
- Gemini Flash: Cost-effective models for high-throughput operations
- Extended Context: Up to 2M tokens for analyzing extensive codebases
Example Configuration
.env
AWS Bedrock Configuration
Amazon Bedrock provides enterprise-grade access to foundation models from multiple providers.AWS region for Bedrock service
AWS access key ID for authentication
AWS secret access key for authentication
AWS session token (for temporary credentials)
Optional custom Bedrock endpoint (for VPC endpoints)
Supported Models
- Anthropic Claude: Claude 4 and Claude 3.7 with advanced reasoning
- Amazon Nova: Multimodal models supporting text, image, and video
- Meta Llama: Open-source models with various sizes
- AI21 Jamba: High-performance enterprise models
- Cohere Command: Optimized for conversational tasks
- DeepSeek R1: Advanced reasoning capabilities
Example Configuration
.env
Ollama Configuration
Ollama provides local LLM inference for zero-cost operation and enhanced privacy.URL of your Ollama server
Default model for inference
Path to YAML configuration file for agent-specific models
Timeout in seconds for downloading models
Automatically download models on startup
Query Ollama server for available models on startup
Creating Custom Models with Extended Context
PentAGI requires models with 110K context size. Create custom models using Modelfiles: Example: Qwen3 32B with Extended ContextModelfile_qwen3_32b_fp16_tc
The
num_ctx parameter can only be set during model creation via Modelfile - it cannot be changed after creation or overridden at runtime.Example Configuration
.env
Performance Considerations
- Model Discovery (
LOAD_MODELS_ENABLED=true): Adds 1-2s startup latency - Auto-pull (
PULL_MODELS_ENABLED=true): First startup may take several minutes - Static Config: Disable both flags and specify models in config file for fastest startup
Custom LLM Provider
Configure custom LLM providers including OpenRouter, DeepSeek, Moonshot, and Deep Infra.Base URL for the custom LLM API endpoint
API key for the custom LLM provider
Default model to use (can be overridden in config)
Path to YAML configuration file for agent-specific models
Provider name prefix for model names (useful for LiteLLM proxy)
When using LiteLLM proxy, models get a provider prefix. Set this to use the same config file for both direct API access and proxy access.Example:
moonshot/kimi-2.5 with LLM_SERVER_PROVIDER=moonshotUse legacy string-based
reasoning_effort parameter instead of structured reasoning objectPreserve reasoning content in multi-turn conversations
Required by some providers (e.g., Moonshot) that return errors when reasoning content is missing in multi-turn conversations.
Example Configurations
OpenRouter:.env
.env
.env
Provider Configuration Files
Both Ollama and custom providers support YAML configuration files to specify different models for different agent types:example.custom.provider.yml
example.ollama.provider.yml
Mount these files as volumes in docker-compose.yml:
Global Proxy Configuration
All LLM providers support routing through a proxy for network isolation:Global HTTP proxy URL for all LLM providers and external systems
Next Steps
Configure Search Engines
Enable DuckDuckGo, Google, Tavily, and more
Security Settings
Configure SSL, authentication, and secrets