The full, opinionated 2026 stack for this course. Use it as your "what to install and why" reference.
TL;DR
Python 3.11+ | Streamlit | OpenAI / Gemini / Anthropic APIs
ChromaDB or pgvector | tiktoken | python-dotenv
LangChain (light) | Hugging Face (optional) | FastAPI (light intro)
GitHub | VS Code or Cursor | Colab or Replit for fast experiments
Streamlit Cloud | Hugging Face Spaces | Vercel | Railway
Languages and runtimes
- Python 3.11+ is the default. Easy install via python.org or
pyenv.
- Node 20+ if you take the Next.js stretch. Install via
nvm.
Environments
- Local: VS Code (free) or Cursor (AI-first IDE).
- Cloud notebooks: Google Colab (free with limits), Kaggle Notebooks, Replit.
- Containers: Docker Desktop or Podman, optional.
Core Python libraries
| Library | Purpose | Install |
|---|
openai | OpenAI API client | pip install openai |
anthropic | Claude API client | pip install anthropic |
google-genai | Gemini API client | pip install google-genai |
python-dotenv | load .env keys | pip install python-dotenv |
tiktoken | count tokens | pip install tiktoken |
streamlit | UI framework | pip install streamlit |
chromadb | vector DB | pip install chromadb |
pypdf | PDF parsing | pip install pypdf |
pymupdf | better PDF parsing | pip install pymupdf |
numpy | vector math | pip install numpy |
tenacity | retries with backoff | pip install tenacity |
pydantic | data validation | pip install pydantic |
fastapi | backend API (light intro) | pip install fastapi uvicorn |
langchain / langchain_openai | optional orchestration | pip install langchain langchain-openai |
sentence-transformers | self-hosted embeddings | pip install sentence-transformers |
rank-bm25 | keyword search | pip install rank-bm25 |
LLM providers and free tiers
| Provider | Notable free tier (check current limits) | When to pick |
|---|
| OpenAI | Trial credit on new accounts | Default for this course |
| Google AI Studio (Gemini) | Generous free tier on Flash models | Cheap experimentation, long context |
| Anthropic Claude | Trial credit | Long-context document analysis |
| Together AI / Groq | Free tier with open models | Cheap inference, open-weights testing |
| Hugging Face Inference | Free tier on many models | Open-model experiments |
| Cohere | Generous free tier on multilingual embeddings | Multilingual RAG |
Tip: at the start of every project, set a hard spending limit in each provider dashboard. $5 is plenty for the whole course.
Embeddings
| Model | Provider | Strengths |
|---|
text-embedding-3-small | OpenAI | Cheap, balanced, the default |
text-embedding-3-large | OpenAI | Higher quality, larger dim |
voyage-3 | Voyage AI | Often top of MTEB |
embed-multilingual-v3 | Cohere | Multilingual strength |
bge-base-en-v1.5 | BAAI (open) | Self-hostable, free |
nomic-embed-text-v1.5 | Nomic (open) | Self-hostable, long context |
Vector databases
| DB | Best for | Setup difficulty |
|---|
| ChromaDB | Prototypes, local dev | Easy |
| FAISS | Research, in-memory speed | Easy (library only) |
| pgvector | Teams already on Postgres or Supabase | Easy |
| Qdrant | Production, hybrid search | Medium |
| Weaviate | Production, native hybrid | Medium |
| Pinecone | Hosted, easy production scale | Easy (paid) |
| Milvus | Massive scale | Hard |
| Platform | App types | Cost |
|---|
| Streamlit Cloud | Streamlit | Free tier |
| Hugging Face Spaces | Streamlit, Gradio, Docker | Free tier |
| Vercel | Next.js, Edge Functions | Generous free tier |
| Railway | FastAPI, workers, DBs | Pay-as-you-grow |
| Fly.io | Containers, long-running | Free tier with caveats |
| Render | Web services | Free tier with sleeps |
Observability and monitoring
| Tool | Purpose |
|---|
logging (stdlib) | Local logs |
| Logtail / Better Stack | Hosted log aggregation (free tier) |
| Helicone | LLM-specific observability proxy |
| LangSmith | LangChain-native tracing |
| Phoenix (Arize) | Open-source LLM tracing |
Eval frameworks
| Tool | Strength |
|---|
| Promptfoo | Side-by-side prompt eval |
| Ragas | RAG-specific metrics |
| TruLens | Production LLM evals |
| OpenAI Evals | Open-source eval harness |
| LangSmith Evals | LangChain-native |
Setup commands
Create a project from zero:
mkdir my-ai-app && cd my-ai-app
python -m venv .venv
source .venv/bin/activate # Mac/Linux
.venv\Scripts\activate # Windows
pip install streamlit openai python-dotenv tiktoken chromadb pypdf tenacity pydantic
echo ".env" > .gitignore
echo ".venv/" >> .gitignore
echo "chroma_db/" >> .gitignore
echo "data/" >> .gitignore
git init
.env:
OPENAI_API_KEY=sk-...
GEMINI_API_KEY=...
ANTHROPIC_API_KEY=sk-ant-...
Verify:
python -c "from openai import OpenAI; print(OpenAI().models.list().data[0].id)"
Cost-aware defaults
- Default model for prototypes:
gpt-4o-mini (or gemini-2.5-flash)
- Default embedding model:
text-embedding-3-small
- Default chunk size: 500 tokens with 80 overlap
- Default top-K: 5
- Default
max_tokens for chat: 600 to 800
- Default temperature: 0.4 for factual, 0.8 for creative
What we deliberately avoid in this course
- Heavy ML training (no PyTorch deep dives at beginner level)
- Custom transformer implementations
- Manual fine-tuning runs (better in the intermediate course)
- AWS / GCP / Azure deep provisioning (overkill for beginners)
- Kubernetes (not for first apps)
Optional power-ups
- Cursor: AI-pair-programming IDE; great for refactors.
- Ollama: run small open-weight models on your laptop offline.
- LM Studio: GUI for local models, good for evaluating Llama, Qwen, etc.
- Supabase: Postgres + auth + storage + pgvector in one free tier.
SEO Notes
- Primary keyword: "AI tech stack for beginners 2026"
- Featured snippet target: the "TL;DR" block at the top and the "Setup commands" code block
- Internal links: Modules 5, 6, 9, 10