# Biomni Configuration Guide ## Quick Start **Recommended approach**: Use environment variables or modify `default_config` for consistent behavior across your entire application. ```python from biomni.config import default_config from biomni.agent import A1 # Option 1: Modify global defaults (affects everything) default_config.llm = "gpt-4" default_config.timeout_seconds = 1200 # Option 2: Use environment variables (set in .env file) # BIOMNI_LLM=gpt-4 # BIOMNI_TIMEOUT_SECONDS=1200 agent = A1() # Uses your configuration ``` ## Configuration Methods ### 1. Environment Variables (Recommended for Production) Create a `.env` file in your project: ```bash # Required API Keys (at least one) ANTHROPIC_API_KEY=your_key OPENAI_API_KEY=your_key # Optional Settings BIOMNI_LLM=claude-3-5-sonnet-20241022 BIOMNI_TIMEOUT_SECONDS=1200 BIOMNI_PATH=/path/to/data ``` ### 2. Runtime Configuration (Recommended for Scripts) ```python from biomni.config import default_config # Changes apply to all agents and database queries default_config.llm = "gpt-4" default_config.timeout_seconds = 1200 ``` ### 3. Direct Parameters (Use with Caution) ```python # ⚠️ Only affects this agent's reasoning, NOT database queries agent = A1(llm="claude-3-5-sonnet-20241022") ``` ## Common Examples ### Using Different Models ```python # Use GPT-4 everywhere default_config.llm = "gpt-4" agent = A1() ``` ### Cost Optimization (Different Models for Agent vs Database) ```python # Cheaper model for database queries default_config.llm = "claude-3-5-haiku-20241022" # More powerful model for agent reasoning agent = A1(llm="claude-3-5-sonnet-20241022") ``` ### Custom/Local Models ```python default_config.source = "Custom" default_config.base_url = "http://localhost:8000/v1" default_config.api_key = "local_key" default_config.llm = "local-llama-70b" ``` ## All Available Settings ### Environment Variables ```bash # API Keys ANTHROPIC_API_KEY=your_key OPENAI_API_KEY=your_key GEMINI_API_KEY=your_key GROQ_API_KEY=your_key AWS_BEARER_TOKEN_BEDROCK=your_key AWS_REGION=us-east-1 # Azure OpenAI OPENAI_ENDPOINT=https://your-resource.openai.azure.com/ # Biomni Settings BIOMNI_PATH=/path/to/data # Default: ./data BIOMNI_TIMEOUT_SECONDS=1200 # Default: 600 BIOMNI_LLM=model_name # Default: claude-sonnet-4-20250514 BIOMNI_TEMPERATURE=0.7 # Default: 0.7 BIOMNI_USE_TOOL_RETRIEVER=true # Default: true BIOMNI_SOURCE=Anthropic # Auto-detected if not set BIOMNI_CUSTOM_BASE_URL=http://localhost:8000/v1 BIOMNI_CUSTOM_API_KEY=custom_key ``` ### Python Configuration ```python from biomni.config import default_config # All available settings default_config.path = "./data" default_config.timeout_seconds = 600 default_config.llm = "claude-sonnet-4-20250514" default_config.temperature = 0.7 default_config.use_tool_retriever = True default_config.source = None # Auto-detected default_config.base_url = None # For custom models default_config.api_key = None # For custom models ``` ## Important Notes - **For pip-installed packages**: You can't edit the package files, but you can still use environment variables or modify `default_config` at runtime - **Configuration consistency**: Database queries always use `default_config`, regardless of agent parameters - **Priority order**: Direct params > Runtime config > Env vars > Defaults ## Troubleshooting **API Key Not Found**: - Check `.env` file exists in your working directory - Verify with: `echo $ANTHROPIC_API_KEY` **Configuration Not Applied**: - Changes to `default_config` only affect agents created after the change - Direct parameters only affect that specific agent, not database queries **Model Not Found**: - Check spelling of model name - For Azure, prefix with "azure-" (e.g., "azure-gpt-4o") - Ensure you have the right API key for that provider