ai-agent / docs /getting-started /configuration.md
katospiegel's picture
Deploy develop: FastAPI+React frontend, multi-stage Docker (ai_agent serve)
07c2476 verified
|
Raw
History Blame Contribute Delete
3.88 kB
# Configuration
Before running the AI Imaging Agent, you need to configure it with your API keys and preferences.
## Environment Variables
Create a `.env` file in the repository root with the following configuration:
```dotenv
# Required: OpenAI API key
OPENAI_API_KEY=sk-xxxx
# Optional: GitHub token for repository info tool
GITHUB_TOKEN=ghp_xxxx
# Optional: Alternative model providers
EPFL_API_KEY=sk-xxxx
# Software catalog path
SOFTWARE_CATALOG=dataset/catalog.jsonl
# Logging configuration
LOGLEVEL_CONSOLE=WARNING
LOGLEVEL_FILE=INFO
FILE_LOG=1
LOG_DIR=logs
LOG_PROMPTS=0 # Set to 1 to save prompt snapshots for debugging
# Custom config path
CONFIG_PATH=config.yaml
```
## Required Configuration
### OpenAI API Key
The AI Imaging Agent requires an OpenAI API key for the vision-language model:
1. Sign up for an account at [OpenAI](https://platform.openai.com/)
2. Navigate to [API Keys](https://platform.openai.com/api-keys)
3. Create a new API key
4. Add it to your `.env` file:
```dotenv
OPENAI_API_KEY=sk-your-actual-key-here
```
## Model Configuration
The agent model can be configured via `config.yaml`:
```yaml
# AI Agent Model Configuration
# Default/fallback model (used for CLI and initial startup)
agent_model:
name: "gpt-4o-mini"
base_url: null # null for default OpenAI endpoint
api_key_env: "OPENAI_API_KEY"
# Available models for UI dropdown
available_models:
- display_name: "gpt-4o-mini"
name: "gpt-4o-mini"
base_url: null
provider: "OpenAI"
api_key_env: "OPENAI_API_KEY"
- display_name: "gpt-4o"
name: "gpt-4o"
base_url: null
provider: "OpenAI"
api_key_env: "OPENAI_API_KEY"
- display_name: "gpt-5.1"
name: "gpt-5.1"
base_url: null
provider: "OpenAI"
api_key_env: "OPENAI_API_KEY"
```
### Using Alternative Model Providers
You can configure custom OpenAI-compatible endpoints:
```yaml
available_models:
- display_name: "EPFL Inference"
name: "gpt-4o-mini"
base_url: "https://inference.epfl.ch/v1"
provider: "EPFL"
api_key_env: "EPFL_API_KEY"
```
Then add the corresponding API key to your `.env`:
```dotenv
EPFL_API_KEY=your-epfl-key
```
## Optional Configuration
### GitHub Token
For the repository info tool (optional):
```dotenv
GITHUB_TOKEN=ghp_your_github_personal_access_token
```
This enables the agent to fetch detailed information about GitHub repositories.
### Pipeline Parameters
Adjust retrieval and recommendation settings directly in the app setting. You can change the `TOP_K` and `NUM_CHOICES` parameters.
### Logging
Configure logging behavior:
```dotenv
# Console log level (DEBUG, INFO, WARNING, ERROR)
LOGLEVEL_CONSOLE=WARNING
# File log level
LOGLEVEL_FILE=INFO
# Enable file logging (0 or 1)
FILE_LOG=1
# Log directory
LOG_DIR=logs
# Save VLM prompts and images for debugging (0 or 1)
LOG_PROMPTS=0
```
!!! tip "Debug Mode"
Set `LOG_PROMPTS=1` to save VLM prompts and images to the `logs/` directory. This is useful for debugging but will increase disk usage.
### Software Catalog
Specify the path to your software catalog:
```dotenv
SOFTWARE_CATALOG=dataset/catalog.jsonl
```
The catalog should be in JSONL format following the schema.org SoftwareSourceCode structure.
## Verification
After configuring, verify your setup:
```bash
# Check that environment variables are loaded
python -c "from dotenv import load_dotenv; import os; load_dotenv(); print('API Key:', 'SET' if os.getenv('OPENAI_API_KEY') else 'NOT SET')"
```
## Next Steps
With configuration complete, you're ready to:
- [Run the Quick Start](quickstart.md)
- Learn about [Using the Chat Interface](../user-guide/chat-interface.md)