Skip to main content

SDK for analyzing and evaluating agent traces stored in BigQuery.

Project description

BigQuery Agent Analytics SDK

License Python CI

An open-source Python SDK for analyzing, evaluating, and curating agent traces stored in BigQuery. Built on top of the BigQuery Agent Analytics, it provides a consumption-layer toolkit for agent observability, analysis, evaluation, and advanced capabilities like the Agent Context Graph — extracting decision traces from your agent's context graph — at scale.

Overview

The BigQuery Agent Analytics SDK connects your AI agent telemetry in BigQuery to a rich set of evaluation, observability, and analytics capabilities. It is designed for ML engineers, data scientists, and platform teams who run agents in production and need to understand agent behavior, measure quality, and detect regressions — all through BigQuery SQL or Python.

Key Features

Observability

  • Trace reconstruction and DAG visualization
  • Per-event-type BigQuery views
  • Observability dashboards (SQL and BigFrames)

Evaluation

  • Code-based metrics (latency, turn count, error rate, token efficiency, cost)
  • LLM-as-Judge scoring (correctness, hallucination, sentiment)
  • Trajectory matching (exact, in-order, any-order)
  • Multi-trial evaluation with pass@k / pass^k
  • Grader composition (weighted, binary, majority strategies)
  • Eval suite lifecycle management with graduation and saturation detection
  • Static quality validation (ambiguous tasks, class imbalance, suspicious thresholds)

AI/ML Integration

  • BigQuery AI.GENERATE, AI.EMBED, AI.CLASSIFY
  • Anomaly detection and latency forecasting
  • Categorical (Hatteras-style) evaluation via BigFrames

Advanced Analytics

  • Agent Context Graph — extract decision traces from your agent's context graph: the requests an agent handled, the options it weighed, and the outcomes it committed, materialized into a queryable BigQuery property graph (GQL traversal, scheduled refresh via bqaa context-graph)
  • Long-horizon cross-session memory
  • Multi-stage agent insights pipeline
  • Drift detection for golden vs production question distributions

CLI (bq-agent-sdk)

  • 12+ commands for diagnostics, evaluation, and CI/CD integration

Deployment Surfaces

  • Remote Function (BigQuery SQL via Cloud Run)
  • Python UDF scoring kernels
  • Streaming evaluation (Cloud Scheduler + Cloud Run)
  • Continuous query templates

Usage Telemetry

  • Every job the SDK submits is labeled (sdk, sdk_version, sdk_surface, sdk_feature, and sdk_ai_function where relevant) so operators can attribute spend, latency, and adoption directly from INFORMATION_SCHEMA.JOBS_BY_PROJECT. No extra telemetry pipeline is required. See docs/sdk_usage_tracking.md for the label schema and ready-to-run tracking queries.

Prerequisites

Installation

pip install bigquery-agent-analytics

With optional LLM judge support:

pip install bigquery-agent-analytics[llm]

With BigFrames support:

pip install bigquery-agent-analytics[bigframes]

Quick Start

from bigquery_agent_analytics import Client

client = Client(project_id="my-project", dataset_id="analytics")
trace = client.get_trace("trace-abc-123")
trace.render()

See SDK.md for the full API walkthrough with code examples for every feature.

Try it: extract decision traces (Agent Context Graph, ~10 minutes)

Deploy a context graph, seed sample agent events, extract the decision traces, and query one in GQL — entirely from your terminal:

export PROJECT_ID="your-project" DATASET="agent_analytics_demo"
gcloud config set project "$PROJECT_ID"
bq --location=US mk --dataset "$PROJECT_ID:$DATASET"

# 1. Deploy the context graph (one-time DDL: tables, then the property graph).
cd examples/context_graph/codelab
envsubst < table_ddl.sql      | bq query --use_legacy_sql=false
envsubst < property_graph.sql | bq query --use_legacy_sql=false

# 2. Seed five sample agent sessions into agent_events.
bqaa seed-events --project-id "$PROJECT_ID" --dataset-id "$DATASET" --sessions 5

# 3. Extract decision traces from the deployed graph
#    (read back via INFORMATION_SCHEMA.PROPERTY_GRAPHS — no SQL file passed).
bqaa context-graph --project-id "$PROJECT_ID" --dataset-id "$DATASET" \
    --graph agent_decisions_graph --lookback-hours 24 --format json

# 4. Query a decision trace: what did the agent weigh, and how did it resolve?
bq query --use_legacy_sql=false "
SELECT * FROM GRAPH_TABLE(
  $DATASET.agent_decisions_graph
  MATCH (req:DecisionRequest)-[eo:evaluatesOption]->(opt:DecisionOption),
        (req)-[ri:resultedIn]->(out:DecisionOutcome)
  COLUMNS (req.request_text AS question, opt.option_label AS considered,
           out.status AS outcome, out.rationale AS rationale))"

