George Washington University | Department of Decision Sciences
Materials for a technical, nuts-and-bolts course on large language models, their applications, and their evaluation.
Corrections or suggestions? Please open an issue.
Tokens, embeddings, attention, transformers, generation; reasoning models and inference-time reasoning.

An encoder–decoder transformer stacks attention and feed-forward layers to produce token representations. Source: Lecture 1, Slide 11.
Instructions, system prompts, examples/in-context learning, templates, task decomposition, and iterative refinement.

A prompt-development lifecycle moves from goal framing and design through examples, evaluation, release, monitoring, and decommissioning. Source: Lecture 2, Slide 17.
Requests/responses, parameters, streaming, error handling; JSON schemas, Pydantic validation, and Jev-style typed decisions.

Four API controls bound requests, validate data, constrain decisions, and test claims. Source: Lecture 3, Slide 18.
Context assembly, windows and budgets, conversation history, persistent memory, and state management.

Conversation history, persistent memory, and application state are selected and budgeted into context for a model call. Source: Lecture 4, Slide 6.
Ingestion, chunking, retrieval embeddings, vector/hybrid search, reranking, grounded answers, and citations.

A query retrieves relevant documents that augment the model prompt and support a cited answer. Source: Lecture 5, Slide 14.
Function calling, external connectivity, MCP, bounded agent loops, orchestration, and agent identity; Text2SQL as a worked example.

An MCP host connects clients to tool servers over local or remote transports. Source: Lecture 6, Slide 9, adapted from IBM (n.d.), What is Model Context Protocol?; transport labels follow the MCP (2025) Transports specification.
Measurement science, benchmarks and their limitations, LLM judges, embedding- and classifier-based tests, red teaming, field testing, human review, and validation of AI measurement instruments.

Benchmark cases and embedding diagnostics provide complementary evidence for model testing. Source: Lecture 7, Slide 7, Sudjianto et al. (2024), Human-Calibrated Automated Testing and Validation of Generative Language Models.
The notebooks use Python 3.13 and the repository’s locked uv environment.
From the repository root, run uv sync --locked to create or update .venv,
then select that project environment as the notebook kernel. Notebooks that use
the OpenAI API load OPENAI_API_KEY from the ignored, repository-root .env
file or prompt for it securely.
The project README covers installing uv and Python, selecting
the kernel in VS Code, and lecture-specific setup instructions.
This project is maintained by jphall663.