This course builds on How LLMs work. If you haven't done it, this lesson covers everything the later lessons take for granted.
A large language model (LLM), or just model, takes text in (the prompt) and writes text back. Text is counted in tokens, small chunks of about four characters, and you pay per token. Your program reaches the model through an API: it sends a request over the network and gets a response. The company running the model is the provider.
A model can only write text, but with tool calling it can ask your program to do something: it replies with a tool's name and the arguments to use, your code decides whether to run it, and the result goes back to the model. Data passes back and forth as JSON, plain text like {"order_id": "A-1042", "paid": true}, and a schema is the agreed shape: which fields, of what type, which are required.
An eval (evaluation) is a fixed set of test inputs with known good outputs, run whenever you change a prompt or model, so you know if things got better or worse.
Web requests come back with a three-digit status code. 2xx means it worked. 4xx means the request was wrong: 400 is a malformed request, 401 and 403 are about permission, and 429 means you're sending too many requests, slow down. 5xx means the server failed (500, 502, 503). A response also carries headers, lines of extra information such as how long to wait before trying again.
The examples are short Python (Programming basics covers the language). Beyond the basics, they use: tuples, fixed pairs like (True, "ok") that a function can return; f-strings, where f"{x}" puts a value into text and {x!r} shows it in quotes; a for loop's else, which runs only if the loop finished without a break; and with, which opens something and tidies it up afterwards. Also, computers store decimals like 0.1 slightly inexactly (as floating-point numbers), which matters for money.
for n in [1, 2, 3]:
if n == 5:
break
else:
print("no 5 found")
name = "Ana"
print(f"hi {name!r}")
print(0.1 + 0.2)
Prints
no 5 found
hi 'Ana'
0.30000000000000004
Practice
With tool calling, who actually runs the tool?
More info
Quick reference
LLM, prompt, token
The model; what you send it; the pieces text is counted in.
API, provider
How your code reaches the model; who runs it.
Tool call
The model asks your code to run a named tool with arguments.
JSON, schema
Text data; its agreed shape.
Eval
A test set run on every change.
2xx / 4xx / 5xx, 429
Worked / bad request / server failed; too many requests.
tuple, f"{x!r}", for … else, with
A fixed group; a value in quotes; runs if no break; open and tidy up.