Building applications with LLMs

Calling a model is one line of code; getting reliable, affordable, safe answers out of it is the actual job. We build real features step by step, from a first API call to an agent that uses your tools and your documents, and learn to measure whether it works.

Duration: 3 days · Level: intermediate

For: Python developers who want to integrate large language models into their applications.

Prerequisites: solid Python; knowing a web framework helps for the last day.

Building applications with LLMs

Day 1 — Talking to models

  • What an LLM is, and what it isn't: tokens, context, sampling
  • Calling hosted APIs: Anthropic, OpenAI
  • Running local models with Ollama and llama.cpp
  • Choosing a model: quality, cost, latency, privacy
  • Writing prompts that hold up: system prompts, examples, constraints
  • Structured output: getting clean data with Pydantic
  • Streaming responses
  • Handling errors, retries and rate limits

Day 2 — Your data, your tools

  • Tool use: letting the model call your functions
  • Embeddings: turning text into vectors
  • Chunking your documents
  • Storing and searching with a vector store
  • Retrieval augmented generation (RAG) from scratch
  • Hybrid search and reranking
  • Citing sources and limiting hallucinations
  • Exposing your tools to any assistant with MCP

Day 3 — Agents and production

  • Agents: loops, planning and knowing when to stop
  • Evaluating: test sets, LLM as a judge, regressions
  • Keeping costs and latency under control: caching, smaller models
  • Security: prompt injection and leaking data
  • Logging and observing what the model does
  • Streaming answers into a web application
  • A feature from start to finish on your use case

Elevate Your Python Proficiency!