Cynthia Ukawu
Cynthia is a Machine Learning Engineer, where she serves as head architect and developer for a DARPA-funded ML analysis platform. The platform analyzes LLM embeddings using topology as the underlying mathematical framework, enabling researchers to study language model behavior at scale.
Beyond the core platform, she builds production APIs for vision-language models and text-to-speech systems, bringing cutting-edge AI research into operational deployment.
With an MS in Applied & Computational Mathematics from Johns Hopkins and prior experience at General Atomics-CCRi and Arity (geospatial ML at scale), she combines deep mathematical foundations with practical engineering expertise in PyTorch, AWS, and distributed systems.
She has mentored over 30 students through programs at The Coding School, Masterschool, and Springboard, helping them transition into data and ML roles. She also writes about ML systems on her blog: cynscode.com
Session
Have you ever been frustrated when an LLM generates outdated or deprecated code? It's more common than you'd think. LLMs are trained up to a certain point, but software keeps moving forward. Functions get deprecated, new versions drop, APIs change, old patterns get replaced, and your model has no idea any of it happened.
RAG, or Retrieval-Augmented Generation, is the fix. Instead of relying solely on what a model learned during training, RAG lets you supply it with current, curated information at the moment it generates a response.
In this 4-hour, hands-on workshop, you'll build a RAG-powered SciPy coding assistant from the ground up. Here's what that looks like in practice:
RAG Fundamentals: You'll start by getting familiar with the core ideas behind RAG: what embeddings are (numerical representations of text that capture meaning), how vector similarity works, and how ChromaDB (a lightweight vector database) stores and retrieves that information.
Building the Knowledge Base: From there, you'll build the SciPy knowledge base itself. That means scraping SciPy's documentation, chunking it into digestible pieces, and processing it in a way that's aware of code structure, not just plain text.
Wiring Up the Pipeline: Once the knowledge base is ready, you'll wire up the full pipeline: querying it intelligently, engineering prompts that produce reliable code, and integrating with both OpenAI and Ollama (a tool for running models locally) so you're not locked into one provider.
Evaluation and Deployment: Finally, you'll wrap everything up by evaluating your system using real retrieval and generation metrics, and deploying a Gradio web app, a simple tool for building interactive UIs in Python, so your assistant is actually usable by people who aren't staring at a Jupyter notebook.
By the end, you'll have a working SciPy assistant and, more importantly, a solid understanding of every moving part inside it.