Safe, Verifiable, & Maintainable AI Apps

Welcome & Setup

Carson Sievert · Posit

Hi, I’m Carson 👋

  • Open source software engineer at Posit
  • Work on chatlas, shinychat, querychat
  • Background in statistics and data science
  • Live in Duluth, MN

Posit’s mission…

To create open-source software for data science, scientific research, and technical communication.

Posit (RStudio) has been fulfilling this missing for 15+ years.

In recent years, more investment in Python, AI, etc.

Posit’s mission…

To create open-source software for data science, scientific research, and technical communication.

Visit our Booth!

Many notable names in open source:

  • Hadley Wickham (R, tidyverse, ggplot2, etc)
  • Joe Cheng (Posit CTO, Shiny)
  • Winston Chang (Posit Assistant, Shiny)
  • Josh Taillon (Shiny)
  • Carlos Scheidegger (Quarto)
  • and others

Who’s in the room?

Quick show of hands 🙋

  • Use Python on daily basis?
  • Use Copilot for AI assistance?
  • Use Claude Code or Codex for AI assistance?
  • Called an LLM API in code before?
  • Built or shipped an LLM app?
  • Would like to ship an AI app that lets others explore your data more easily?

Section Time
Welcome & Setup 30 min
LLM foundations 25 min
Chat basics 30 min
Break+Recap 10 min
Tool calling / agents 30 min
Structured data extraction 15 min
Chatbots 20 min
Break+Recap 10 min
querychat — self-service analytics case study 20 min
Evals + Observability (OTel) 40 min
Recap+Sendoff 10 min

Website (materials) 📁

bit.ly/scipy26

The website has links to these slides and other helpful things.

Please bookmark it for easy access during the workshop.

LLM access 🤖

Exercises require access to an LLM.

Things will just work if you use the provided environment

If you’d rather work locally, follow the instructions in the website.

Your computing environment 💻 {.center}

  1. Go to dev.workshop.posit.team
  2. Sign in via your GitHub account (or create a new account)
  3. Click New session at the top
  4. Under Environment, select the last image (the one with scipy is in the name).
  5. Click Launch.
    • Can take a while (blank screen is normal)
  6. Click Open -> Open Folder -> Enter /opt/scipy26-tutorial

If you’d rather work locally, follow the instructions in the website.

Ground rules

  • Interrupt with questions — this is a tutorial, not a keynote.
  • ❓ Use Slack channel #tutorial-intro-to-safe-reliable-maintainable-ai-apps
  • 🤝 Pair up with a neighbor — it’s more fun and faster.
  • 🛑 Stuck? Flag it. Don’t suffer silently during exercises.

Exercise: Test run

  1. Open the exercises/00-chat-hello.py file.
  2. Run it in the provided environment.
    • Press play button or Cmd/Ctrl+Enter
  3. You should see a joke response from the LLM.
  4. If you prefer a notebook
    • Open command palette with Cmd/Ctrl+Shift+Enter
    • Enter “New Jupyter notebook”
    • Copy/paste over code over


Feel conflicted about AI? Same here!