Skip to content

Advanced Usage

Error Handling

The SDK uses custom exceptions to provide clear error messages:

from airia import AiriaAPIError, AiriaClient

# Works with both API keys and bearer tokens
client = AiriaClient(api_key="your_api_key")
# Or: client = AiriaClient.with_bearer_token(bearer_token="your_bearer_token")

try:
    response = client.execute_pipeline(
        pipeline_id="invalid_id",
        user_input="test"
    )
except AiriaAPIError as e:
    print(f"API error: {e.status_code} - {e.message}")

Configuring Logging

import sys
from airia import configure_logging

# Basic configuration
logger = configure_logging()

# Advanced configuration
file_logger = configure_logging(
    format_string="[{time:YYYY-MM-DD HH:mm:ss}] [{level}] {message}",
    level="DEBUG",
    sink="app.log",
    rotation="10 MB",
    retention="1 week",
    include_correlation_id=True
)

# Console output with custom format
console_logger = configure_logging(
    format_string="[{time:HH:mm:ss}] {message}",
    level="INFO",
    sink=sys.stdout
)