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.
- The Neural Networks section is particularly informative.
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.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
- Many great courses, such as Evaluating AI Agents and Orchestrating Workflows for GenAI Applications
- They also have a nice YouTube channel
32.5.2 DataCamp
- Many AI Skill Tracks
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.