Skip to main content
Back to projects

Multilingual education chatbot — grounded retrieval, PT/EN

A bilingual (PT/EN) education chatbot I built the backend and data layer for, as an external consultant. Grounded retrieval with frozen-eval regression checks — precision measured on held-out questions before every rollout. Azure OpenAI + LangChain + pgvector.

PythonAzure OpenAILangChainpgvectorFrozen-eval harness
My role
backend + data layer (consultant)
Scale
699K+ enrollment records
Release gate
frozen-eval — no silent regression
Retrieval
grounded, bilingual PT/EN

The problem

A multilingual education assistant can't regress silently. A prompt or model change that helps one language can quietly degrade another, and nobody notices until the users do.

The solution

Grounded retrieval anchors answers to the knowledge base, not the model's memory. A frozen-eval regression suite measures precision on a held-out question set before any rollout. A change that improves one cohort can't silently degrade another. Azure OpenAI for inference, pgvector for retrieval.

fig. 01decision record
Constraint
Across many languages, a change that helps one cohort can silently degrade another. You find out from the users.
Decision
Ground every answer in the knowledge base and gate rollouts behind a frozen evaluation set, so precision is measured on held-out questions before shipping. Rejected ungated prompt iteration (silent regressions) and ungrounded generation (hallucination at scale).
Outcome
A frozen-eval gate blocks silent regressions before they reach users — precision is measured on held-out questions every rollout, never assumed.

Overview

A retrieval-augmented education chatbot over a knowledge base of 699K+ enrollment records, bilingual PT/EN, which I built the backend and data layer for as an external consultant. Grounded retrieval keeps answers tied to the knowledge base. A frozen evaluation set gates every rollout: precision is measured on held-out questions before a change ships, so the knowledge base improves instead of regressing silently. Azure OpenAI + LangChain + pgvector under the hood.