From 3585590f9f9a36170788532b45f8e79c76bf7cb4 Mon Sep 17 00:00:00 2001 From: felihong Date: Fri, 10 Jul 2026 18:00:17 +0200 Subject: [PATCH] Add ad-hoc agent/MCP query demo and deployable MCP server Adds demos/agent_mcp_query, showing how to answer ad-hoc questions against an Impulse silver layer by building and computing a report on the fly (channels/events/bins as call-time parameters, no persisted Gold table), then exposing that logic as MCP tools. Adds demos/agent_mcp_app, a deployable Databricks App that hosts the same tools as a custom MCP server reachable from AI Playground or any MCP-compatible agent. --- demos/agent_mcp_app/.gitignore | 9 + demos/agent_mcp_app/README.md | 85 ++ demos/agent_mcp_app/app.yaml | 12 + demos/agent_mcp_app/build_wheel.sh | 29 + demos/agent_mcp_app/pyproject.toml | 29 + demos/agent_mcp_app/requirements.txt | 1 + demos/agent_mcp_app/server/__init__.py | 0 demos/agent_mcp_app/server/main.py | 700 ++++++++++ demos/agent_mcp_query.ipynb | 1159 +++++++++++++++++ demos/images/playground_q4_disambiguation.png | Bin 0 -> 118286 bytes demos/images/playground_q7_2d_heatmap.png | Bin 0 -> 282594 bytes 11 files changed, 2024 insertions(+) create mode 100644 demos/agent_mcp_app/.gitignore create mode 100644 demos/agent_mcp_app/README.md create mode 100644 demos/agent_mcp_app/app.yaml create mode 100755 demos/agent_mcp_app/build_wheel.sh create mode 100644 demos/agent_mcp_app/pyproject.toml create mode 100644 demos/agent_mcp_app/requirements.txt create mode 100644 demos/agent_mcp_app/server/__init__.py create mode 100644 demos/agent_mcp_app/server/main.py create mode 100644 demos/agent_mcp_query.ipynb create mode 100755 demos/images/playground_q4_disambiguation.png create mode 100755 demos/images/playground_q7_2d_heatmap.png diff --git a/demos/agent_mcp_app/.gitignore b/demos/agent_mcp_app/.gitignore new file mode 100644 index 00000000..2085cdf5 --- /dev/null +++ b/demos/agent_mcp_app/.gitignore @@ -0,0 +1,9 @@ + +.databricks + +# Synced/built by build_wheel.sh from the repo's own src/ -- not checked in, +# since they'd otherwise drift from the repo's actual source. Run +# build_wheel.sh before deploying (see README.md). +impulse_reporting/ +impulse_query_engine/ +wheels/*.whl diff --git a/demos/agent_mcp_app/README.md b/demos/agent_mcp_app/README.md new file mode 100644 index 00000000..bcb169e9 --- /dev/null +++ b/demos/agent_mcp_app/README.md @@ -0,0 +1,85 @@ +# mcp-impulse-agent + +A custom MCP server, hosted as a Databricks App, exposing ad-hoc Impulse +queries as agent tools: `list_channels`, `list_containers`, +`preview_histogram`, `preview_histogram_2d`, `preview_stats`, and +`preview_point_values`. See `demos/agent_mcp_query` for the notebook this +was built from, including a full write-up of the design decisions (why not +Genie/managed MCP, the safety model for virtual-signal expression trees, and +the latency work that got steady-state calls down to 2-7s). + +## Prerequisites + +- A Databricks workspace with Unity Catalog and serverless compute enabled. +- An already-loaded Impulse silver layer to point this at. +- `databricks` CLI authenticated to your workspace. + +## Setup + +1. **Build the wheel** (ships this repo's `impulse_reporting`/ + `impulse_query_engine` to the remote serverless workers TSAL compiles + Python UDFs onto, and to the app's own process): + ```bash + ./build_wheel.sh + ``` + Re-run this whenever `src/` changes -- it always resyncs from the + canonical source, so the bundled copies here never drift. + +2. **Configure `app.yaml`**: replace the `CATALOG`/`SCHEMA`/`TABLE_PREFIX` + placeholders with wherever your silver layer lives. + +3. **Create and deploy the app**: + ```bash + databricks apps create mcp-impulse-agent # name must start with mcp- + databricks sync . /Workspace/Users//mcp-impulse-agent + databricks apps deploy mcp-impulse-agent \ + --source-code-path /Workspace/Users//mcp-impulse-agent + ``` + +4. **Grant the app's service principal Unity Catalog access** (client ID + from `databricks apps get mcp-impulse-agent`): + ```sql + GRANT USE CATALOG, BROWSE ON CATALOG TO ``; + GRANT USE SCHEMA, SELECT, MODIFY, CREATE TABLE ON SCHEMA . TO ``; + ``` + +5. **Test it**: the app is automatically discoverable as a custom MCP + server in AI Playground (Workspace sidebar → Playground → Tools + dropdown), since its name starts with `mcp-`. + +## Implementation notes + +- **Dependency pins matter.** `databricks-connect==18.2.*` is required -- + `17.0.1` has a pyspark incompatibility and `18.3.1` is unsupported on + serverless compute. `databricks-sdk==0.106.0` must match Impulse's own + pin, since its telemetry code reads a private `Config._product_info` + attribute that only exists on that version. Don't pin `pyspark`/ + `delta-spark` separately -- let `databricks-connect` provide them. +- **Why the wheel exists at all:** TSAL compiles to Python UDFs that run on + remote serverless workers, not in the app's own process, so + `impulse_reporting`/`impulse_query_engine` have to be shipped there + explicitly via `DatabricksEnv().withDependencies("local:")` -- + see `server/main.py`'s `get_spark()`. +- **Latency:** AI Playground enforces a ~55s per-call timeout. Persisting + results to Delta and reading them back took 33-43s per call -- too slow. + Reading `report.aggregation_dfs[...]` directly (already in final fact + schema, no join needed) plus going sinkless (`unity_sink` is `Optional` + on Impulse's `Report` config) cut steady-state latency to 2-7s. + +## Known limitations + +- **No per-user (on-behalf-of-user) authorization.** All callers share this + app's single service principal's Unity Catalog permissions. On-behalf-of- + user auth was attempted and hit a platform inconsistency between the + Databricks Apps `user_api_scopes` API and the Databricks Connect runtime's + actual scope requirements -- parked pending further investigation. +- **Distance/custom-weighted histograms are not exposed.** Impulse supports + weighting histograms by distance or an arbitrary signal + (`HistogramDistance`/`HistogramCustomWeights`), not just duration. + Verification found these produce numerically incorrect results (off by + several orders of magnitude) when the weight signal is derived via + `resample()`+`cumtrapz()` -- traced to the `synchronized()`+`diff()` + interaction inside `HistogramCustomWeights.build()` in the query engine, + not something fixable from this MCP layer. `preview_histogram`/ + `preview_histogram_2d` raise a clear error if you ask for anything other + than duration weighting, rather than silently returning wrong numbers. diff --git a/demos/agent_mcp_app/app.yaml b/demos/agent_mcp_app/app.yaml new file mode 100644 index 00000000..11bb4fe6 --- /dev/null +++ b/demos/agent_mcp_app/app.yaml @@ -0,0 +1,12 @@ +command: ['uv', 'run', 'mcp-server'] +# CATALOG/SCHEMA/TABLE_PREFIX must point at an already-loaded Impulse silver +# layer. Replace these placeholders before deploying, or override them via +# the app's "Environment variables" configuration in the Databricks Apps UI +# without editing this file. +env: + - name: CATALOG + value: "" + - name: SCHEMA + value: "" + - name: TABLE_PREFIX + value: "" diff --git a/demos/agent_mcp_app/build_wheel.sh b/demos/agent_mcp_app/build_wheel.sh new file mode 100755 index 00000000..0ec27f7c --- /dev/null +++ b/demos/agent_mcp_app/build_wheel.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +# Syncs impulse_reporting/impulse_query_engine from this repo's src/ (so the +# app's own process can import them -- Databricks Apps only deploy the +# source-code-path directory itself, not sibling paths, so these can't just +# be sys.path-referenced at runtime) and builds a wheel from the same source +# into ./wheels/ (so the app can also ship this code to remote serverless +# workers -- TSAL compiles to Python UDFs that run there, not in the app's +# own process; see server/main.py's get_spark()). +# +# Run this once before `databricks sync` + `databricks apps deploy`, and +# again whenever the repo's src/ changes -- it always overwrites the local +# copies, so they can't silently drift from the canonical source. Assumes +# this directory lives two levels under the repo root (e.g. +# demos/agent_mcp_app/) -- adjust REPO_ROOT if you've moved it. +set -euo pipefail +cd "$(dirname "$0")" +REPO_ROOT="../.." + +echo "Syncing impulse_reporting/impulse_query_engine from $REPO_ROOT/src..." +rm -rf impulse_reporting impulse_query_engine +cp -r "$REPO_ROOT/src/impulse_reporting" . +cp -r "$REPO_ROOT/src/impulse_query_engine" . + +echo "Building wheel..." +rm -f wheels/databricks_impulse-*.whl +mkdir -p wheels +python3 -m pip install -q build +python3 -m build --wheel --outdir wheels "$REPO_ROOT" +echo "Built: $(ls wheels/databricks_impulse-*.whl)" diff --git a/demos/agent_mcp_app/pyproject.toml b/demos/agent_mcp_app/pyproject.toml new file mode 100644 index 00000000..eb33f10d --- /dev/null +++ b/demos/agent_mcp_app/pyproject.toml @@ -0,0 +1,29 @@ +[project] +name = "mcp-impulse-agent" +version = "0.1.0" +requires-python = "==3.12.*" +dependencies = [ + "mcp>=1.0.0", + "databricks-connect==18.2.*", + "databricks-sdk==0.106.0", + "lz4==4.4.5", + "nptyping==2.5.0", + "pandas==2.2.3", + "pyarrow==19.0.1", + "pydantic==2.11.7", + "scipy==1.15.1", + "zstandard>=0.25.0", + "uvicorn>=0.30.0", + "starlette>=0.37.0", +] + +[project.scripts] +mcp-server = "server.main:main" + +[build-system] +requires = ["setuptools>=61.0"] +build-backend = "setuptools.build_meta" + +[tool.setuptools.packages.find] +where = ["."] +include = ["server*", "impulse_reporting*", "impulse_query_engine*"] diff --git a/demos/agent_mcp_app/requirements.txt b/demos/agent_mcp_app/requirements.txt new file mode 100644 index 00000000..60cc5e6a --- /dev/null +++ b/demos/agent_mcp_app/requirements.txt @@ -0,0 +1 @@ +uv diff --git a/demos/agent_mcp_app/server/__init__.py b/demos/agent_mcp_app/server/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/demos/agent_mcp_app/server/main.py b/demos/agent_mcp_app/server/main.py new file mode 100644 index 00000000..cdafb270 --- /dev/null +++ b/demos/agent_mcp_app/server/main.py @@ -0,0 +1,700 @@ +import operator +import os +import uuid +from typing import Literal + +import pyspark.sql.functions as F +from mcp.server.fastmcp import FastMCP + +_spark = None + + +def get_spark(): + """Lazily create a serverless Spark session via Databricks Connect. + + Impulse's TSAL layer compiles expressions into Python UDFs that run on + the remote serverless workers, not in this app's own process -- so the + bundled impulse_query_engine/impulse_reporting source (not a PyPI + package) has to be shipped to those workers too via a wheel built from + the same source (see wheels/), referenced through withDependencies. + """ + global _spark + if _spark is None: + import glob + from databricks.connect import DatabricksEnv, DatabricksSession + wheels_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "wheels") + matches = glob.glob(os.path.join(wheels_dir, "databricks_impulse-*.whl")) + if not matches: + raise RuntimeError( + f"No databricks_impulse-*.whl found in {wheels_dir} -- run build_wheel.sh " + "(see README) before deploying this app." + ) + env = DatabricksEnv().withDependencies(f"local:{matches[0]}") + _spark = DatabricksSession.builder.serverless().withEnvironment(env).getOrCreate() + return _spark + + +CATALOG = os.environ["CATALOG"] +SCHEMA = os.environ["SCHEMA"] +TABLE_PREFIX = os.environ["TABLE_PREFIX"] +PFX = f"{CATALOG}.{SCHEMA}.{TABLE_PREFIX}" + +PORT = int(os.environ.get("DATABRICKS_APP_PORT", "8000")) +mcp = FastMCP("impulse-agent", host="0.0.0.0", port=PORT) + + +def _adhoc_config() -> dict: + return { + "source": { + "container_metrics_table": f"{PFX}_container_metrics", + "channel_metrics_table": f"{PFX}_channel_metrics", + "channels_uri": f"{PFX}_channels", + "container_tags_table": f"{PFX}_container_tags", + "channel_tags_table": f"{PFX}_channel_tags", + }, + # No unity_sink: results are read straight from report.aggregation_dfs + # in memory (see each tool below) and never persisted -- going + # sinkless also skips several per-call Unity Catalog round trips + # (gold-layer-exists checks, temp-table cleanup scans) that only + # matter for persistence. + "query_engine": {"solver": "DefaultSolver", "data_type": "RAW"}, + "measurement_dimensions": ["container_id", "vehicle_key", "start_ts", "stop_ts"], + } + + +def _new_report(name_prefix: str): + from databricks.sdk import WorkspaceClient + from impulse_reporting.core.report import Report + + report = Report( + name=f"{name_prefix}_{uuid.uuid4().hex[:8]}", + spark=get_spark(), config=_adhoc_config(), workspace_client=WorkspaceClient(), + ) + return report, report.get_db() + + +def _aggregation_df(report, agg_type: str): + """Read an aggregation's result straight from memory (see _adhoc_config).""" + dfs = report.aggregation_dfs[agg_type] + return dfs.get("changed") if dfs.get("changed") is not None else dfs["unchanged"] + + +# --------------------------------------------------------------------------- +# Virtual signal expression trees +# --------------------------------------------------------------------------- + +_OPS = { + ">": operator.gt, + "<": operator.lt, + ">=": operator.ge, + "<=": operator.le, + "==": operator.eq, +} + +# Whitelist-only binary operators for expression trees. Every node maps to a +# fixed, known Python operator applied to TSAL objects -- there is no +# eval()/exec() of user-provided strings anywhere. +_EXPR_OPS = { + "add": operator.add, + "sub": operator.sub, + "mul": operator.mul, + "div": operator.truediv, + "gt": operator.gt, + "lt": operator.lt, + "ge": operator.ge, + "le": operator.le, + "eq": operator.eq, + "ne": operator.ne, + "and": operator.and_, + "or": operator.or_, +} + +# Whitelist-only unary TSAL methods (SampleSeries API) reachable from an +# expression tree's "method" node. Same safety property as _EXPR_OPS: only +# names literally in this set are ever passed to getattr(), so there's no way +# to reach an unintended method (e.g. a dunder) even in principle. +_EXPR_METHODS = { + # SampleSeries (raw/derived numeric signals) + "resample", "cumtrapz", "diff", "where", + "rising_edges", "falling_edges", "rising_edge", "falling_edge", + "intervals_between_falling_edges", "rolling_average", + # Intervals (comparison-derived conditions, e.g. channel > threshold) -- + # start_points/end_points are how you turn "RPM is above 2000" into + # discrete instants ("each time RPM crosses above/below 2000"), as + # opposed to rising_edges/falling_edges above, which detect transitions + # in a raw signal that's already boolean-valued (e.g. a brake switch). + "start_points", "end_points", +} + +_MAX_EXPR_DEPTH = 10 + + +def _resolve_arg(arg, db, depth): + """A method node's args/kwargs may be a literal (number/bool/string) or + a nested expression node -- resolve the latter recursively.""" + if isinstance(arg, dict) and ({"channel", "const", "op", "method"} & arg.keys()): + return build_expr(arg, db, depth) + return arg + + +def build_expr(node: dict, db, _depth: int = 0): + """Recursively build a TSAL expression from a constrained JSON tree. + + Node shapes: + {"channel": "", "tags": {...}} -- leaf: channel reference + {"const": } -- leaf: constant + {"op": "", "left": , "right": } -- one of _EXPR_OPS (binary) + {"method": "", "operand": , + "args": [...], "kwargs": {...}} -- one of _EXPR_METHODS (unary, + called on the built operand) + + Every op/method maps to a fixed, known Python operator or TSAL method on + the same objects list_channels/db.query.channel already produce -- never + to arbitrary generated code. args/kwargs may themselves be nested + expression nodes (e.g. the condition passed to a "where" method) or plain + literals (e.g. the sample_rate passed to "resample"). + """ + if _depth > _MAX_EXPR_DEPTH: + raise ValueError(f"Expression tree exceeds max depth of {_MAX_EXPR_DEPTH}") + if "channel" in node: + return db.query.channel(channel_name=node["channel"], **node.get("tags", {})) + if "const" in node: + return node["const"] + if "method" in node: + method = node["method"] + if method not in _EXPR_METHODS: + raise ValueError(f"Unsupported method {method!r}; must be one of {sorted(_EXPR_METHODS)}") + if "operand" not in node: + raise ValueError(f"Method node must have 'operand': {node}") + operand = build_expr(node["operand"], db, _depth + 1) + args = [_resolve_arg(a, db, _depth + 1) for a in node.get("args", [])] + kwargs = {k: _resolve_arg(v, db, _depth + 1) for k, v in node.get("kwargs", {}).items()} + return getattr(operand, method)(*args, **kwargs) + if "op" not in node: + raise ValueError(f"Expression node must have 'channel', 'const', 'method', or 'op': {node}") + op = node["op"] + if op not in _EXPR_OPS: + raise ValueError(f"Unsupported op {op!r}; must be one of {sorted(_EXPR_OPS)}") + left = build_expr(node["left"], db, _depth + 1) + right = build_expr(node["right"], db, _depth + 1) + return _EXPR_OPS[op](left, right) + + +_EXPR_DOC = """Expression trees (signal_expr / condition_expr / event.signal_expr): +{"channel": "", "tags": {...}} references a channel; {"const": } is a +constant; {"op": "add"|"sub"|"mul"|"div"|"gt"|"lt"|"ge"|"le"|"eq"|"ne"|"and"|"or", +"left": , "right": } combines two nodes (a "gt"/"lt"/etc. +comparison produces an Intervals, e.g. "channel > 2000" means "the time +ranges where this holds", not a per-sample boolean); {"method": +"resample"|"cumtrapz"|"diff"|"where"|"rolling_average", "operand": , +"args": [...]} transforms a numeric signal; {"method": +"start_points"|"end_points", "operand": } turns a comparison's +Intervals into discrete instants (e.g. each time a condition starts/stops +holding); {"method": "rising_edges"|"falling_edges", "operand": } finds +transitions in an already-boolean raw channel (e.g. a brake switch), as +opposed to a comparison. Args may themselves be nested nodes, e.g. the +condition passed to "where". Example -- average of two channels: {"op": "div", +"left": {"op": "add", "left": {"channel": "A"}, "right": {"channel": "B"}}, +"right": {"const": 2}}. Example -- cumulative distance from speed: {"method": +"cumtrapz", "operand": {"method": "resample", "operand": {"channel": "Vehicle Speed"}, +"args": [1000000]}}.""" + + +# --------------------------------------------------------------------------- +# Events +# --------------------------------------------------------------------------- + +def build_event(event_spec: dict | None, db): + """Build an Event from a constrained spec dict. + + Shapes: + None or {"type": "container"} -- ContainerEvent: the whole recording, + no condition. Default when event is omitted. + {"type": "basic", "condition_expr": } -- BasicEvent from a + compound boolean expression tree (see _EXPR_DOC). + {"type": "basic", "channel_name"/"signal_expr", "tags", "condition_op", + "condition_value"} -- BasicEvent from a single threshold. + {"type": "points_in_time", "signal_expr": threshold>}>} -- PointsInTimeEvent, + for discrete instants (pairs with preview_point_values; + duration-weighted tools like preview_histogram/preview_stats need + Intervals, not instants). + """ + from impulse_reporting.events.basic_event import BasicEvent + from impulse_reporting.events.container_event import ContainerEvent + from impulse_reporting.events.points_in_time_event import PointsInTimeEvent + + if event_spec is None: + return ContainerEvent(name="adhoc_event", desc="Full measurement") + + etype = event_spec.get("type", "basic") + + if etype == "container": + return ContainerEvent(name="adhoc_event", desc="Full measurement") + + if etype == "basic": + if "condition_expr" in event_spec: + cond = build_expr(event_spec["condition_expr"], db) + desc = "custom condition" + else: + if "signal_expr" in event_spec: + channel = build_expr(event_spec["signal_expr"], db) + elif "channel_name" in event_spec: + channel = db.query.channel( + channel_name=event_spec["channel_name"], **event_spec.get("tags", {}) + ) + else: + raise ValueError( + "basic event needs condition_expr, or (channel_name/signal_expr " + "+ condition_op + condition_value)" + ) + op = event_spec.get("condition_op") + value = event_spec.get("condition_value") + if op not in _OPS or value is None: + raise ValueError(f"condition_op must be one of {list(_OPS)} and condition_value must be set") + cond = _OPS[op](channel, value) + desc = f"{event_spec.get('channel_name', 'signal')} {op} {value}" + return BasicEvent(name="adhoc_event", expr=cond, desc=desc) + + if etype == "points_in_time": + if "signal_expr" not in event_spec: + raise ValueError( + "points_in_time event needs signal_expr (must evaluate to PointsInTime, " + "e.g. a rising_edges/falling_edges method node)" + ) + expr = build_expr(event_spec["signal_expr"], db) + return PointsInTimeEvent(name="adhoc_event", expr=expr, desc="points in time") + + raise ValueError(f"Unsupported event type {etype!r}; must be one of: container, basic, points_in_time") + + +_EVENT_DOC = """event scopes which time range an aggregation applies to. Omit +for the whole recording. {"type": "basic", "channel_name": "...", "tags": {...}, +"condition_op": ">", "condition_value": 2000} scopes to a threshold; {"type": +"basic", "condition_expr": } scopes to a compound boolean condition +(see the expression tree docs). {"type": "points_in_time", "signal_expr": } +scopes to discrete instants (e.g. {"method": "start_points", "operand": +{"op": "gt", "left": {"channel": "Engine RPM"}, "right": {"const": 2000}}} +for each moment RPM crosses above 2000) -- required for preview_point_values, +not usable with duration-weighted tools.""" + + +# --------------------------------------------------------------------------- +# Grounding tools +# --------------------------------------------------------------------------- + +@mcp.tool(name="list_channels") +def list_channels_tool() -> list[dict]: + """List available measurement channels and their tags (e.g. brand, model, + unit -- whatever tag vocabulary this dataset uses). Read-only and + instant, with no effect on the report being built -- distinct from + search_aliases/add_physical_signal, which look up or commit a channel to + the persisted report definition. Call this to ground yourself before + preview_histogram/preview_histogram_2d/preview_stats/preview_point_values + (so channel_name/tags are real values, not guesses), or whenever the user + asks an exploratory question ("what signals do we have?") without yet + committing to add anything.""" + spark = get_spark() + tag_keys = [r["key"] for r in spark.table(f"{PFX}_channel_tags").select("key").distinct().collect()] + order_col = "channel_name" if "channel_name" in tag_keys else tag_keys[0] + df = ( + spark.table(f"{PFX}_channel_tags") + .groupBy("container_id", "channel_id") + .pivot("key", tag_keys) + .agg(F.first("value")) + .select(*tag_keys) + .distinct() + .orderBy(order_col) + ) + return [row.asDict() for row in df.collect()] + + +@mcp.tool(name="list_containers") +def list_containers_tool() -> list[dict]: + """List available measurement containers (recording sessions) and their + tags (e.g. vehicle, duration, condition). Read-only and instant -- + distinct from set_vehicle, which commits a container/time-range to the + persisted report. Use for questions like "how many test drives do we + have?" or "what's the total recorded duration?" without adding anything + to the report.""" + spark = get_spark() + tag_keys = [r["key"] for r in spark.table(f"{PFX}_container_tags").select("key").distinct().collect()] + tags_df = ( + spark.table(f"{PFX}_container_tags") + .groupBy("container_id") + .pivot("key", tag_keys) + .agg(F.first("value")) + ) + df = ( + spark.table(f"{PFX}_container_metrics") + .join(tags_df, on="container_id", how="left") + .orderBy("container_id") + ) + return [row.asDict() for row in df.collect()] + + +# --------------------------------------------------------------------------- +# Histogram weighting +# --------------------------------------------------------------------------- + +def _resolve_weight(weight: dict | None, db): + """Returns (kind, weights_expr_or_None, extra_kwargs) for a weight spec. + Only "duration" (the default) is currently supported -- see the + NotImplementedError message below for why distance/custom are gated off. + """ + if weight is None: + return "duration", None, {} + wtype = weight.get("type", "duration") + if wtype == "duration": + return "duration", None, {} + if wtype in ("distance", "custom"): + raise NotImplementedError( + f"weight type {wtype!r} is not supported yet: verification found " + "HistogramDistance/HistogramCustomWeights produce numerically incorrect " + "results (off by several orders of magnitude) when the weight signal is " + "derived via resample()+cumtrapz() -- traced to the synchronized()+diff() " + "interaction inside the query engine, not something fixable from this MCP " + "server. Duration weighting (the default -- omit weight, or {\"type\": " + "\"duration\"}) is fully verified and safe to use." + ) + raise ValueError(f"weight type must be 'duration' (distance/custom not yet supported), got {wtype!r}") + + +_WEIGHT_DOC = """weight controls what the histogram accumulates per bin. +Currently only plain duration weighting is supported (time spent in each +bin, in seconds) -- omit weight, or pass {"type": "duration"}. Distance/ +custom weighting exists in Impulse but is not exposed here yet pending a +numerical discrepancy fix in the underlying query engine.""" + + +# --------------------------------------------------------------------------- +# Preview tools +# --------------------------------------------------------------------------- + +@mcp.tool() +def preview_histogram( + bins: list[float], + channel_name: str | None = None, + tags: dict[str, str] | None = None, + signal_expr: dict | None = None, + event: dict | None = None, + weight: dict | None = None, + bins_unit: str | None = None, + values_unit: str = "s", +) -> list[dict]: + """Compute a 1D histogram RIGHT NOW and return the actual numeric result + -- an instant, read-only preview, not a persisted report aggregation. + Use this when the user asks a question like "what's the distribution of + X?" or wants to sanity-check bin edges before committing to anything. Do + NOT use this in place of add_histogram: add_histogram only registers a + definition in the wizard's Aggregations step for the report that later + gets deployed as a job -- this tool runs the computation immediately and + returns the answer inline, nothing is persisted. A natural flow: call + this a few times to try different bin choices interactively, then call + add_histogram with the finalized parameters once the user is happy with + what they saw here. + + The histogrammed value is either a plain channel (channel_name + optional + tags to disambiguate, from list_channels) or a derived "virtual signal" + via signal_expr. """ + _EXPR_DOC + """ + + """ + _EVENT_DOC + """ + + """ + _WEIGHT_DOC + """ + + Provide either (channel_name [+ tags]) or signal_expr. bins_unit/ + values_unit are display labels only (e.g. "rpm") -- the returned value is + always in seconds regardless of values_unit. Returns one row per bin with + bin_name, lower_bound, and duration_s.""" + from impulse_reporting.core.page import Page + from impulse_reporting.aggregations.histogram import HistogramDuration + + report, db = _new_report("adhoc") + + if signal_expr is not None: + channel = build_expr(signal_expr, db) + elif channel_name is not None: + channel = db.query.channel(channel_name=channel_name, **(tags or {})) + else: + raise ValueError("Either channel_name or signal_expr must be provided") + + ev = build_event(event, db) + report.add_event(ev) + + bins_f = [float(b) for b in bins] + display_name = channel_name or "virtual_signal" + _resolve_weight(weight, db) # duration is the only supported kind; raises otherwise + + agg = HistogramDuration( + name="adhoc_histogram", base_expr=channel, bins=bins_f, event=ev, + channel_name=display_name, bins_unit=bins_unit or "", values_unit=values_unit, + ) + + page = Page(page_number=1) + page.add_aggregation(agg) + report.add_page(page) + report.determine_report() + + hist_df = _aggregation_df(report, "HISTOGRAM") + result_df = ( + hist_df + .groupBy("bin_name", "lower_bound") + .agg(F.sum("hist_value").alias("duration_us")) + .orderBy("lower_bound") + .toPandas() + ) + result_df["duration_s"] = result_df["duration_us"] / 1e6 + + return result_df[["bin_name", "lower_bound", "duration_s"]].to_dict(orient="records") + + +@mcp.tool() +def preview_histogram_2d( + x_bins: list[float], + y_bins: list[float], + x_channel_name: str | None = None, + y_channel_name: str | None = None, + tags: dict[str, str] | None = None, + x_signal_expr: dict | None = None, + y_signal_expr: dict | None = None, + event: dict | None = None, + weight: dict | None = None, + x_bins_unit: str | None = None, + y_bins_unit: str | None = None, + values_unit: str = "s", +) -> list[dict]: + """Compute a 2D heatmap of two signals (x vs y) RIGHT NOW and return the + actual numeric result -- an instant, read-only preview, not a persisted + report aggregation. Use when the user wants to see how two signals + correlate (e.g. "how does RPM relate to speed while RPM is above 2000?"). + Do NOT use this in place of add_histogram_2d: that only registers a + definition in the wizard's Aggregations step for the report that later + gets deployed as a job -- this tool runs the computation immediately and + returns the answer inline, nothing is persisted. + + x/y axes: provide x_channel_name/y_channel_name (+ optional tags), or + x_signal_expr/y_signal_expr for derived signals. """ + _EXPR_DOC + """ + + """ + _EVENT_DOC + """ + + """ + _WEIGHT_DOC + """ + + x_bins_unit/y_bins_unit/values_unit are display labels only -- the + returned value is always in seconds regardless of values_unit. Returns + one row per (x_bin, y_bin) with x_bin_name, y_bin_name, x_lower_bound, + y_lower_bound, and duration_s.""" + from impulse_reporting.core.page import Page + from impulse_reporting.aggregations.histogram2d import Histogram2DDuration + + report, db = _new_report("adhoc2d") + + if x_signal_expr is not None: + x_channel = build_expr(x_signal_expr, db) + elif x_channel_name is not None: + x_channel = db.query.channel(channel_name=x_channel_name, **(tags or {})) + else: + raise ValueError("Either x_channel_name or x_signal_expr must be provided") + + if y_signal_expr is not None: + y_channel = build_expr(y_signal_expr, db) + elif y_channel_name is not None: + y_channel = db.query.channel(channel_name=y_channel_name, **(tags or {})) + else: + raise ValueError("Either y_channel_name or y_signal_expr must be provided") + + ev = build_event(event, db) + report.add_event(ev) + + x_bins_f = [float(b) for b in x_bins] + y_bins_f = [float(b) for b in y_bins] + x_name = x_channel_name or "x_signal" + y_name = y_channel_name or "y_signal" + _resolve_weight(weight, db) # duration is the only supported kind; raises otherwise + + agg = Histogram2DDuration( + name="adhoc_histogram2d", x_expr=x_channel, y_expr=y_channel, + x_bins=x_bins_f, y_bins=y_bins_f, event=ev, + x_channel_name=x_name, y_channel_name=y_name, + x_bins_unit=x_bins_unit, y_bins_unit=y_bins_unit, values_unit=values_unit, + ) + + page = Page(page_number=1) + page.add_aggregation(agg) + report.add_page(page) + report.determine_report() + + hist_df = _aggregation_df(report, "HISTOGRAM2D") + result_df = ( + hist_df + .groupBy("x_bin_name", "y_bin_name", "x_lower_bound", "y_lower_bound") + .agg(F.sum("hist_value").alias("duration_us")) + .orderBy("x_lower_bound", "y_lower_bound") + .toPandas() + ) + result_df["duration_s"] = result_df["duration_us"] / 1e6 + + return result_df[ + ["x_bin_name", "y_bin_name", "x_lower_bound", "y_lower_bound", "duration_s"] + ].to_dict(orient="records") + + +_SIGNALS_DOC = """signals: list of {"label": "...", "channel_name": "...", +"tags": {...}} (a plain channel) or {"label": "...", "signal_expr": } +(a derived virtual signal) -- label names the signal in the returned rows.""" + +_STATS = {"min", "max", "mean", "median"} + + +@mcp.tool() +def preview_stats( + signals: list[dict], + statistics: list[Literal["min", "max", "mean", "median"]] | None = None, + event: dict | None = None, +) -> list[dict]: + """Compute summary statistics for one or more signals RIGHT NOW and + return the actual numeric result -- an instant, read-only preview, not a + persisted report aggregation. Use for questions like "what's the average + X?" or "what were the min/max of X and Y during this event?" -- this is + the tool for statistics across MULTIPLE signals at once. Do NOT use this + in place of add_statistics: that only registers a definition in the + wizard's Aggregations step for the report that later gets deployed as a + job. + + """ + _SIGNALS_DOC + """ + statistics: which to compute (default: all four -- min, max, mean, median). + + """ + _EVENT_DOC + """ + + Statistics are computed per container (a test drive/recording session), + not collapsed across containers -- averaging an already-averaged value + across sessions without knowing sample counts wouldn't be statistically + valid, so each container gets its own row. Returns one row per + (container_id, label, statistic) with columns container_id, label, + statistic, value.""" + from impulse_reporting.core.page import Page + from impulse_reporting.aggregations.stats_aggregator import StatsAggregator + + if not signals: + raise ValueError("signals must have at least one entry") + stats = statistics or sorted(_STATS) + bad = set(stats) - _STATS + if bad: + raise ValueError(f"Unsupported statistics {bad}; must be a subset of {sorted(_STATS)}") + + report, db = _new_report("adhoc_stats") + + ev = build_event(event, db) + report.add_event(ev) + + exprs, labels = [], [] + for sig in signals: + if "signal_expr" in sig: + exprs.append(build_expr(sig["signal_expr"], db)) + elif "channel_name" in sig: + exprs.append(db.query.channel(channel_name=sig["channel_name"], **sig.get("tags", {}))) + else: + raise ValueError(f"signal {sig!r} needs channel_name or signal_expr") + labels.append(sig["label"]) + + page = Page(page_number=1) + page.add_aggregation(StatsAggregator( + name="adhoc_stats", input_expressions=exprs, channel_names=labels, + statistics=list(stats), event=ev, + )) + report.add_page(page) + report.determine_report() + + stats_df = _aggregation_df(report, "STATS_AGGREGATOR") + result_df = ( + stats_df + .select("container_id", "channel_name", "aggregation_label", "statistic_value") + .orderBy("container_id", "channel_name", "aggregation_label") + .toPandas() + .rename(columns={"channel_name": "label", "aggregation_label": "statistic", "statistic_value": "value"}) + ) + return result_df.to_dict(orient="records") + + +@mcp.tool() +def preview_point_values( + signals: list[dict], + event: dict, +) -> list[dict]: + """Sample one or more signals at each instant of a points-in-time event + RIGHT NOW and return the actual values -- an instant, read-only preview, + not a persisted report aggregation. Use for questions like "what was the + speed and RPM at each 10 km milestone?" or "what was the temperature at + every rising edge of the brake signal?" -- this is the one case + preview_histogram/preview_stats can't cover, since those need time + intervals (durations), not discrete instants. + + """ + _SIGNALS_DOC + """ + + event: REQUIRED, and must be a points_in_time event -- {"type": + "points_in_time", "signal_expr": }. + + Returns one row per (container_id, event_instance_id, label) with the + sampled value.""" + from impulse_reporting.core.page import Page + from impulse_reporting.aggregations.point_value_aggregator import PointValueAggregator + + if not signals: + raise ValueError("signals must have at least one entry") + if not event or event.get("type") != "points_in_time": + raise ValueError('event must be a points_in_time event: {"type": "points_in_time", "signal_expr": ...}') + + report, db = _new_report("adhoc_pv") + + ev = build_event(event, db) + report.add_event(ev) + + exprs, labels = [], [] + for sig in signals: + if "signal_expr" in sig: + exprs.append(build_expr(sig["signal_expr"], db)) + elif "channel_name" in sig: + exprs.append(db.query.channel(channel_name=sig["channel_name"], **sig.get("tags", {}))) + else: + raise ValueError(f"signal {sig!r} needs channel_name or signal_expr") + labels.append(sig["label"]) + + page = Page(page_number=1) + page.add_aggregation(PointValueAggregator( + name="adhoc_point_values", input_expressions=exprs, channel_names=labels, event=ev, + )) + report.add_page(page) + report.determine_report() + + pv_df = _aggregation_df(report, "POINT_VALUE_AGGREGATOR") + result_df = ( + pv_df + .select("container_id", "event_instance_id", "channel_name", "statistic_value") + .orderBy("container_id", "event_instance_id", "channel_name") + .toPandas() + .rename(columns={"channel_name": "label", "statistic_value": "value"}) + ) + return result_df.to_dict(orient="records") + + +def _keep_warm(): + """Ping the serverless session periodically so the underlying compute + doesn't scale down from inactivity between questions.""" + import time + while True: + try: + get_spark().sql("SELECT 1").collect() + except Exception: + pass + time.sleep(120) + + +def main(): + import threading + threading.Thread(target=_keep_warm, daemon=True).start() + mcp.run(transport="streamable-http") + + +if __name__ == "__main__": + main() diff --git a/demos/agent_mcp_query.ipynb b/demos/agent_mcp_query.ipynb new file mode 100644 index 00000000..56ed855e --- /dev/null +++ b/demos/agent_mcp_query.ipynb @@ -0,0 +1,1159 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Impulse \u2014 Ad-hoc Agent Queries via MCP\n", + "\n", + "This notebook demonstrates an **ad-hoc** query pattern: answering questions\n", + "(\"what fraction of time was the engine above 3000 RPM?\") where the channels,\n", + "thresholds, and bins aren't known ahead of time, no report has been defined\n", + "in code for them, and no Gold table exists yet for the answer. Instead, the\n", + "report is built and computed on the fly, in response to a caller's\n", + "parameters, and the result is returned directly without persisting a\n", + "Gold-layer star schema.\n", + "\n", + "**Why not just point Genie/AI-BI at the Gold layer?** Genie does text-to-SQL\n", + "against tables that already exist with a semantic model configured up front.\n", + "Impulse's value is defining a *new* TSAL event/aggregation per question \u2014\n", + "there's no way to pre-populate Gold tables for arbitrary thresholds, channel\n", + "combinations, and bin sizes a user might ask about. The report has to be\n", + "**computed on demand**, which means something has to hold a live Spark\n", + "session and run Impulse's `Report` API synchronously in response to a request.\n", + "\n", + "**What this notebook builds:**\n", + "1. **Grounding tools** \u2014 read channel/container metadata so a caller knows what\n", + " exists before building a query (same role schema-introspection plays in\n", + " text-to-SQL).\n", + "2. **A constrained ad-hoc execution function** \u2014 takes a small, validated set\n", + " of parameters (channel, condition, bins) and drives the real `Report` /\n", + " `BasicEvent` / `HistogramDuration` API against a **throwaway scratch\n", + " prefix**, so ad-hoc runs never collide with or pollute each other or the\n", + " real Gold layer.\n", + "3. **The same two functions exposed as MCP tools**, with an in-notebook MCP\n", + " client call proving the round trip works end to end against real data.\n", + "\n", + "Deliberately *not* done here: letting an LLM generate and `exec()` raw TSAL/\n", + "Python. TSAL expressions are live Python objects wired into a Spark execution\n", + "plan \u2014 free-form generated code run against a cluster with Unity Catalog\n", + "access is a real code-injection risk. Instead the tool surface below only\n", + "accepts a small typed parameter set that this notebook's own code translates\n", + "into Impulse API calls." + ], + "id": "300f1354752c4037" + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1. Setup\n", + "\n", + "Pins `databricks-sdk==0.106.0` to match Impulse's `pyproject.toml` \u2014 its\n", + "telemetry code reads a private `Config._product_info` attribute that only\n", + "exists on that version. Job/serverless compute can default to an older SDK\n", + "(observed: 0.20.0) that lacks it, so pin explicitly rather than relying on\n", + "whatever happens to be preinstalled." + ], + "id": "c0479f1bbae94789" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%pip install mcp \"databricks-sdk==0.106.0\" scipy -q\n", + "dbutils.library.restartPython()" + ], + "id": "7652cc5a45534163" + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Configure target location\n", + "\n", + "Fill in **Catalog**, **Schema**, and **Table Prefix** in the widgets above,\n", + "then run the next cells. This notebook loads its own copy of the demo\n", + "silver layer, so it's self-contained and doesn't depend on any other\n", + "notebook having been run first." + ], + "id": "c4c1389023334ba8" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "dbutils.widgets.text(\"catalog\", \"\", \"Catalog\")\n", + "dbutils.widgets.text(\"schema\", \"\", \"Schema\")\n", + "dbutils.widgets.text(\"table_prefix\", \"agent\", \"Table Prefix\")" + ], + "id": "5cd1b27bedc04e75" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import sys, os\n", + "import pandas as pd\n", + "\n", + "CATALOG = dbutils.widgets.get(\"catalog\")\n", + "SCHEMA = dbutils.widgets.get(\"schema\")\n", + "TABLE_PREFIX = dbutils.widgets.get(\"table_prefix\") or \"agent\"\n", + "\n", + "if not CATALOG or not SCHEMA or not TABLE_PREFIX:\n", + " raise ValueError(\"Please set Catalog, Schema, and Table Prefix widgets above before running.\")\n", + "\n", + "nb_path = dbutils.notebook.entry_point.getDbutils().notebook().getContext().notebookPath().get()\n", + "DEMOS_DIR = \"/Workspace\" + \"/\".join(nb_path.split(\"/\")[:-1])\n", + "REPO_ROOT = \"/Workspace\" + \"/\".join(nb_path.split(\"/\")[:-2])\n", + "sys.path.insert(0, os.path.join(REPO_ROOT, \"src\"))\n", + "\n", + "pfx = f\"{CATALOG}.{SCHEMA}.{TABLE_PREFIX}\"\n", + "print(f\"Silver layer target: {pfx}_*\")" + ], + "id": "b3d14e93d9854981" + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Load demo data into Silver layer\n", + "\n", + "Same bootstrap step as the other two demos: 5 silver tables from CSV." + ], + "id": "e5682a927dc04243" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "spark.sql(f\"CREATE SCHEMA IF NOT EXISTS {CATALOG}.{SCHEMA}\")\n", + "\n", + "csv_dir = os.path.join(DEMOS_DIR, \"data\", \"reporting\")\n", + "SILVER = [\"container_metrics\", \"container_tags\", \"channel_metrics\", \"channel_tags\", \"channels\"]\n", + "for t in SILVER:\n", + " (spark.createDataFrame(pd.read_csv(f\"{csv_dir}/{t}.csv\"))\n", + " .write.mode(\"overwrite\")\n", + " .saveAsTable(f\"{pfx}_{t}\"))\n", + "print(f\"Loaded {len(SILVER)} silver-layer tables under {pfx}_*\")" + ], + "id": "995765e278df42e4" + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2. Grounding tools\n", + "\n", + "Before an agent can build a query, it needs to know what channels and\n", + "containers actually exist \u2014 real channel names and whatever tag vocabulary\n", + "this particular dataset happens to use (brand/model here, but Impulse\n", + "doesn't fix the tag schema \u2014 a different silver layer could tag channels\n", + "by `sensor_type`, `line_id`, `plant`, anything). These read directly from\n", + "the silver metadata tables; no Impulse `Report` needed, so they're cheap.\n", + "\n", + "Channel/container tags are stored as EAV (`key`, `value`) pairs per\n", + "`(container_id, channel_id)` \u2014 pivoted here into one row per channel/\n", + "container. The set of tag keys is **discovered at query time**, not\n", + "hardcoded, so this works against any Impulse dataset's tag vocabulary,\n", + "not just this demo's." + ], + "id": "914a90ebf21f4d9a" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import pyspark.sql.functions as F\n", + "\n", + "def list_channels() -> list[dict]:\n", + " \"\"\"List distinct measurement channels available in the silver layer, with all their tags.\"\"\"\n", + " tag_keys = [r[\"key\"] for r in spark.table(f\"{pfx}_channel_tags\").select(\"key\").distinct().collect()]\n", + " order_col = \"channel_name\" if \"channel_name\" in tag_keys else tag_keys[0]\n", + " df = (\n", + " spark.table(f\"{pfx}_channel_tags\")\n", + " .groupBy(\"container_id\", \"channel_id\")\n", + " .pivot(\"key\", tag_keys)\n", + " .agg(F.first(\"value\"))\n", + " .select(*tag_keys)\n", + " .distinct()\n", + " .orderBy(order_col)\n", + " )\n", + " return [row.asDict() for row in df.collect()]\n", + "\n", + "\n", + "def list_containers() -> list[dict]:\n", + " \"\"\"List available measurement containers (recording sessions), with all their tags.\"\"\"\n", + " tag_keys = [r[\"key\"] for r in spark.table(f\"{pfx}_container_tags\").select(\"key\").distinct().collect()]\n", + " tags_df = (\n", + " spark.table(f\"{pfx}_container_tags\")\n", + " .groupBy(\"container_id\")\n", + " .pivot(\"key\", tag_keys)\n", + " .agg(F.first(\"value\"))\n", + " )\n", + " df = (\n", + " spark.table(f\"{pfx}_container_metrics\")\n", + " .join(tags_df, on=\"container_id\", how=\"left\")\n", + " .orderBy(\"container_id\")\n", + " )\n", + " return [row.asDict() for row in df.collect()]" + ], + "id": "f1ffbd91eecd4034" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Quick sanity check before wiring these into anything else.\n", + "display(pd.DataFrame(list_channels()))\n", + "display(pd.DataFrame(list_containers()))" + ], + "id": "43d303bbbb764473" + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "%md\n", + "# 3. Ad-hoc execution\n", + "\n", + "This is the part that actually drives Impulse. Each call builds a fresh\n", + "`Report`, defines an event and an aggregation from the caller's\n", + "parameters, runs `determine_report()`, then reads the answer straight out\n", + "of `report.aggregation_dfs` in memory. No `persist_results()`, no\n", + "`unity_sink` in the config, no Delta round-trip for a throwaway one-off\n", + "answer \u2014 the fact schemas already have the final columns directly, so\n", + "nothing needs to be written and read back just to get a result that's\n", + "already sitting in memory. This is what took per-call latency from 33-43s\n", + "down to 2-7s in the deployed version.\n", + "\n", + "**Comprehensive coverage.** Impulse's real capability surface is bigger\n", + "than \"one channel, one threshold, one histogram\" \u2014 this section covers\n", + "everything the framework supports today:\n", + "- **Virtual signals**: not just arithmetic on channels, but the full\n", + " `SampleSeries` transform surface`resample`, `cumtrapz`, `diff`,\n", + " `where`, edge/point detection.\n", + "- **Events**: all four kinds \u2014 `BasicEvent` (threshold \u2192 intervals),\n", + " `ContainerEvent` (whole recording, no condition), `PointsInTimeEvent`\n", + " (discrete instants, e.g. each time a condition starts holding).\n", + "- **Aggregations**: histograms and 2D heatmaps, plus\n", + " `StatsAggregator` (min/max/mean/median across *multiple* signals at\n", + " once) and `PointValueAggregator` (sample values at instants \u2014 the one\n", + " case duration-weighted tools can't cover).\n", + "\n", + "**Virtual signal / condition expression trees** (`signal_expr`/\n", + "`condition_expr`/an event's `signal_expr`): `{\"channel\": \"\", \"tags\":\n", + "{...}}` references a channel; `{\"const\": }` is a constant; `{\"op\":\n", + "\"add\"|\"sub\"|\"mul\"|\"div\"|\"gt\"|\"lt\"|\"ge\"|\"le\"|\"eq\"|\"ne\"|\"and\"|\"or\", \"left\":\n", + ", \"right\": }` combines two nodes (a comparison like \"gt\"\n", + "produces an *Intervals* \u2014 \"channel > 2000\" means \"the time ranges where\n", + "this holds\", not a per-sample boolean); `{\"method\": \"resample\"|\"cumtrapz\"|\n", + "\"diff\"|\"where\"|\"rolling_average\", \"operand\": , \"args\": [...]}`\n", + "transforms a numeric signal; `{\"method\": \"start_points\"|\"end_points\",\n", + "\"operand\": }` turns a comparison's Intervals into discrete instants\n", + "(e.g. each time a condition starts/stops holding); `{\"method\":\n", + "\"rising_edges\"|\"falling_edges\", \"operand\": }` finds transitions in\n", + "an already-boolean raw channel (e.g. a brake switch), as opposed to a\n", + "comparison. Every op/method maps to a fixed, known Python operator or TSAL\n", + "method \u2014 there is no `eval()`/`exec()` of generated code anywhere, even\n", + "though this now covers arithmetic, resampling, integration, and edge\n", + "detection. Example \u2014 cumulative distance from speed: `{\"method\":\n", + "\"cumtrapz\", \"operand\": {\"method\": \"resample\", \"operand\": {\"channel\":\n", + "\"Vehicle Speed\"}, \"args\": [1000000]}}`.\n", + "\n", + "**Events**: omit for the whole recording (`ContainerEvent`). `{\"type\":\n", + "\"basic\", \"channel_name\": \"...\", \"tags\": {...}, \"condition_op\": \">\",\n", + "\"condition_value\": 2000}` scopes to a threshold; `{\"type\": \"basic\",\n", + "\"condition_expr\": }` scopes to a compound boolean condition.\n", + "`{\"type\": \"points_in_time\", \"signal_expr\": }` scopes to discrete\n", + "instants, e.g. `{\"method\": \"start_points\", \"operand\": {\"op\": \"gt\", \"left\":\n", + "{\"channel\": \"Engine RPM\"}, \"right\": {\"const\": 2000}}}` for each moment RPM\n", + "crosses above 2000 \u2014 required for point-value sampling, not usable with\n", + "duration-weighted aggregations.\n", + "\n", + "**Known limitation \u2014 distance/custom-weighted histograms.** Impulse also\n", + "supports weighting histograms by distance or an arbitrary custom signal\n", + "(`HistogramDistance`/`HistogramCustomWeights`), not just duration. Testing\n", + "found these produce numerically incorrect results (off by several orders\n", + "of magnitude) when the weight signal is derived via `resample()` +\n", + "`cumtrapz()` \u2014 verified by checking the same signal's magnitude directly\n", + "via `StatsAggregator` (correct, tens of km) versus as a histogram weight\n", + "(near-zero), reproducible with no event scoping at all. The discrepancy\n", + "traces to the `synchronized()` + `diff()` interaction inside\n", + "`HistogramCustomWeights.build()` in the query engine \u2014 not something\n", + "fixable from this notebook/MCP layer. Duration weighting (the only kind\n", + "exposed below) is fully verified and safe to use." + ], + "id": "44ca9ac9f94c47c6" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import operator\n", + "import uuid\n", + "\n", + "from databricks.sdk import WorkspaceClient\n", + "from impulse_reporting.core.report import Report\n", + "from impulse_reporting.core.page import Page\n", + "from impulse_reporting.aggregations.histogram import HistogramDuration\n", + "from impulse_reporting.aggregations.histogram2d import Histogram2DDuration\n", + "from impulse_reporting.aggregations.stats_aggregator import StatsAggregator\n", + "from impulse_reporting.aggregations.point_value_aggregator import PointValueAggregator\n", + "from impulse_reporting.events.basic_event import BasicEvent\n", + "from impulse_reporting.events.container_event import ContainerEvent\n", + "from impulse_reporting.events.points_in_time_event import PointsInTimeEvent\n", + "\n", + "def _adhoc_config():\n", + " return {\n", + " \"source\": {\n", + " \"container_metrics_table\": f\"{pfx}_container_metrics\",\n", + " \"channel_metrics_table\": f\"{pfx}_channel_metrics\",\n", + " \"channels_uri\": f\"{pfx}_channels\",\n", + " \"container_tags_table\": f\"{pfx}_container_tags\",\n", + " \"channel_tags_table\": f\"{pfx}_channel_tags\",\n", + " },\n", + " # No unity_sink: read the result from report.aggregation_dfs in\n", + " # memory instead of persisting -- see markdown above.\n", + " \"query_engine\": {\"solver\": \"DefaultSolver\", \"data_type\": \"RAW\"},\n", + " \"measurement_dimensions\": [\"container_id\", \"vehicle_key\", \"start_ts\", \"stop_ts\"],\n", + " }\n", + "\n", + "\n", + "_OPS = {\n", + " \">\": operator.gt,\n", + " \"<\": operator.lt,\n", + " \">=\": operator.ge,\n", + " \"<=\": operator.le,\n", + " \"==\": operator.eq,\n", + "}\n", + "\n", + "# Whitelist-only binary operators for expression trees. Every node maps to a\n", + "# fixed, known Python operator applied to TSAL objects -- there is no\n", + "# eval()/exec() of user-provided strings anywhere.\n", + "_EXPR_OPS = {\n", + " \"add\": operator.add, \"sub\": operator.sub, \"mul\": operator.mul, \"div\": operator.truediv,\n", + " \"gt\": operator.gt, \"lt\": operator.lt, \"ge\": operator.ge, \"le\": operator.le,\n", + " \"eq\": operator.eq, \"ne\": operator.ne, \"and\": operator.and_, \"or\": operator.or_,\n", + "}\n", + "\n", + "# Whitelist-only unary TSAL methods reachable from an expression tree's\n", + "# \"method\" node. Same safety property as _EXPR_OPS: only names literally in\n", + "# this set are ever passed to getattr(), so there's no way to reach an\n", + "# unintended method (e.g. a dunder) even in principle.\n", + "_EXPR_METHODS = {\n", + " # SampleSeries (raw/derived numeric signals)\n", + " \"resample\", \"cumtrapz\", \"diff\", \"where\",\n", + " \"rising_edges\", \"falling_edges\", \"rising_edge\", \"falling_edge\",\n", + " \"intervals_between_falling_edges\", \"rolling_average\",\n", + " # Intervals (comparison-derived conditions, e.g. channel > threshold)\n", + " \"start_points\", \"end_points\",\n", + "}\n", + "\n", + "_MAX_EXPR_DEPTH = 10\n", + "\n", + "\n", + "def _resolve_arg(arg, db, depth):\n", + " \"\"\"A method node's args/kwargs may be a literal or a nested expression node.\"\"\"\n", + " if isinstance(arg, dict) and ({\"channel\", \"const\", \"op\", \"method\"} & arg.keys()):\n", + " return build_expr(arg, db, depth)\n", + " return arg\n", + "\n", + "\n", + "def build_expr(node: dict, db, _depth: int = 0):\n", + " \"\"\"Recursively build a TSAL expression from a constrained JSON tree --\n", + " see the markdown above for node shapes and the safety rationale.\"\"\"\n", + " if _depth > _MAX_EXPR_DEPTH:\n", + " raise ValueError(f\"Expression tree exceeds max depth of {_MAX_EXPR_DEPTH}\")\n", + " if \"channel\" in node:\n", + " return db.query.channel(channel_name=node[\"channel\"], **node.get(\"tags\", {}))\n", + " if \"const\" in node:\n", + " return node[\"const\"]\n", + " if \"method\" in node:\n", + " method = node[\"method\"]\n", + " if method not in _EXPR_METHODS:\n", + " raise ValueError(f\"Unsupported method {method!r}; must be one of {sorted(_EXPR_METHODS)}\")\n", + " if \"operand\" not in node:\n", + " raise ValueError(f\"Method node must have 'operand': {node}\")\n", + " operand = build_expr(node[\"operand\"], db, _depth + 1)\n", + " args = [_resolve_arg(a, db, _depth + 1) for a in node.get(\"args\", [])]\n", + " kwargs = {k: _resolve_arg(v, db, _depth + 1) for k, v in node.get(\"kwargs\", {}).items()}\n", + " return getattr(operand, method)(*args, **kwargs)\n", + " if \"op\" not in node:\n", + " raise ValueError(f\"Expression node must have 'channel', 'const', 'method', or 'op': {node}\")\n", + " op = node[\"op\"]\n", + " if op not in _EXPR_OPS:\n", + " raise ValueError(f\"Unsupported op {op!r}; must be one of {sorted(_EXPR_OPS)}\")\n", + " left = build_expr(node[\"left\"], db, _depth + 1)\n", + " right = build_expr(node[\"right\"], db, _depth + 1)\n", + " return _EXPR_OPS[op](left, right)\n", + "\n", + "\n", + "def build_event(event_spec: dict | None, db):\n", + " \"\"\"Build an Event from a constrained spec dict -- see the markdown above\n", + " for the container/basic/points_in_time shapes.\"\"\"\n", + " if event_spec is None:\n", + " return ContainerEvent(name=\"adhoc_event\", desc=\"Full measurement\")\n", + "\n", + " etype = event_spec.get(\"type\", \"basic\")\n", + "\n", + " if etype == \"container\":\n", + " return ContainerEvent(name=\"adhoc_event\", desc=\"Full measurement\")\n", + "\n", + " if etype == \"basic\":\n", + " if \"condition_expr\" in event_spec:\n", + " cond = build_expr(event_spec[\"condition_expr\"], db)\n", + " desc = \"custom condition\"\n", + " else:\n", + " if \"signal_expr\" in event_spec:\n", + " channel = build_expr(event_spec[\"signal_expr\"], db)\n", + " elif \"channel_name\" in event_spec:\n", + " channel = db.query.channel(\n", + " channel_name=event_spec[\"channel_name\"], **event_spec.get(\"tags\", {})\n", + " )\n", + " else:\n", + " raise ValueError(\n", + " \"basic event needs condition_expr, or (channel_name/signal_expr \"\n", + " \"+ condition_op + condition_value)\"\n", + " )\n", + " op = event_spec.get(\"condition_op\")\n", + " value = event_spec.get(\"condition_value\")\n", + " if op not in _OPS or value is None:\n", + " raise ValueError(f\"condition_op must be one of {list(_OPS)} and condition_value must be set\")\n", + " cond = _OPS[op](channel, value)\n", + " desc = f\"{event_spec.get('channel_name', 'signal')} {op} {value}\"\n", + " return BasicEvent(name=\"adhoc_event\", expr=cond, desc=desc)\n", + "\n", + " if etype == \"points_in_time\":\n", + " if \"signal_expr\" not in event_spec:\n", + " raise ValueError(\n", + " \"points_in_time event needs signal_expr (must evaluate to PointsInTime, \"\n", + " \"e.g. a start_points/end_points method node)\"\n", + " )\n", + " expr = build_expr(event_spec[\"signal_expr\"], db)\n", + " return PointsInTimeEvent(name=\"adhoc_event\", expr=expr, desc=\"points in time\")\n", + "\n", + " raise ValueError(f\"Unsupported event type {etype!r}; must be one of: container, basic, points_in_time\")\n", + "\n", + "\n", + "def _resolve_weight(weight: dict | None) -> None:\n", + " \"\"\"Only \"duration\" (the default) is supported -- see the \"Known\n", + " limitation\" note above for why distance/custom are gated off.\"\"\"\n", + " if weight is None:\n", + " return\n", + " wtype = weight.get(\"type\", \"duration\")\n", + " if wtype == \"duration\":\n", + " return\n", + " if wtype in (\"distance\", \"custom\"):\n", + " raise NotImplementedError(\n", + " f\"weight type {wtype!r} is not supported yet: verification found \"\n", + " \"HistogramDistance/HistogramCustomWeights produce numerically incorrect \"\n", + " \"results when the weight signal is derived via resample()+cumtrapz() -- \"\n", + " \"see the markdown above. Duration weighting (the default) is fully verified.\"\n", + " )\n", + " raise ValueError(f\"weight type must be 'duration' (distance/custom not yet supported), got {wtype!r}\")\n", + "\n", + "\n", + "def run_adhoc_histogram(\n", + " bins: list[float],\n", + " channel_name: str | None = None,\n", + " tags: dict[str, str] | None = None,\n", + " signal_expr: dict | None = None,\n", + " event: dict | None = None,\n", + " weight: dict | None = None,\n", + " bins_unit: str | None = None,\n", + " values_unit: str = \"s\",\n", + ") -> list[dict]:\n", + " \"\"\"\n", + " Compute a duration-weighted histogram, scoped to an event. Provide either\n", + " (channel_name [+ tags]) or signal_expr for the histogrammed value. See\n", + " the markdown above for the event/weight/expression-tree formats.\n", + " Returns one row per bin: bin_name, lower_bound, duration_s.\n", + " \"\"\"\n", + " report = Report(name=f\"adhoc_{uuid.uuid4().hex[:8]}\", spark=spark, config=_adhoc_config(), workspace_client=WorkspaceClient())\n", + " db = report.get_db()\n", + "\n", + " if signal_expr is not None:\n", + " channel = build_expr(signal_expr, db)\n", + " elif channel_name is not None:\n", + " channel = db.query.channel(channel_name=channel_name, **(tags or {}))\n", + " else:\n", + " raise ValueError(\"Either channel_name or signal_expr must be provided\")\n", + "\n", + " ev = build_event(event, db)\n", + " report.add_event(ev)\n", + " _resolve_weight(weight)\n", + "\n", + " page = Page(page_number=1)\n", + " page.add_aggregation(HistogramDuration(\n", + " name=\"adhoc_histogram\", base_expr=channel, bins=[float(b) for b in bins],\n", + " event=ev, channel_name=channel_name or \"virtual_signal\",\n", + " bins_unit=bins_unit or \"\", values_unit=values_unit,\n", + " ))\n", + " report.add_page(page)\n", + " report.determine_report()\n", + "\n", + " hist_dfs = report.aggregation_dfs[\"HISTOGRAM\"]\n", + " hist_df = hist_dfs.get(\"changed\") if hist_dfs.get(\"changed\") is not None else hist_dfs[\"unchanged\"]\n", + " result_df = (\n", + " hist_df.groupBy(\"bin_name\", \"lower_bound\")\n", + " .agg(F.sum(\"hist_value\").alias(\"duration_us\")).orderBy(\"lower_bound\").toPandas()\n", + " )\n", + " result_df[\"duration_s\"] = result_df[\"duration_us\"] / 1e6\n", + " return result_df[[\"bin_name\", \"lower_bound\", \"duration_s\"]].to_dict(orient=\"records\")\n", + "\n", + "\n", + "def run_adhoc_histogram2d(\n", + " x_bins: list[float],\n", + " y_bins: list[float],\n", + " x_channel_name: str | None = None,\n", + " y_channel_name: str | None = None,\n", + " tags: dict[str, str] | None = None,\n", + " x_signal_expr: dict | None = None,\n", + " y_signal_expr: dict | None = None,\n", + " event: dict | None = None,\n", + " weight: dict | None = None,\n", + " x_bins_unit: str | None = None,\n", + " y_bins_unit: str | None = None,\n", + " values_unit: str = \"s\",\n", + ") -> list[dict]:\n", + " \"\"\"\n", + " 2D duration-weighted heatmap of two signals (x vs y), scoped to an event.\n", + " Same expression-tree/event/weight mechanism as run_adhoc_histogram.\n", + " Returns one row per (x_bin, y_bin).\n", + " \"\"\"\n", + " report = Report(name=f\"adhoc2d_{uuid.uuid4().hex[:8]}\", spark=spark, config=_adhoc_config(), workspace_client=WorkspaceClient())\n", + " db = report.get_db()\n", + "\n", + " if x_signal_expr is not None:\n", + " x_channel = build_expr(x_signal_expr, db)\n", + " elif x_channel_name is not None:\n", + " x_channel = db.query.channel(channel_name=x_channel_name, **(tags or {}))\n", + " else:\n", + " raise ValueError(\"Either x_channel_name or x_signal_expr must be provided\")\n", + "\n", + " if y_signal_expr is not None:\n", + " y_channel = build_expr(y_signal_expr, db)\n", + " elif y_channel_name is not None:\n", + " y_channel = db.query.channel(channel_name=y_channel_name, **(tags or {}))\n", + " else:\n", + " raise ValueError(\"Either y_channel_name or y_signal_expr must be provided\")\n", + "\n", + " ev = build_event(event, db)\n", + " report.add_event(ev)\n", + " _resolve_weight(weight)\n", + "\n", + " page = Page(page_number=1)\n", + " page.add_aggregation(Histogram2DDuration(\n", + " name=\"adhoc_histogram2d\", x_expr=x_channel, y_expr=y_channel,\n", + " x_bins=[float(b) for b in x_bins], y_bins=[float(b) for b in y_bins], event=ev,\n", + " x_channel_name=x_channel_name or \"x_signal\", y_channel_name=y_channel_name or \"y_signal\",\n", + " x_bins_unit=x_bins_unit, y_bins_unit=y_bins_unit, values_unit=values_unit,\n", + " ))\n", + " report.add_page(page)\n", + " report.determine_report()\n", + "\n", + " hist_dfs = report.aggregation_dfs[\"HISTOGRAM2D\"]\n", + " hist_df = hist_dfs.get(\"changed\") if hist_dfs.get(\"changed\") is not None else hist_dfs[\"unchanged\"]\n", + " result_df = (\n", + " hist_df.groupBy(\"x_bin_name\", \"y_bin_name\", \"x_lower_bound\", \"y_lower_bound\")\n", + " .agg(F.sum(\"hist_value\").alias(\"duration_us\")).orderBy(\"x_lower_bound\", \"y_lower_bound\").toPandas()\n", + " )\n", + " result_df[\"duration_s\"] = result_df[\"duration_us\"] / 1e6\n", + " return result_df[[\"x_bin_name\", \"y_bin_name\", \"x_lower_bound\", \"y_lower_bound\", \"duration_s\"]].to_dict(orient=\"records\")\n", + "\n", + "\n", + "_STATS = {\"min\", \"max\", \"mean\", \"median\"}\n", + "\n", + "\n", + "def run_adhoc_stats(\n", + " signals: list[dict],\n", + " statistics: list[str] | None = None,\n", + " event: dict | None = None,\n", + ") -> list[dict]:\n", + " \"\"\"\n", + " Compute summary statistics for one or more signals at once, scoped to an\n", + " event -- this is the \"multiple channels\" case, via StatsAggregator.\n", + " signals: [{\"label\": \"...\", \"channel_name\": \"...\", \"tags\": {...}}] or\n", + " [{\"label\": \"...\", \"signal_expr\": }]. statistics: subset of\n", + " min/max/mean/median (default: all). Statistics are computed per\n", + " container, not collapsed across containers -- averaging an\n", + " already-averaged value across sessions without knowing sample counts\n", + " wouldn't be statistically valid. Returns one row per\n", + " (container_id, label, statistic).\n", + " \"\"\"\n", + " if not signals:\n", + " raise ValueError(\"signals must have at least one entry\")\n", + " stats = statistics or sorted(_STATS)\n", + " bad = set(stats) - _STATS\n", + " if bad:\n", + " raise ValueError(f\"Unsupported statistics {bad}; must be a subset of {sorted(_STATS)}\")\n", + "\n", + " report = Report(name=f\"adhoc_stats_{uuid.uuid4().hex[:8]}\", spark=spark, config=_adhoc_config(), workspace_client=WorkspaceClient())\n", + " db = report.get_db()\n", + "\n", + " ev = build_event(event, db)\n", + " report.add_event(ev)\n", + "\n", + " exprs, labels = [], []\n", + " for sig in signals:\n", + " if \"signal_expr\" in sig:\n", + " exprs.append(build_expr(sig[\"signal_expr\"], db))\n", + " elif \"channel_name\" in sig:\n", + " exprs.append(db.query.channel(channel_name=sig[\"channel_name\"], **sig.get(\"tags\", {})))\n", + " else:\n", + " raise ValueError(f\"signal {sig!r} needs channel_name or signal_expr\")\n", + " labels.append(sig[\"label\"])\n", + "\n", + " page = Page(page_number=1)\n", + " page.add_aggregation(StatsAggregator(\n", + " name=\"adhoc_stats\", input_expressions=exprs, channel_names=labels,\n", + " statistics=list(stats), event=ev,\n", + " ))\n", + " report.add_page(page)\n", + " report.determine_report()\n", + "\n", + " stats_dfs = report.aggregation_dfs[\"STATS_AGGREGATOR\"]\n", + " stats_df = stats_dfs.get(\"changed\") if stats_dfs.get(\"changed\") is not None else stats_dfs[\"unchanged\"]\n", + " result_df = (\n", + " stats_df.select(\"container_id\", \"channel_name\", \"aggregation_label\", \"statistic_value\")\n", + " .orderBy(\"container_id\", \"channel_name\", \"aggregation_label\")\n", + " .toPandas()\n", + " .rename(columns={\"channel_name\": \"label\", \"aggregation_label\": \"statistic\", \"statistic_value\": \"value\"})\n", + " )\n", + " return result_df.to_dict(orient=\"records\")\n", + "\n", + "\n", + "def run_adhoc_point_values(signals: list[dict], event: dict) -> list[dict]:\n", + " \"\"\"\n", + " Sample one or more signals at each instant of a points-in-time event --\n", + " the one case duration-weighted tools can't cover, since they need time\n", + " intervals, not discrete instants. signals: same shape as\n", + " run_adhoc_stats. event: REQUIRED, must be a points_in_time event.\n", + " Returns one row per (container_id, event_instance_id, label).\n", + " \"\"\"\n", + " if not signals:\n", + " raise ValueError(\"signals must have at least one entry\")\n", + " if not event or event.get(\"type\") != \"points_in_time\":\n", + " raise ValueError('event must be a points_in_time event: {\"type\": \"points_in_time\", \"signal_expr\": ...}')\n", + "\n", + " report = Report(name=f\"adhoc_pv_{uuid.uuid4().hex[:8]}\", spark=spark, config=_adhoc_config(), workspace_client=WorkspaceClient())\n", + " db = report.get_db()\n", + "\n", + " ev = build_event(event, db)\n", + " report.add_event(ev)\n", + "\n", + " exprs, labels = [], []\n", + " for sig in signals:\n", + " if \"signal_expr\" in sig:\n", + " exprs.append(build_expr(sig[\"signal_expr\"], db))\n", + " elif \"channel_name\" in sig:\n", + " exprs.append(db.query.channel(channel_name=sig[\"channel_name\"], **sig.get(\"tags\", {})))\n", + " else:\n", + " raise ValueError(f\"signal {sig!r} needs channel_name or signal_expr\")\n", + " labels.append(sig[\"label\"])\n", + "\n", + " page = Page(page_number=1)\n", + " page.add_aggregation(PointValueAggregator(\n", + " name=\"adhoc_point_values\", input_expressions=exprs, channel_names=labels, event=ev,\n", + " ))\n", + " report.add_page(page)\n", + " report.determine_report()\n", + "\n", + " pv_dfs = report.aggregation_dfs[\"POINT_VALUE_AGGREGATOR\"]\n", + " pv_df = pv_dfs.get(\"changed\") if pv_dfs.get(\"changed\") is not None else pv_dfs[\"unchanged\"]\n", + " result_df = (\n", + " pv_df.select(\"container_id\", \"event_instance_id\", \"channel_name\", \"statistic_value\")\n", + " .orderBy(\"container_id\", \"event_instance_id\", \"channel_name\")\n", + " .toPandas()\n", + " .rename(columns={\"channel_name\": \"label\", \"statistic_value\": \"value\"})\n", + " )\n", + " return result_df.to_dict(orient=\"records\")" + ], + "id": "2cd5a30ba3e14729" + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Direct tests \u2014 prove the execution logic works against real data before\n", + "wiring it into MCP tools: the original plain-channel question, a virtual\n", + "signal, a 2D heatmap, multi-channel stats, and points-in-time sampling." + ], + "id": "bfdabfdf76ec4688" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "result = run_adhoc_histogram(\n", + " channel_name=\"Engine RPM\",\n", + " bins=[0, 1000, 2000, 3000, 4000, 5000],\n", + " event={\"type\": \"basic\", \"channel_name\": \"Engine RPM\", \"tags\": {\"brand\": \"Seat\", \"model\": \"Leon\"},\n", + " \"condition_op\": \">\", \"condition_value\": 2000},\n", + " tags={\"brand\": \"Seat\", \"model\": \"Leon\"},\n", + ")\n", + "display(pd.DataFrame(result))" + ], + "id": "3541d455ff4649c3" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "avg_temp_expr = {\n", + " \"op\": \"div\",\n", + " \"left\": {\"op\": \"add\",\n", + " \"left\": {\"channel\": \"Ambient Air Temperature\", \"tags\": {\"brand\": \"Seat\", \"model\": \"Leon\"}},\n", + " \"right\": {\"channel\": \"Intake Air Temperature\", \"tags\": {\"brand\": \"Seat\", \"model\": \"Leon\"}}},\n", + " \"right\": {\"const\": 2},\n", + "}\n", + "result_virtual = run_adhoc_histogram(\n", + " signal_expr=avg_temp_expr,\n", + " event={\"type\": \"basic\", \"condition_expr\": {\"op\": \"gt\", \"left\": avg_temp_expr, \"right\": {\"const\": 0}}},\n", + " bins=[-10, 0, 10, 20, 30],\n", + ")\n", + "display(pd.DataFrame(result_virtual))" + ], + "id": "2548844177114428" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "result_2d = run_adhoc_histogram2d(\n", + " x_channel_name=\"Engine RPM\",\n", + " y_channel_name=\"Vehicle Speed Sensor\",\n", + " x_bins=[2000, 2500, 3000, 3500, 4000, 4500, 5000],\n", + " y_bins=[0, 50, 100, 150, 200],\n", + " event={\"type\": \"basic\", \"channel_name\": \"Engine RPM\", \"tags\": {\"brand\": \"Seat\", \"model\": \"Leon\"},\n", + " \"condition_op\": \">\", \"condition_value\": 2000},\n", + " tags={\"brand\": \"Seat\", \"model\": \"Leon\"},\n", + ")\n", + "display(pd.DataFrame(result_2d))" + ], + "id": "264948788c704d2c" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "result_stats = run_adhoc_stats(\n", + " signals=[\n", + " {\"label\": \"Engine RPM\", \"channel_name\": \"Engine RPM\", \"tags\": {\"brand\": \"Seat\", \"model\": \"Leon\"}},\n", + " {\"label\": \"Vehicle Speed\", \"channel_name\": \"Vehicle Speed Sensor\", \"tags\": {\"brand\": \"Seat\", \"model\": \"Leon\"}},\n", + " ],\n", + " statistics=[\"min\", \"max\", \"mean\"],\n", + ")\n", + "display(pd.DataFrame(result_stats))" + ], + "id": "10c2bd2e48ef4a55" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "result_points = run_adhoc_point_values(\n", + " signals=[\n", + " {\"label\": \"Vehicle Speed\", \"channel_name\": \"Vehicle Speed Sensor\", \"tags\": {\"brand\": \"Seat\", \"model\": \"Leon\"}},\n", + " {\"label\": \"Engine RPM\", \"channel_name\": \"Engine RPM\", \"tags\": {\"brand\": \"Seat\", \"model\": \"Leon\"}},\n", + " ],\n", + " event={\n", + " \"type\": \"points_in_time\",\n", + " \"signal_expr\": {\n", + " \"method\": \"start_points\",\n", + " \"operand\": {\"op\": \"gt\", \"left\": {\"channel\": \"Engine RPM\", \"tags\": {\"brand\": \"Seat\", \"model\": \"Leon\"}}, \"right\": {\"const\": 2000}},\n", + " },\n", + " },\n", + ")\n", + "display(pd.DataFrame(result_points))" + ], + "id": "3b2846d13fe94cb9" + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 4. Exposing these as MCP tools\n", + "\n", + "Thin wrappers around the already-tested functions above \u2014 the MCP layer\n", + "adds no new logic, just a typed, discoverable interface an agent can call.\n", + "`Literal` on `condition_op` and `dict` on the expression-tree parameters\n", + "constrain what the tool schema will accept: the agent fills in values or\n", + "composes a tree from a fixed op vocabulary, it never generates code." + ], + "id": "18344cdcc90a4532" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from typing import Literal\n", + "from mcp.server.fastmcp import FastMCP\n", + "\n", + "mcp = FastMCP(\"impulse-agent\")\n", + "\n", + "\n", + "# list_channels/list_containers keep their Python function names as *_tool\n", + "# internally to avoid shadowing the plain list_channels()/list_containers()\n", + "# helpers above -- @mcp.tool(name=...) decouples the exposed MCP name from\n", + "# the Python function name.\n", + "\n", + "@mcp.tool(name=\"list_channels\")\n", + "def list_channels_tool() -> list[dict]:\n", + " \"\"\"List available measurement channels and their tags (e.g. brand, model,\n", + " unit -- whatever tag vocabulary this dataset uses). Read-only and\n", + " instant. Call this to ground yourself before preview_histogram/\n", + " preview_histogram_2d/preview_stats/preview_point_values (so channel_name/\n", + " tags are real values, not guesses).\"\"\"\n", + " return list_channels()\n", + "\n", + "\n", + "@mcp.tool(name=\"list_containers\")\n", + "def list_containers_tool() -> list[dict]:\n", + " \"\"\"List available measurement containers (recording sessions) and their\n", + " tags (e.g. vehicle, duration, condition). Read-only and instant.\"\"\"\n", + " return list_containers()\n", + "\n", + "\n", + "@mcp.tool()\n", + "def preview_histogram(\n", + " bins: list[float],\n", + " channel_name: str | None = None,\n", + " tags: dict[str, str] | None = None,\n", + " signal_expr: dict | None = None,\n", + " event: dict | None = None,\n", + " weight: dict | None = None,\n", + " bins_unit: str | None = None,\n", + " values_unit: str = \"s\",\n", + ") -> list[dict]:\n", + " \"\"\"Compute a duration-weighted histogram RIGHT NOW and return the actual\n", + " numeric result -- an instant, read-only preview, not a persisted report\n", + " aggregation. Provide either (channel_name [+ tags]) or signal_expr for a\n", + " derived virtual signal. event scopes the time range (omit for the whole\n", + " recording); weight currently only supports duration (the default) -- see\n", + " the notebook markdown above for the full expression tree / event /\n", + " known-limitation documentation. Returns one row per bin with bin_name,\n", + " lower_bound, and duration_s.\"\"\"\n", + " return run_adhoc_histogram(\n", + " bins=bins, channel_name=channel_name, tags=tags, signal_expr=signal_expr,\n", + " event=event, weight=weight, bins_unit=bins_unit, values_unit=values_unit,\n", + " )\n", + "\n", + "\n", + "@mcp.tool()\n", + "def preview_histogram_2d(\n", + " x_bins: list[float],\n", + " y_bins: list[float],\n", + " x_channel_name: str | None = None,\n", + " y_channel_name: str | None = None,\n", + " tags: dict[str, str] | None = None,\n", + " x_signal_expr: dict | None = None,\n", + " y_signal_expr: dict | None = None,\n", + " event: dict | None = None,\n", + " weight: dict | None = None,\n", + " x_bins_unit: str | None = None,\n", + " y_bins_unit: str | None = None,\n", + " values_unit: str = \"s\",\n", + ") -> list[dict]:\n", + " \"\"\"Compute a 2D duration-weighted heatmap of two signals (x vs y) RIGHT\n", + " NOW and return the actual numeric result -- an instant, read-only\n", + " preview, not a persisted report aggregation. Same expression-tree/event/\n", + " weight mechanism as preview_histogram. Returns one row per (x_bin, y_bin)\n", + " with x_bin_name, y_bin_name, x_lower_bound, y_lower_bound, duration_s.\"\"\"\n", + " return run_adhoc_histogram2d(\n", + " x_bins=x_bins, y_bins=y_bins, x_channel_name=x_channel_name, y_channel_name=y_channel_name,\n", + " tags=tags, x_signal_expr=x_signal_expr, y_signal_expr=y_signal_expr,\n", + " event=event, weight=weight, x_bins_unit=x_bins_unit, y_bins_unit=y_bins_unit, values_unit=values_unit,\n", + " )\n", + "\n", + "\n", + "@mcp.tool()\n", + "def preview_stats(\n", + " signals: list[dict],\n", + " statistics: list[Literal[\"min\", \"max\", \"mean\", \"median\"]] | None = None,\n", + " event: dict | None = None,\n", + ") -> list[dict]:\n", + " \"\"\"Compute summary statistics for one or more signals RIGHT NOW -- an\n", + " instant, read-only preview. This is the tool for statistics across\n", + " MULTIPLE signals at once. signals: [{\"label\": \"...\", \"channel_name\":\n", + " \"...\", \"tags\": {...}}] or [{\"label\": \"...\", \"signal_expr\": }].\n", + " statistics: subset of min/max/mean/median (default: all). event scopes\n", + " the time range (omit for the whole recording). Returns one row per\n", + " (container_id, label, statistic) -- per container, not collapsed across\n", + " containers, since averaging an already-averaged value without sample\n", + " counts wouldn't be statistically valid.\"\"\"\n", + " return run_adhoc_stats(signals=signals, statistics=statistics, event=event)\n", + "\n", + "\n", + "@mcp.tool()\n", + "def preview_point_values(signals: list[dict], event: dict) -> list[dict]:\n", + " \"\"\"Sample one or more signals at each instant of a points-in-time event\n", + " RIGHT NOW -- an instant, read-only preview. Use for \"what was X at each\n", + " Y\" questions (e.g. speed at each RPM-crossing instant) -- the one case\n", + " preview_histogram/preview_stats can't cover, since those need time\n", + " intervals, not discrete instants. signals: same shape as preview_stats.\n", + " event: REQUIRED, must be {\"type\": \"points_in_time\", \"signal_expr\": }. Returns one row per (container_id,\n", + " event_instance_id, label).\"\"\"\n", + " return run_adhoc_point_values(signals=signals, event=event)" + ], + "id": "2742e830590c4494" + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 5. End-to-end MCP round trip\n", + "\n", + "An in-process MCP client talking to the server above \u2014 the same\n", + "request/response path a real agent (Claude, or any MCP-speaking client)\n", + "would use, just without a network hop. This is the actual proof that the\n", + "tool surface works, not mocked data.\n", + "\n", + "In production this server would run inside something with a **warm, live\n", + "Spark session** \u2014 e.g. a Databricks App using Databricks Connect / serverless\n", + "compute \u2014 since Impulse has no CLI or REST mode and a Job's cold-start\n", + "latency (cluster spin-up) isn't acceptable for a conversational agent." + ], + "id": "b3c6548bf0c446f1" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "from mcp.shared.memory import create_connected_server_and_client_session\n", + "\n", + "\n", + "async def demo_agent_turn():\n", + " async with create_connected_server_and_client_session(mcp._mcp_server) as client:\n", + " tools = await client.list_tools()\n", + " print(\"Available tools:\", [t.name for t in tools.tools])\n", + "\n", + " channels = await client.call_tool(\"list_channels\", {})\n", + " print(\"\\nlist_channels ->\")\n", + " print(json.dumps(channels.structuredContent[\"result\"], indent=2))\n", + "\n", + " histogram = await client.call_tool(\n", + " \"preview_histogram\",\n", + " {\n", + " \"channel_name\": \"Engine RPM\",\n", + " \"bins\": [0, 1000, 2000, 3000, 4000, 5000],\n", + " \"event\": {\"type\": \"basic\", \"channel_name\": \"Engine RPM\",\n", + " \"tags\": {\"brand\": \"Seat\", \"model\": \"Leon\"},\n", + " \"condition_op\": \">\", \"condition_value\": 2000},\n", + " \"tags\": {\"brand\": \"Seat\", \"model\": \"Leon\"},\n", + " },\n", + " )\n", + " print(\"\\npreview_histogram ->\")\n", + " print(json.dumps(histogram.structuredContent[\"result\"], indent=2))\n", + "\n", + " heatmap = await client.call_tool(\n", + " \"preview_histogram_2d\",\n", + " {\n", + " \"x_channel_name\": \"Engine RPM\",\n", + " \"y_channel_name\": \"Vehicle Speed Sensor\",\n", + " \"x_bins\": [2000, 2500, 3000, 3500, 4000, 4500, 5000],\n", + " \"y_bins\": [0, 50, 100, 150, 200],\n", + " \"event\": {\"type\": \"basic\", \"channel_name\": \"Engine RPM\",\n", + " \"tags\": {\"brand\": \"Seat\", \"model\": \"Leon\"},\n", + " \"condition_op\": \">\", \"condition_value\": 2000},\n", + " \"tags\": {\"brand\": \"Seat\", \"model\": \"Leon\"},\n", + " },\n", + " )\n", + " print(\"\\npreview_histogram_2d ->\")\n", + " print(json.dumps(heatmap.structuredContent[\"result\"], indent=2))\n", + "\n", + " stats = await client.call_tool(\n", + " \"preview_stats\",\n", + " {\n", + " \"signals\": [\n", + " {\"label\": \"Engine RPM\", \"channel_name\": \"Engine RPM\", \"tags\": {\"brand\": \"Seat\", \"model\": \"Leon\"}},\n", + " {\"label\": \"Vehicle Speed\", \"channel_name\": \"Vehicle Speed Sensor\", \"tags\": {\"brand\": \"Seat\", \"model\": \"Leon\"}},\n", + " ],\n", + " \"statistics\": [\"min\", \"max\", \"mean\"],\n", + " },\n", + " )\n", + " print(\"\\npreview_stats ->\")\n", + " print(json.dumps(stats.structuredContent[\"result\"], indent=2))\n", + "\n", + " points = await client.call_tool(\n", + " \"preview_point_values\",\n", + " {\n", + " \"signals\": [\n", + " {\"label\": \"Vehicle Speed\", \"channel_name\": \"Vehicle Speed Sensor\", \"tags\": {\"brand\": \"Seat\", \"model\": \"Leon\"}},\n", + " {\"label\": \"Engine RPM\", \"channel_name\": \"Engine RPM\", \"tags\": {\"brand\": \"Seat\", \"model\": \"Leon\"}},\n", + " ],\n", + " \"event\": {\n", + " \"type\": \"points_in_time\",\n", + " \"signal_expr\": {\n", + " \"method\": \"start_points\",\n", + " \"operand\": {\"op\": \"gt\", \"left\": {\"channel\": \"Engine RPM\", \"tags\": {\"brand\": \"Seat\", \"model\": \"Leon\"}}, \"right\": {\"const\": 2000}},\n", + " },\n", + " },\n", + " },\n", + " )\n", + " print(\"\\npreview_point_values -> (first 3 rows)\")\n", + " print(json.dumps(points.structuredContent[\"result\"][:3], indent=2))\n", + "\n", + "\n", + "# Databricks notebooks (like Jupyter) already run inside an active asyncio\n", + "# event loop, so asyncio.run() isn't valid here -- use top-level await instead.\n", + "await demo_agent_turn()" + ], + "id": "7bd2a4163952452d" + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 6. From notebook to production: deploying as a Databricks App\n", + "\n", + "The tools above prove the logic; production needs them reachable over the\n", + "network with a persistent warm Spark session, not run from a notebook cell.\n", + "\n", + "The full source for a deployable MCP server built from these same tools is\n", + "included at **`demos/agent_mcp_app/`** in this repo. To deploy it:\n", + "\n", + "```bash\n", + "cd demos/agent_mcp_app\n", + "./build_wheel.sh # bundles Impulse's own source for the app to ship to remote workers\n", + "# edit app.yaml: set CATALOG/SCHEMA/TABLE_PREFIX\n", + "databricks apps create mcp-impulse-agent # name must start with mcp- to be discoverable in AI Playground\n", + "databricks sync . /Workspace/Users//mcp-impulse-agent\n", + "databricks apps deploy mcp-impulse-agent --source-code-path /Workspace/Users//mcp-impulse-agent\n", + "```\n", + "\n", + "See that folder's `README.md` for the full setup steps (including the\n", + "Unity Catalog grants the app's service principal needs), the reasoning\n", + "behind its dependency pins and latency tuning, and known limitations\n", + "(no per-user auth yet; distance/custom-weighted histograms are gated off \u2014\n", + "see Section 3 above for why)." + ], + "id": "aa36ba4243d246a6" + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 7. Testing the deployed agent in AI Playground\n", + "\n", + "Since the app is named `mcp-`, it's automatically discoverable as a\n", + "custom MCP server:\n", + "1. Workspace sidebar \u2192 **Playground**.\n", + "2. In the **Tools** dropdown, add the custom MCP server for your deployed\n", + " app.\n", + "3. Ask a question and watch which tools the model calls, in what order,\n", + " and with what arguments \u2014 this is the real test of whether the tool\n", + " descriptions and parameter schemas are good enough for a model to use\n", + " unprompted, not just whether the plumbing works.\n", + "\n", + "One question per category, from easiest to hardest for the agent:\n", + "\n", + "| Category | Question | What it tests |\n", + "|---|---|---|\n", + "| Grounding | \"What measurement channels are available in this dataset?\" | Calls `list_channels` with no guessing |\n", + "| Basic histogram | \"What's the distribution of Engine RPM while it's above 2000?\" | Maps a plain-English question onto `preview_histogram`'s typed parameters |\n", + "| Threshold / edge case | \"What's the RPM distribution above 10000?\" | Nothing in the data reaches that high \u2014 checks the agent reports an all-zero result correctly instead of treating it as an error |\n", + "| Disambiguation | \"I want to know about the RPM signal \u2014 what car is it from?\" | Should call `list_channels` to ground itself (discovering brand/model tags) rather than guessing |\n", + "| Compound / reasoning | \"Out of the total recording time, what percentage was spent above 2000 RPM?\" | Needs both `preview_histogram` and `list_containers` (for total duration), then arithmetic on the results |\n", + "| Should-fail / boundary | \"What's the Turbo Boost Pressure distribution?\" | This channel doesn't exist in the dataset \u2014 tests whether the agent checks `list_channels` and reports it's unavailable instead of hallucinating a result |\n", + "| 2D heatmap | \"Show me how RPM and speed relate to each other while RPM is above 2000.\" | Should call `preview_histogram_2d` rather than two separate 1D histograms |\n", + "| Virtual signal | \"What's the distribution of the average of ambient and intake air temperature?\" | Needs the agent to build a `signal_expr` tree combining two channels \u2014 the hardest case, since nothing about the tool description hands it a ready-made answer |\n", + "| Multi-signal stats | \"What are the min, max, and average RPM and speed for each test drive?\" | Should call `preview_stats` with both signals in one call, not two separate calls |\n", + "| Points in time | \"What was the vehicle speed each time RPM crossed above 2000?\" | Needs `preview_point_values` with a `points_in_time` event built from `start_points` on a comparison \u2014 the least discoverable tool, since it requires composing two concepts (event type + expression method) together |\n", + "\n", + "A couple of examples from an actual AI Playground run against the deployed\n", + "app:\n", + "\n", + "**Disambiguation** \u2014 the agent calls `list_channels` to ground itself before\n", + "answering, rather than guessing:\n", + "\n", + "\n", + "\n", + "**2D heatmap** \u2014 the agent calls `preview_histogram_2d` and summarizes the\n", + "RPM/speed relationship from the returned bins:\n", + "\n", + "" + ], + "id": "926e00d2cee94464" + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 8. Cleanup\n", + "\n", + "Drop the silver tables loaded by this notebook. Ad-hoc scratch Gold tables\n", + "are already cleaned up inline by `run_adhoc_histogram` after each call." + ], + "id": "39c9c40b984e4396" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%skip\n", + "dbutils.widgets.dropdown(\"drop_created_tables\", \"false\", [\"true\", \"false\"], \"Drop Created Tables\")" + ], + "id": "da8499d2a5ff4812" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%skip\n", + "if dbutils.widgets.get(\"drop_created_tables\") == \"true\":\n", + " for t in SILVER:\n", + " spark.sql(f\"DROP TABLE IF EXISTS {pfx}_{t}\")\n", + " print(f\"Dropped {len(SILVER)} tables\")" + ], + "id": "879d340d77a64708" + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/demos/images/playground_q4_disambiguation.png b/demos/images/playground_q4_disambiguation.png new file mode 100755 index 0000000000000000000000000000000000000000..9af80c5a94545d898388fc9b6058e735ead6a7cf GIT binary patch literal 118286 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%0Ap62Er+~%?q=LUTIF9(d(_<6 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

    s0buU0#x^u}FCJI3b^` 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�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 literal 0 HcmV?d00001