Building software on top of Large Language Models
15th May 2025
I presented a three hour workshop at PyCon US yesterday titled Building software on top of Large Language Models. The goal of the workshop was to give participants everything they needed to get started writing code that makes use of LLMs.
Most of the workshop was interactive: I created a detailed handout with six different exercises, then worked through them with the participants. You can access the handout here—it should be comprehensive enough that you can follow along even without having been present in the room.
Here’s the table of contents for the handout:
- Setup—getting LLM and related tools installed and configured for accessing the OpenAI API
- Prompting with LLM—basic prompting in the terminal, including accessing logs of past prompts and responses
- Prompting from Python—how to use LLM’s Python API to run prompts against different models from Python code
- Building a text to SQL tool—the first building exercise: prototype a text to SQL tool with the LLM command-line app, then turn that into Python code.
- Structured data extraction—possibly the most economically valuable application of LLMs today
- Semantic search and RAG—working with embeddings, building a semantic search engine
- Tool usage—the most important technique for building interesting applications on top of LLMs. My LLM tool gained tool usage in an alpha release just the night before the workshop!
Some sections of the workshop involved me talking and showing slides. I’ve gathered those together into an annotated presentation below.
The workshop was not recorded, but hopefully these materials can provide a useful substitute. If you’d like me to present a private version of this workshop for your own team please get in touch!
More recent articles
- Trying out llama.cpp's new vision support - 10th May 2025
- Saying "hi" to Microsoft's Phi-4-reasoning - 6th May 2025