This guide covers all configuration options available in Prometheus Swarm.
Environment Variables
Prometheus Swarm uses environment variables for sensitive configuration. You can set these using a .env
file or system environment variables.
Required Variables
# AI Model API Keys
ANTHROPIC_API_KEY=your_anthropic_key
OPENAI_API_KEY=your_openai_key
GOOGLE_API_KEY=your_google_key
# Database Configuration (optional)
DATABASE_URL=your_database_url
WorkflowConfig
The WorkflowConfig
class is the main configuration object for workflows:
from prometheus_swarm.types import WorkflowConfig
config = WorkflowConfig(
model="claude-3-opus-20240229", # AI model to use
temperature=0.7, # Response randomness (0.0-1.0)
max_tokens=1000, # Maximum response length
database_url="sqlite:///db.sqlite3", # Database connection string
retry_attempts=3, # Number of retry attempts
timeout=30, # Request timeout in seconds
)
Available Models
Anthropic Models
- claude-3-opus-20240229
- claude-3-sonnet-20240229
- claude-2.1
- claude-2.0
OpenAI Models
- gpt-4-turbo-preview
- gpt-4
- gpt-3.5-turbo
Google Models
- gemini-pro
- gemini-pro-vision
Database Configuration
SQLite (Default)
from prometheus_swarm.database import Database
db = Database("sqlite:///local.db")
PostgreSQL
db = Database("postgresql://user:password@localhost:5432/dbname")
MongoDB
db = Database("mongodb://localhost:27017/")
Client Configuration
Anthropic Client
from prometheus_swarm.clients import AnthropicClient
client = AnthropicClient(
model="claude-3-opus-20240229",
temperature=0.7,
max_tokens=1000,
)
OpenAI Client
from prometheus_swarm.clients import OpenAIClient
client = OpenAIClient(
model="gpt-4-turbo-preview",
temperature=0.7,
max_tokens=1000,
)
Google Client
from prometheus_swarm.clients import GoogleClient
client = GoogleClient(
model="gemini-pro",
temperature=0.7,
max_tokens=1000,
)
Logging Configuration
Prometheus Swarm uses Python’s built-in logging module. You can configure it like this:
import logging
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
Advanced Configuration
Custom Model Configuration
from prometheus_swarm.types import ModelConfig
model_config = ModelConfig(
name="custom-model",
api_base="https://api.custom.com",
api_key="your-key",
max_tokens=2000,
)
Retry Configuration
from prometheus_swarm.types import RetryConfig
retry_config = RetryConfig(
max_attempts=3,
initial_delay=1,
max_delay=10,
exponential_base=2,
)
Workflow Timeout Configuration
from prometheus_swarm.types import TimeoutConfig
timeout_config = TimeoutConfig(
request_timeout=30,
workflow_timeout=300,
)