Delectable AI: Technical Deep Dive

Data Journey · ML Models · Agent Orchestration · Graph RAG · The Brain

Interactive

From Raw Catalog to
Intelligent Context

Your Grocer provides a product catalog, transaction history, and user events. What the LLM actually sees is something radically different — enriched, scored, graph-connected intelligence that unlocks signals invisible in the raw data.

This walkthrough shows every transformation step, every ML model, and how Graph RAG + Vector Search deliver contextual understanding that no keyword search or generic LLM can match.

The Data Journey

Your Grocer's raw data is table stakes. The intelligence we extract from it is what makes personalization possible. Follow the transformation from raw → enriched → modeled → contextual.

📦

Stage 0: Raw Data from Your Grocer

GIANT EAGLE PROVIDES
Product Catalog
{
sku: "00123456789"
name: "Annie's Cheddar Bunnies"
price: 4.29
dept: "Snacks"
// No nutrition. No allergens.
// No dietary flags.
}
Transaction Events
{
mpid: "M-48210"
sku: "00123456789"
action: "purchase"
qty: 2
date: "2025-12-14"
// Flat event. No context.
}
User Events (mParticle)
{
mpid: "M-48210"
event: "product_view"
session: "s-7721"
timestamp: "..."
// No preferences inferred.
// No persona identified.
}
What's missing: An LLM receiving this raw data has zero dietary awareness, zero personalization signals, and no way to enforce allergen safety. It's just SKU numbers and prices.
Delectable AI Transforms
🧬

Stage 1: Food Intelligence Enrichment

DELECTABLE IP

GTIN matching against USDA + Open Food Facts databases. Every SKU enriched with 100+ nutritional & dietary attributes.

BEFORE (Your Grocer raw)
sku: "00123456789"
name: "Annie's Cheddar Bunnies"
price: 4.29
dept: "Snacks"
// 4 fields. No intelligence.
AFTER (Delectable enriched)
sku: "00123456789"
is_gluten_free: true
is_nut_free: true // nut-free facility
is_vegan: false
allergens: ["milk"]
calories: 150
protein_g: 5
sodium_mg: 210
nutriscore_grade: "B"
nova_group: 3
health_score: 72
shelf_life_days: 180
identity_embedding: [768d]
// 100+ fields. Full intelligence.
This single enrichment step unlocks every downstream capability: dietary filtering, allergen safety, health-aware ranking, pantry decay modeling, and nutritional reranking. Without it, the AI is flying blind.
📊

Stage 2: Latent Signal Extraction (ML Models)

BQML + DELECTABLE IP

Transaction history + enriched catalog → propensity scores, household personas, consumption velocity, flavor affinity. These signals are invisible in the raw data and can only be derived through ML modeling.

LATENT SIGNALS EXTRACTED PER SHOPPER
propensity_organic: 0.82 // never stated, derived from 12mo purchases
propensity_gluten_free: 0.61 // implicit preference signal
propensity_high_protein: 0.45
propensity_low_sodium: 0.85 // possible medical need
health_consciousness: 0.78
mission_cluster: 6 // "Quick Meal" pattern
household_persona: "Health-Conscious Mom"
pantry.chicken: 0.7 // est. 70% stock remaining
pantry.olive_oil: 0.15 // nearly depleted
purchase_embedding: [768d] // "taste DNA"
Why "Latent"?
The shopper never said "I prefer organic." No form was filled. No preference was stated. The 0.82 organic propensity was inferred from 12 months of purchasing behavior — she consistently picks organic when available, even at a premium. This is a signal that only exists because we enriched products with organic flags, then ran propensity modeling across the purchase history.
The Chain of Dependencies
Without Food Intelligence enrichment: no is_organic flag on products
Without organic flags: can't count organic purchases
Without organic purchase count: can't compute propensity
Without propensity: can't personalize rankings
Result: everyone sees the same generic results
🕸️

Stage 3: Graph + Vector Indexing

GRAPH RAG

All enriched data connected into a property graph (BigQuery Graph) and indexed as vectors (768-dim embeddings). This enables multi-hop reasoning and semantic search.

PROPERTY GRAPH (Relationships)
👤 Shopper —PURCHASED→ 📦 Product
👤 Shopper —HAS_ALLERGY→ ⚠️ Allergen ←CONTAINS— 📦 Product
🍳 Recipe —USES→ 🥕 Ingredient —MAPS_TO→ 📦 Product
👤 Shopper —PART_OF→ 🏠 Household ←PART_OF— 👤 Shopper
VECTOR INDEXES (Semantic Search)
ID
Identity Embeddings (70K products)
name + brand + category → 768d vector
NU
Nutrition Embeddings (70K products)
ingredients + nutrients + dietary flags → 768d
RC
Recipe Embeddings (2.1M recipes)
title + ingredients + instructions → 768d
SH
Shopper Embeddings (100K users)
weighted avg of purchased product vectors → 768d "taste DNA"
🧠

Stage 4: What Gemini Actually Sees

LLM CONTEXT

By the time a shopper's query reaches Gemini, it's accompanied by a rich context window of pre-fetched intelligence. The LLM doesn't search raw databases — it reasons over pre-computed, personalized signals.

GEMINI'S CONTEXT WINDOW (injected before first turn)
// ═══ Shopper Intelligence ═══
Shopper: Sarah M. (Loyalty #30313029952)
Persona: "Health-Conscious Mom" (primary), "Weekend Baker" (secondary)
Propensities: organic=0.82, gluten_free=0.61, low_sodium=0.85, high_protein=0.45
Health Consciousness: 0.78 (nutrient scoring ACTIVE)
Mission Pattern: Cluster 6 — Quick Meal (avg $34, 4 items, 55% prepared)
Top Brands: Nature's Basket (12x), Annie's (8x), Horizon (6x)
Top Departments: Produce (32%), Dairy (18%), Snacks (14%)
// ═══ Pantry State ═══
chicken_breast: stock=0.7 (bought 3 days ago, cycle=7 days)
broccoli: stock=0.1 ⚠ RESTOCK
olive_oil: stock=0.15 ⚠ RESTOCK
quinoa: stock=0.4
// ═══ Household Safety ═══
ALLERGY: child — tree nuts (severity: HIGH)
HARD FILTER: all products from nut-containing facilities EXCLUDED
// ═══ Available Tools ═══
17 function-calling tools for search, recipes, pantry, cart, rerank...
The insight: Gemini is not "searching a database." It's reasoning over a pre-computed intelligence layer that took 4 transformation stages to build. Every signal — propensity scores, pantry levels, allergen exclusions, household personas — was extracted by Delectable's ML models from Your Grocer's raw data.