Appearance
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 compliantReport 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
| Template | Use Case |
|---|---|
executive_brief | C-level summary, 1 page |
technical_deep_dive | Engineering detail |
compliance_full | Regulatory submission |
incident_summary | Post-incident review |
model_comparison | Side-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 24hAudit 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
- EU AI Act - European compliance
- ISO 42001 - AI management standard
- Drift Detection - Monitoring and alerts