Extra · Fabric IQ — Real-Time Data Grounding
Tier 2 · Extra — modular. You can attempt this in any order with the other Extras. Prerequisite: the Foundations end-state (a deployed, grounded Northfield IQ Assistant). Complete Foundations, or run the bootstrap skip-path:
azd up && ./scripts/setup-foundations.sh && python scripts/validate-foundations.py.Specific prereq: Foundations Step 4 (the AI Search knowledge base) — this Extra adds a second, live source alongside it.
⚙️ Infra prerequisite (coach must pre-provision): a Microsoft Fabric capacity (F-SKU or Fabric trial) with a OneLake lakehouse holding a live operational table, plus a Fabric data-agent / Fabric IQ connection your Foundry project can reach. See solution.md → Infra to pre-provision for the exact setup. Gate this Extra behind coach availability — without Fabric capacity it cannot be completed.
🎤 Demo wow-factor: the assistant answers “are there seats left in CS101 right now?” with live numbers pulled from Fabric — something a static RAG index physically cannot do.
Why this challenge
Your Foundations assistant is grounded in documents — the Northfield FAQ corpus indexed in Azure AI Search. Documents are perfect for policy, deadlines, and how-to answers, but they go stale: an indexed PDF can’t tell a student that CS101 just dropped from 3 open seats to 0 five minutes ago.
Fabric IQ closes that gap. It exposes live operational data sitting in OneLake (course-seat availability, dining-hall capacity, shuttle ETAs) to your agent as a tool, right next to the static knowledge base. The agent learns to pick the right source: policy question → FAQ knowledge base; right-now question → Fabric IQ.
student question
|
v
Northfield IQ Assistant
|
+--> AI Search knowledge base (static: policy, deadlines)
+--> Fabric IQ tool --> OneLake (live: seats, capacity, ETAs)
Step 1 — Confirm the live data source in OneLake
Goal: You can see a live operational table in OneLake that the agent will query.
Tasks:
- Open the Fabric workspace your coach provisioned and find the lakehouse (e.g.
northfield_ops). -
Locate the live table — for this Extra,
course_seatswith columnscourse_code, section, capacity, enrolled, seats_open, updated_at. - Run a quick SQL/Spark preview in Fabric:
SELECT course_code, seats_open FROM course_seats WHERE course_code = 'CS101'. Note the value — you’ll prove the agent returns the same number.
Success Criteria:
- You can read at least one row of live data and record its current
seats_openvalue. - You know the lakehouse + table name your agent will be pointed at.
Checkpoint: Portal state — the Fabric SQL/Spark preview returns a seats_open value for CS101.
The number changing between runs is the point — that’s the live-ness you’ll demo.
Step 2 — Wire the Fabric IQ tool to your agent
Goal: Attach Fabric IQ to the Northfield IQ Assistant as a second grounding tool.
Tasks:
-
In your Foundry project, create a Fabric connection pointing at the workspace/lakehouse (your coach provides the connection string / Fabric data-agent endpoint).
-
Using the
foundry-toolboxesskill pattern, attach the Fabric IQ tool to your existing agent (AZURE_FOUNDRY_AGENT_NAME) alongside the AI Search knowledge-base tool from Foundations Step 4. Search before you implement: queryfoundry-mcpandmicrosoft-docsfor the current Fabric tool class + constructor — this surface is preview and moves. -
Update the agent’s system instructions with a routing rule: “For real-time availability (seats, capacity, wait times) use the Fabric tool; for policies and procedures use the knowledge base.”
Success Criteria:
- The agent lists two grounding tools: the AI Search knowledge base and the Fabric IQ tool.
- The system instructions contain an explicit source-routing rule.
Checkpoint: Portal state — the agent’s Tools panel shows both the knowledge base and the Fabric tool attached; a Playground test run invokes the Fabric tool for a “right now” question.
Step 3 — Prove live grounding (and contrast with static RAG)
Goal: Show the agent answering a real-time question with a number that matches OneLake.
Tasks:
- In the Playground (or via the Responses API), ask: “Are there any seats left in CS101 right now?”
- Confirm the answer’s number matches the
seats_openyou read in Step 1. -
Mutate the data (have your coach update
course_seats, or run an UPDATE in Fabric), then ask again — the agent’s answer should change without re-indexing anything. - Ask a policy question (“What’s the add/drop deadline?”) and confirm it still routes to the FAQ knowledge base, not Fabric.
Success Criteria:
- The seat answer matches live OneLake data on the first ask.
- After mutating the table, a re-ask returns the new number with no re-index step.
- A policy question still cites the FAQ knowledge base (correct source routing).
Checkpoint: Portal/transcript state — capture two transcripts of the CS101 question across a data change showing the number moved; capture one policy answer still citing the FAQ corpus.
Coach verifies the contrast verbally: static RAG would have returned the stale indexed number both times; Fabric IQ tracks the source of truth.
What you built
A dual-grounded assistant: durable knowledge from AI Search plus live operational truth from Fabric IQ / OneLake, with the agent routing each question to the right source. This is the difference between an assistant that knows the rules and one that also knows the current state of the world.