AgentGraph / utils /config.py
wu981526092's picture
add
7bc750c
raw
history blame
1.57 kB
import os
from pathlib import Path
from dotenv import load_dotenv
# Load environment variables from .env file
env_path = Path('.') / '.env'
load_dotenv(dotenv_path=env_path)
# OpenAI Configuration
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
OPENAI_MODEL_NAME = os.getenv("OPENAI_MODEL_NAME", "gpt-5-mini")
AZURE_API_KEY = os.getenv("AZURE_API_KEY")
AZURE_API_BASE = os.getenv("AZURE_API_BASE")
AZURE_API_VERSION = os.getenv("AZURE_API_VERSION")
# Langfuse Configuration
LANGFUSE_PUBLIC_KEY = os.getenv("LANGFUSE_PUBLIC_KEY")
LANGFUSE_SECRET_KEY = os.getenv("LANGFUSE_SECRET_KEY")
LANGFUSE_HOST = os.getenv("LANGFUSE_HOST", "https://cloud.langfuse.com")
LANGFUSE_AUTH = ""
if LANGFUSE_PUBLIC_KEY and LANGFUSE_SECRET_KEY:
import base64
LANGFUSE_AUTH = base64.b64encode(f"{LANGFUSE_PUBLIC_KEY}:{LANGFUSE_SECRET_KEY}".encode()).decode()
# Other API Keys
ANTHROPIC_API_KEY = os.getenv("ANTHROPIC_API_KEY")
# Database Configuration
DB_URI = os.getenv("DB_URI", "sqlite:///agent_monitoring.db")
# Function to validate configuration
def validate_config():
"""Validates that all required environment variables are set"""
required_vars = [
("OPENAI_API_KEY", OPENAI_API_KEY),
]
missing_vars = [var_name for var_name, var_value in required_vars if not var_value]
if missing_vars:
missing_vars_str = ", ".join(missing_vars)
print(f"Missing required environment variables: {missing_vars_str}")
print(f"Please set them in the .env file or as environment variables")
return False
return True