Forward Deployed GenAI Engineering
13 episodes — short audio overviews on forward deployed genai engineering.
AI Use Case Discovery & Data Readiness Assessment — chapter audio overview
Build automated use case scoring and data readiness evaluation tools for client discovery workshops.
Define Pydantic models for use case scoring criteria, weights, and structured LLM responses — lab audio overview
Build Pydantic models that define the data structures for use case scoring: criteria definitions with configurable weights, structured response schemas for validated evaluations, and scored use case results. Then implement the deterministic weighting, validation, and ranking logic that turns raw eva
Implement UseCaseScoringEngine with weighted multi-criteria evaluation — lab audio overview
Build the UseCaseScoringEngine class that ranks proposed AI use cases with deterministic weighted multi-criteria scoring. The engine registers weighted criteria, normalizes the weights, computes each use case's weighted-sum aggregate, and produces a ranked best-first list. Pure model-free arithmetic
Build scoring API endpoints with batch evaluation and ranking — lab audio overview
Build the request-handling layer of a use case scoring API. Implement an evaluate handler for single use case scoring, a batch handler for batch evaluation with ranking, and a criteria handler that exposes normalized scoring weights. Every handler is deterministic: it validates the request and retur
Build DiscoveryInterviewAgent using LangGraph with structured question flows and LLM-powered insight extraction — lab audio overview
Rebuild lab_1's interview-state-machine on LangGraph's StateGraph (define question_generation/response_capture/follow_up_analysis/insight_extraction nodes with edges + conditional routing over InterviewState) instead of the hand-rolled next_state/advance dispatch; the existing LLM insight-extraction
Interview Insights Extraction — lab audio overview
Implement deterministic structured insight extraction from discovery interview transcripts. Students build an extractor that classifies each transcript utterance into pain points, opportunities, or requirements using keyword-marker rules with a fixed precedence order, then aggregates the insights in
Discovery Session API — lab audio overview
Build a deterministic save-and-resume API for discovery interview sessions. Students implement an in-memory session store and a stage state machine — create a session, record answers, advance through a fixed stage sequence (completing at the final stage), snapshot a session to a plain dict, and rebu
Configure LiteLLM multi-provider routing with proxy URL integration — lab audio overview
Build a deterministic multi-provider router that maps model names to providers (OpenAI, Gemini, Anthropic), resolves each provider's proxy base URL from configuration, produces a complete routing decision, and computes an ordered fallback chain across configured providers. No LLM is called — routing
Implement parallel provider benchmarking with latency and cost tracking — lab audio overview
Build a deterministic benchmarking aggregator that turns recorded provider probe samples into a comparison: compute each sample's USD cost from a fixed pricing table, aggregate per-provider latency and cost stats, identify the fastest and cheapest provider, and filter providers by a latency budget c
Build feasibility analysis API with provider comparison and recommendation — lab audio overview
Build a deterministic feasibility analyzer that scores candidate providers (each pre-rated on quality, speed, and cost) with a weighted formula, gates them on compliance and a minimum-score bar, compares two providers head-to-head, and ranks all candidates to recommend the best feasible one. No LLM
Design Jinja2 Report Templates with Data Aggregation from Assessment Components — lab audio overview
Design Jinja2 report templates that aggregate scored assessment components into a formatted Markdown report. Students aggregate components into a weighted overall score, map scores to rating bands, and render one component and the full report deterministically with Jinja2 — no LLM involved, byte-for
Implement Report Assembly Pipeline with Cross-Component Data Merging — lab audio overview
Build a report assembly pipeline that merges data from multiple assessment components into a unified discovery report. Implement pipeline stages for data validation, cross-component correlation, conflict resolution, and sequential section assembly using Pydantic models and Jinja2 rendering.
Build Report Generation API with Template Rendering and Export — lab audio overview
Build a FastAPI-based report generation service that accepts discovery data via REST endpoints, renders reports using Jinja2 templates, converts markdown to HTML, and provides multiple export formats. Implement request validation with Pydantic models and structured error handling for the report gene