32  Reference Materials

These materials / links were last checked on September 21, 2026. All apologies for links that no longer work. Please email me at CRunyon@nbme.org if you have the time to let me know something’s wrong. (Thanks in advance!)

32.1 Background Information on GPTs

The 3Blue1Brown YouTube Channel provides several good videos on some of the technical aspects of large language models.

Anthropic’s paper On the Biology of a Large Language Model is particularly interesting.

This post on lesswrong provides a nice high-level summary for understanding LLMs.


32.2 Prompt Engineering Guides

promptingguide.ai is a great resource for learning more about prompt engineering techniques.

Anthropic’s Prompt Engineering Guide - Some directions on uploading files via API

OpenAI Cookbook OpenAI’s Prompt Engineering Guide

Google Gemini’s Prompt Engineering Guide - Includes directions on uploading a file via API as part of a prompt.


32.3 Newsletters and Substacks

These newsletters and Substacks are broad in nature (industry trends, policy information, etc.) but also include useful information related to assessment (model updates, new model features, etc.). Their publishing schedules vary.

32.3.1 The Neuron

  • Has a searchable archive of previous posts that is really useful.

32.3.2 Superhuman

  • Also has a searchable archive.

32.3.3 TL:DR AI

32.3.4 The Signal Substack

  • Only published on Sunday, highlights the 3-5 most important AI news stories of the week.

32.3.5 Gary Marcus Substack

  • Professor Emeritus of Psychology and Neural Science at NYU
  • A bit of an AI pessimist, but it’s helpful to offset the deluge of AI excitement

32.3.6 Jack Clark Substack

  • Co-founder of Anthropic
  • He was on the Rick Rubin podcast (Tetragrammaton) and it’s a fun listen

32.3.7 Michael Jabbour Substack

  • AI Innovation Officer at Microsoft

32.3.8 One Useful Thing

  • by Ethan Mollick, author of the “Co-Intelligence” book mentioned below.

32.4 Podcasts

32.4.1 The AI Daily Brief

  • “A daily news analysis show on all things artificial intelligence. NLW looks at AI from multiple angles, from the explosion of creativity brought on by new tools like Midjourney and ChatGPT to the potential disruptions to work and industries as we know them to the great philosophical, ethical and practical questions of advanced general intelligence, alignment and x-risk.”
  • Short (usually < 30 min.) daily podcasts on various topics. Some are more applicable than others.
  • Spotify , Apple
  • Also a YouTube Channel

32.4.2 Hard Fork

  • Part of the New York Times collection of podcasts: “‘Hard Fork’ is a show about the future that’s already here. Each week, journalists Kevin Roose and Casey Newton explore and make sense of the latest in the rapidly changing world of tech.”
    • Requires an account (maybe free is sufficient? I’m a NYT subscriber anyway.)
    • This episode - “AI School is in Session: Two Takes on the Future of Education” was cool.
  • New York Times, Spotify, Apple

32.5 Online Training / YouTube Channels

32.5.1 DeepLearning.AI

32.5.2 DataCamp

32.5.3 Anthropic YouTube Channel

32.5.4 OpenAI YouTube Channel

32.5.5 Cursor YouTube Channel

  • Cursor is a fantastic AI coding assistant

32.6 Books

AI Engineering by Chip Huyen is a slightly more advanced read for those interested in building AI products.

Prompt Engineering for Generative AI: Future-Proof Inputs for Reliable AI Outputs by James Phoenix and Mike Taylor is also a good resource for learning more about prompt engineering. Focused more on earlier (non-reasoning) models, but some important parts carry through.

Brave New Words by Sal Khan (of Khan Academy fame) is an interesting perspective on how AI will change education.

Co-Intelligence: Living and Working with AI by Ethan Mollick. This is a more accessible discussion of AI, and might not be that interesting for those with more AI knowledge.


32.7 LLM-specific R Packages

A number of packages have been developed to more easily facilitate interacting with LLMs via R. Many of these packages are useful (we’ll cover some of those in the workshop), whereas other packages include some developer design decisions that don’t work particularly well for my usual workflows. I’ve also found that some packages aren’t often updated / maintained. The syntax to interact with API models can change as new models are released (e.g., ChatGPT5), which can render some of the package functionality obsolete.

Below is a non-exhaustive list of packages that I’ve found to interact with LLMs. This is not meant to be exhaustive or a curated list; it’s only to provide you with information about the packages you’ll be using in the workshop (and others) in the case you find them helpful for your workflow. All package summaries were initially generated with AI. Some summaries have been edited, some have not.

32.7.1 ellmer

ellmer Overview CRAN Documentation

