Configuration
Environment Variables
AutoGen requires proper configuration for API access and functionality:
Ubuntu Configuration
bash
# Create environment file
sudo mkdir -p /etc/autogen
sudo touch /etc/autogen/config.env
# Set permissions
sudo chown $USER:$USER /etc/autogen/config.env
chmod 600 /etc/autogen/config.env
RHEL8 Configuration
bash
# Create configuration directory
sudo mkdir -p /etc/autogen
sudo touch /etc/autogen/config.env
# Set SELinux context (if SELinux is enabled)
sudo setsebool -P httpd_can_network_connect 1
sudo chcon -R -t admin_home_t /etc/autogen/
API Configuration File
Create the main configuration file:
bash
# Edit configuration file
vim /etc/autogen/config.env
Add the following content:
ini
# OpenAI Configuration
OPENAI_API_KEY=your_openai_api_key_here
OPENAI_API_BASE=https://api.openai.com/v1
# Azure OpenAI Configuration (if using Azure)
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
AZURE_OPENAI_API_KEY=your_azure_api_key
AZURE_OPENAI_API_VERSION=2023-12-01-preview
# Model Configuration
DEFAULT_MODEL=gpt-4
TEMPERATURE=0.7
MAX_TOKENS=2000
# Code Execution Settings
CODE_EXECUTION_CONFIG_WORK_DIR=/tmp/autogen_code
CODE_EXECUTION_CONFIG_USE_DOCKER=false
LLM Configuration
Create a Python configuration file for model settings:
python
# /opt/autogen/llm_config.py
import os
from dotenv import load_dotenv
# Load environment variables
load_dotenv('/etc/autogen/config.env')
# LLM Configuration for different providers
llm_config = {
"config_list": [
{
"model": "gpt-4",
"api_key": os.getenv("OPENAI_API_KEY"),
"api_type": "openai",
"base_url": os.getenv("OPENAI_API_BASE", "https://api.openai.com/v1")
}
],
"temperature": float(os.getenv("TEMPERATURE", "0.7")),
"max_tokens": int(os.getenv("MAX_TOKENS", "2000")),
"timeout": 300,
}
# Azure OpenAI Configuration
azure_llm_config = {
"config_list": [
{
"model": "gpt-4",
"api_key": os.getenv("AZURE_OPENAI_API_KEY"),
"api_type": "azure",
"base_url": os.getenv("AZURE_OPENAI_ENDPOINT"),
"api_version": os.getenv("AZURE_OPENAI_API_VERSION")
}
],
"temperature": 0.7,
"max_tokens": 2000
}
Code Execution Configuration
Set up secure code execution environments:
Ubuntu Code Execution Setup
bash
# Create work directory
sudo mkdir -p /tmp/autogen_code
sudo chown $USER:$USER /tmp/autogen_code
chmod 755 /tmp/autogen_code
# Install Docker (optional but recommended)
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
# Start Docker service
sudo systemctl enable docker
sudo systemctl start docker
RHEL8 Code Execution Setup
bash
# Create work directory
sudo mkdir -p /tmp/autogen_code
sudo chown $USER:$USER /tmp/autogen_code
sudo chmod 755 /tmp/autogen_code
# Install Docker
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install -y docker-ce docker-ce-cli containerd.io
sudo usermod -aG docker $USER
# Configure SELinux for Docker (if enabled)
sudo setsebool -P container_manage_cgroup true
# Start Docker
sudo systemctl enable docker
sudo systemctl start docker