Skip to content

Report Generation

Generate compliance reports, audit artifacts, and evaluation summaries automatically.

Report Types

Evaluation Reports

Summarize evaluation results over a time period.

python
from gateflow import EvalClient

client = EvalClient(api_key="gf-...")

# Generate eval summary report
report = client.generate_report(
    type="evaluation_summary",
    models=["gpt-4o", "claude-opus-4-5"],
    time_range="monthly",
    suites=["quality-general", "safety-core"]
)

print(report.summary)
# Evaluation Summary Report
# Period: March 2024
#
# Model Performance:
# - gpt-4o: 91.2% (↓1.3%)
# - claude-opus-4-5: 94.5% (↑0.8%)
#
# Suite Breakdown:
# - quality-general: 92.1%
# - safety-core: 99.8%
#
# Issues Detected: 3
# - gpt-4o quality regression (Week 2)
# - Drift alert triggered (Week 3)
# - Recovery confirmed (Week 4)

Compliance Reports

Generate regulatory compliance documentation.

python
# EU AI Act compliance report
report = client.generate_report(
    type="compliance",
    regulation="eu_ai_act",
    models=["your-model"],
    time_range="quarterly"
)

# ISO 42001 compliance report
report = client.generate_report(
    type="compliance",
    standard="iso_42001",
    models=["your-model"],
    time_range="annual"
)

Audit Reports

Create audit-ready documentation.

python
report = client.generate_report(
    type="audit",
    scope="full",
    time_range="annual",
    include_sections=[
        "model_inventory",
        "evaluation_history",
        "routing_decisions",
        "incidents",
        "human_oversight",
        "remediation_actions"
    ]
)

Executive Reports

High-level summaries for leadership.

python
report = client.generate_report(
    type="executive",
    time_range="quarterly",
    include_sections=[
        "key_metrics",
        "risk_summary",
        "compliance_status",
        "recommendations"
    ]
)

# Returns concise, visual-ready summary
print(report.key_metrics)
# - Models monitored: 5
# - Evaluations run: 12,847
# - Average quality score: 93.2%
# - Safety incidents: 0
# - Compliance status: Fully compliant

Report Configuration

Output Formats

python
# PDF report
report = client.generate_report(
    type="evaluation_summary",
    format="pdf"
)
report.download("/path/to/report.pdf")

# HTML report (interactive)
report = client.generate_report(
    type="evaluation_summary",
    format="html"
)
report.download("/path/to/report.html")

# JSON (for programmatic access)
report = client.generate_report(
    type="evaluation_summary",
    format="json"
)
data = report.to_dict()

# CSV (raw data export)
report = client.generate_report(
    type="evaluation_summary",
    format="csv"
)
report.download("/path/to/report.csv")

Customization

python
report = client.generate_report(
    type="evaluation_summary",
    time_range="monthly",

    # Customize content
    include_sections=[
        "executive_summary",
        "model_performance",
        "suite_breakdown",
        "trend_analysis",
        "incidents",
        "recommendations"
    ],
    exclude_sections=["raw_data"],

    # Customize appearance
    branding={
        "logo_url": "https://company.com/logo.png",
        "company_name": "Your Company",
        "primary_color": "#0D7377"
    },

    # Customize metrics
    metrics={
        "show_percentiles": True,
        "comparison_period": "previous_month",
        "highlight_threshold": 90
    }
)

Scheduled Reports

Automatic Generation

python
# Schedule weekly reports
client.schedule_report(
    name="Weekly Eval Summary",
    type="evaluation_summary",
    frequency="weekly",
    day_of_week="monday",
    time="09:00",
    timezone="America/New_York",

    models=["gpt-4o", "claude-opus-4-5"],
    suites=["quality-general", "safety-core"],

    delivery={
        "email": ["team@company.com"],
        "slack": "#ai-ops",
        "s3": "s3://reports-bucket/weekly/"
    }
)

# Schedule monthly compliance reports
client.schedule_report(
    name="Monthly Compliance",
    type="compliance",
    regulation="eu_ai_act",
    frequency="monthly",
    day_of_month=1,

    delivery={
        "email": ["compliance@company.com"],
        "s3": "s3://compliance-bucket/monthly/"
    }
)

Managing Scheduled Reports

python
# List scheduled reports
schedules = client.list_scheduled_reports()

for schedule in schedules:
    print(f"{schedule.name}: {schedule.frequency}")

# Pause a scheduled report
client.pause_scheduled_report(schedule_id="sched_abc123")

# Resume
client.resume_scheduled_report(schedule_id="sched_abc123")

# Delete
client.delete_scheduled_report(schedule_id="sched_abc123")

Report Templates

Built-in Templates

TemplateUse Case
executive_briefC-level summary, 1 page
technical_deep_diveEngineering detail
compliance_fullRegulatory submission
incident_summaryPost-incident review
model_comparisonSide-by-side model analysis
python
report = client.generate_report(
    template="executive_brief",
    models=["your-model"],
    time_range="quarterly"
)

Custom Templates

python
# Create a custom template
client.create_report_template(
    name="my_custom_template",
    sections=[
        {
            "name": "Overview",
            "type": "metrics_summary",
            "metrics": ["accuracy", "safety", "latency"]
        },
        {
            "name": "Risk Analysis",
            "type": "risk_matrix",
            "dimensions": ["safety", "bias", "reliability"]
        },
        {
            "name": "Trend Chart",
            "type": "time_series",
            "metrics": ["quality_score"],
            "period": "daily"
        },
        {
            "name": "Action Items",
            "type": "recommendations",
            "max_items": 5
        }
    ],
    branding={
        "logo_url": "...",
        "colors": {...}
    }
)

# Use custom template
report = client.generate_report(
    template="my_custom_template",
    models=["your-model"],
    time_range="monthly"
)

Data Export

Raw Data Export

python
# Export evaluation results
export = client.export_data(
    data_type="eval_results",
    time_range="30d",
    format="parquet",  # or csv, json, jsonl
    filters={
        "models": ["gpt-4o"],
        "suites": ["quality-general"]
    }
)

download_url = export.download_url  # Valid for 24h

Audit Trail Export

python
export = client.export_data(
    data_type="audit_trail",
    time_range="annual",
    format="json",
    signed=True  # Cryptographic signature
)

# Verify signature
is_valid = client.verify_export_signature(export.signature)

Retention and Archiving

Retention Policies

python
# Configure report retention
client.configure_retention(
    reports={
        "evaluation_summary": "2y",
        "compliance": "10y",
        "audit": "10y",
        "executive": "5y"
    }
)

Archiving

python
# Archive old reports
client.archive_reports(
    older_than="1y",
    destination="s3://archive-bucket/reports/"
)

# Access archived reports
archived = client.list_archived_reports(
    time_range="2023-01-01:2023-12-31"
)

# Restore from archive
client.restore_report(report_id="rpt_old123")

API Access

List Reports

python
reports = client.list_reports(
    type="evaluation_summary",
    time_range="90d",
    limit=10
)

for report in reports:
    print(f"{report.name} - {report.created_at}")

Download Reports

python
# Get specific report
report = client.get_report(report_id="rpt_abc123")

# Download
report.download("/path/to/report.pdf")

# Get download URL
url = report.get_download_url(expires_in=3600)

Next Steps

Built with reliability in mind.