Skip to content

CumulusCycles/AI_Engineering_Hands-On

Repository files navigation

Logo

AI Engineering Hands-On

Repo for the AI Engineering Hands-On Playlist.

Table of Contents

Overview

Module Description
0_Dev_Env_Config Dev environment setup: uv, venv, OpenAI & Ollama demos.
1_LLMs What LLMs are, how they work; notebooks on pipeline, OpenAI API, Ollama.
2_LLM_Demo_App Full-stack semantic search app (FastAPI + React): text/image search, ChromaDB, pipeline demo.
2_LLM_Demo_App_v2 Same idea with decoupled backend (FastAPI) and frontend (Streamlit) over HTTP.
3_Prompt_Engineering Prompt engineering as runtime configuration: foundations, structure, structured outputs, advanced techniques.
4_RAG RAG: why + pipeline, then concrete examples (Q&A, citations, chunking, evaluation).
5_RAG_App Streamlit app: Q&A over data/*.md (sentence chunking, top-8 retrieval).
6_Agents Function calling, agent loops, RAG as a tool, and a Streamlit agent app with visible reasoning traces.

↑ toc

Companion Videos

↑ toc

Dev Environment Config

Links to resources discussed in the Dev Environment Config video.

Links

Commands

Commands executed in Terminal in the Dev Environment Config video.

uv

uv --version
uv run --python 3.12 python --version
uv python install 3.12

ls -al
uv venv --python python3.12
source .venv/bin/activate

uv pip list
uv pip install jupyterlab
uv pip list
uv run --with jupyter jupyterlab

deactivate

Ollama

ollama list
pgrep ollama

ollama pull llama3.2:3b
ollama run llama3.2:3b
Who are you?
/bye

pgrep ollama

ollama serve
pgrep ollam

pkill ollama
pgrep ollama

↑ toc

1 — Large Language Models

1_LLMs/ — What LLMs are and how they work; hands-on with APIs.

  • Notebooks: LLM pipeline (tokenization, embeddings, attention), OpenAI Chat Completions, Ollama + OpenAI-compatible API.
  • Docs: LLM overview, frontier vs open-source, Chat Completions API.
  • See 1_LLMs/README.md and 1_LLMs/demo/README.md.

↑ toc

2 — LLM Demo Apps

Two app variants that demonstrate semantic search and the LLM pipeline.

  • 2_LLM_Demo_App/ — Outdoor gear catalog: FastAPI backend, React frontend, text + image search, ChromaDB, pipeline demo. Run ./deploy.sh then seed; frontend :3000, backend :8000.
  • 2_LLM_Demo_App_v2/ — Same concepts with a decoupled architecture: FastAPI backend and Streamlit frontend communicate over HTTP for easier deployment and scaling.

↑ toc

3 — Prompt Engineering

3_Prompt_Engineering/ — Controlling LLM behavior through prompt design.

  • Notebooks: Foundations (roles, behavior spec), structure & constraints, structured outputs (JSON, Pydantic), advanced techniques (few-shot, chain-of-thought, chaining).
  • Requires OpenAI API key (e.g. gpt-4o-mini). See 3_Prompt_Engineering/README.md.

↑ toc

4 — RAG

4_RAG/ — Retrieval-Augmented Generation: retrieve context, then generate with an LLM.

  • Notebooks: Why RAG + minimal pipeline; then RAG examples (product Q&A, citations, different questions, chunking, evaluation). Shared demo/rag_utils.py; data in data/.
  • Run Jupyter from 4_RAG/; notebooks use OpenAI. See 4_RAG/README.md.

↑ toc

5 — RAG App

5_RAG_App/ — A single-scope Streamlit app: ask questions over all markdown files in data/. Sentence chunking, top-8 retrieval, answer + sources. No notebooks; run streamlit run app.py from 5_RAG_App/. See 5_RAG_App/README.md.

↑ toc

6 — Agents

6_Agents/ — AI agents: the LLM decides what to do, not just what to say.

  • Notebooks: Manual function calling walkthrough, automated agent loop (run_agent()), RAG as a tool alongside structured lookups.
  • App: Streamlit agent app with an expandable trace panel showing every tool call, argument, and result.
  • Shared tools/ package (tool schemas + implementations) used by both notebooks and app. Requires OpenAI API key. See 6_Agents/README.md.

↑ toc

About

Repo for the AI Engineering Hands-On Playlist.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors