|
Repo for the AI Engineering Hands-On Playlist. |
- Overview
- Companion Videos
- Dev Environment Config
- 1 — Large Language Models
- 2 — LLM Demo Apps
- 3 — Prompt Engineering
- 4 — RAG
- 5 — RAG App
- 6 — Agents
| 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. |
Links to resources discussed in the Dev Environment Config video.
Commands executed in Terminal in the Dev Environment Config video.
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
deactivateollama 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 ollama1_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.
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.shthen 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.
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.
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 indata/. - Run Jupyter from
4_RAG/; notebooks use OpenAI. See 4_RAG/README.md.
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.
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.