ellmer is an R package that provides a unified interface for interacting with large language models from a range of official and community providers, including OpenAI, Anthropic, Google Gemini, and AWS Bedrock. It supports streaming and asynchronous calls, tool/function calling, structured data extraction, and multimodal inputs. Chat objects are stateful and maintain conversation context, enabling both interactive console-based conversations and programmatic use in R scripts and applications.

32.7.2 gander

gander Overview CRAN Documentation Posit Blog

gander is an R package developed by Simon Couch at Posit that brings an interactive, Copilot-like coding assistant directly into RStudio and Positron. Built on top of ellmer, gander addresses a key limitation of language-agnostic coding assistants (such as GitHub Copilot, Claude Code, or Cursor): generic tools only see the text in your source files and frequently hallucinate column names or data types because they have no access to the runtime environment. In contrast, gander inspects your active R session and global environment directly—automatically extracting dataframe structures, column names, variable types, and object summaries to supply relevant context to the model so it can generate runnable code on the first pass.

The workflow is designed for rapid iteration: users highlight code or an object name in the source editor, press a keyboard shortcut (such as Ctrl+Alt+G on Windows/Linux or Ctrl+Cmd+G on macOS), and submit a plain-language prompt in a pop-up dialog. The assistant then streams minimal viable R code directly into the source document to replace or refine the selection. Because it is powered by user-configured ellmer chat objects (e.g., via options(gander.chat = ...) in .Rprofile), you can drive the assistant with Anthropic, OpenAI, Gemini, or local Ollama models using your own API keys, without requiring commercial coding-assistant subscriptions. For more discussion of AI coding assistants and agent workflows, see 23-ai-coding-assistants.qmd.

32.7.3 tidyprompt

tidyprompt Overview CRAN Documentation

tidyprompt is an R package that provides a compositional framework (“prompt wraps”) for building prompts enriched with logic, validation, and extraction functions when interacting with LLMs. It supports structured output, feedback and retries, reasoning modes, autonomous R function calling, and R code generation and evaluation. The package is designed to work with any LLM provider that offers chat completion.

32.7.4 tidyllm

tidyllm Overview CRAN Documentation

tidyllm provides a tidy, pipeline-friendly interface for interacting with multiple LLM APIs (e.g. Claude, OpenAI, Gemini, Mistral) and local models via Ollama. It supports text, image, audio, video, and document interactions; attaching or uploading files; and batch request APIs for large-scale processing. The design emphasizes composability and integration into typical R data workflows.

32.7.5 chattr

chattr Overview CRAN Documentation

chattr is an R package that enables interactive communication with large language models directly within RStudio using a Shiny gadget or from the console. It enriches prompts with contextual information (e.g. loaded data frames) and integrates with various back-ends (e.g. OpenAI, Copilot, local LlamaGPT) via the ellmer interface. The package is geared toward exploratory workflows and rapid prototyping of LLM-assisted analysis.

32.7.6 LLMAgentR

LLMAgentR Overview CRAN Documentation

LLMAgentR is an R package for constructing language model agents using a modular, graph-based execution framework. It offers agents for tasks such as forecasting, data visualization, feature engineering, data wrangling, SQL, code generation, and research-driven question answering. Agents can iteratively recommend steps, generate and run R code, debug, and explain results. The package supports OpenAI, Anthropic, Groq, and Ollama.

32.7.7 PacketLLM

PacketLLM Overview CRAN Documentation

PacketLLM provides an interactive RStudio gadget for working with an AI assistant during package and script development. It can use selected editor text, the active source file, package metadata, and uploaded files as context for code explanation, code generation, documentation, and review workflows. It offers model presets, assistant behavior settings, and explicit copy, insert, and replace actions for the active source editor. API calls are performed asynchronously using promises and future to avoid blocking the R console.

32.7.8 AIGENIE

AIGENIE Overview CRAN Documentation

AIGENIE (AI-GENIE) is an R package for automated psychological scale development and structural validation using large language models and network psychometric methods. Its workflow generates candidate items, computes their embeddings, estimates dimensional structure with Exploratory Graph Analysis (EGA), identifies redundant items with Unique Variable Analysis (UVA), and assesses item and dimension stability with bootstrap EGA (bootEGA). It also supports validation of user-provided item sets.

32.7.9 GitAI

GitAI Overview CRAN Documentation

GitAI is an R framework for extracting knowledge from multiple Git repositories using large language models. It processes selected files to summarize content, extract information, or answer questions; results can optionally be stored in a vector database for semantic search or retrieval-augmented generation (RAG).

32.7.10 quallmer

quallmer Overview CRAN Documentation

quallmer is an R package for AI-assisted qualitative data coding using LLMs through ellmer. Researchers can define custom codebooks or use built-in ones to code text, images, audio, and other data, then replicate analyses across models and settings, assess agreement or validate against human-coded data, and document the workflow with audit trails.