Expect "ok": true with 5 sessions materialized, and fifteen GQL rows — three options weighed per request, each with the committed outcome and rationale. The Agent Context Graph codelab is the guided version of these steps (plus backfill and production scheduling), and examples/context_graph/ is the worked example with a runnable ADK agent.

Documentation

Resource Description
SDK Feature Reference Complete API walkthrough with working code examples
Agent Context Graph Codelab Extract decision traces from your agent's context graph, end to end (~35 min)
Scheduled Deploy Runbook Keep the context graph fresh on a Cloud Run + Cloud Scheduler cron
Design Documents Architecture decisions and design rationale
Examples Notebooks, SQL scripts, and demos
Deployment Guides Four deployment surfaces for Google Cloud

Architecture

src/bigquery_agent_analytics/
│
├── Core
│   ├── client.py                  # High-level SDK client
│   ├── trace.py                   # Trace reconstruction & visualization
│   ├── views.py                   # Per-event-type BigQuery view management
│   ├── event_semantics.py         # Canonical event type helpers & predicates
│   ├── serialization.py           # Uniform serialization layer
│   └── formatter.py               # Output formatting (json/text/table)
│
├── Evaluation
│   ├── evaluators.py              # SystemEvaluator + LLMAsJudge
│   ├── trace_evaluator.py         # Trajectory matching & replay
│   ├── multi_trial.py             # Multi-trial runner + pass@k
│   ├── grader_pipeline.py         # Grader composition pipeline
│   ├── eval_suite.py              # Eval suite lifecycle management
│   └── eval_validator.py          # Static validation checks
│
├── AI/ML
│   ├── ai_ml_integration.py       # BigQuery AI/ML capabilities
│   ├── bigframes_evaluator.py     # BigFrames DataFrame evaluator
│   ├── categorical_evaluator.py   # Hatteras categorical evaluation
│   └── categorical_views.py       # Categorical metric views
│
├── Analytics
│   ├── insights.py                # Multi-stage insights pipeline
│   ├── feedback.py                # Drift detection & question distribution
│   └── memory_service.py          # Long-horizon agent memory
│
├── Agent Context Graph
│   ├── context_graph.py           # Decision-trace extraction & GQL traversal
│   ├── materialize_window.py      # Scheduled materialization (bqaa context-graph)
│   └── property_graph_spec.py     # Derive the spec from your deployed property graph
│
└── CLI & Deploy
    ├── cli.py                     # CLI entry point (bq-agent-sdk)
    ├── udf_kernels.py             # Python UDF scoring kernels
    └── udf_sql_templates.py       # UDF SQL generation

Related Projects

Development

# Install with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest tests/ -v

# Format code
pyink --config pyproject.toml src/ tests/
isort src/ tests/

Contributing

See CONTRIBUTING.md for guidelines.

License

Apache License 2.0 — see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bigquery_agent_analytics-0.4.0.tar.gz (27.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bigquery_agent_analytics-0.4.0-py3-none-any.whl (526.9 kB view details)

Uploaded Python 3

File details

Details for the file bigquery_agent_analytics-0.4.0.tar.gz.

File metadata

  • Download URL: bigquery_agent_analytics-0.4.0.tar.gz
  • Upload date:
  • Size: 27.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bigquery_agent_analytics-0.4.0.tar.gz
Algorithm Hash digest
SHA256 c8df9d813454fdfdaa799571123c8e0380834d022f56a36f7b8bf75b2808e1fc
MD5 2a0faf77cb405f5c78a7b09b071e0779
BLAKE2b-256 197d9cc06a5638075cb26d79f94263c5f3b12e8856c44f02c5261988fee342ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for bigquery_agent_analytics-0.4.0.tar.gz:

Publisher: release.yml on GoogleCloudPlatform/BigQuery-Agent-Analytics-SDK

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bigquery_agent_analytics-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for bigquery_agent_analytics-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 76c764698272e167877c0f2f4a57631153fbdcaa95722cd4e6852a81ee7722a5
MD5 be4d6c6c37a67ab2da47b3cfdc447bc0
BLAKE2b-256 9f3320d8604ed420de7714159d49b472023e3c15a63765e1c0d6899de385447c

See more details on using hashes here.

Provenance

The following attestation bundles were made for bigquery_agent_analytics-0.4.0-py3-none-any.whl:

Publisher: release.yml on GoogleCloudPlatform/BigQuery-Agent-Analytics-SDK

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page