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
)