Large Language Models (LLMs) in R with tidychatmodels
Written by Matt Dancho
Hey guys, welcome back to my R-tips newsletter. Lately it’s felt like Python, which has dozens of tools for Large Language Models (LLMs), is moving faster into LLMs than the R community. Thankfully, I stumbled upon a new R package that integrates Large Language Models (LLMs) from OpenAI, Mistral AI, and more all inside of R. It’s called tidychatmodels
, and I’m sharing how to get started in under 5 minutes. Let’s go!
Table of Contents
Here’s what you’re learning today:
- What is tidychatmodels? You’ll discover what
tidychatmodels
is and how it brings LLMs to RStudio
- Benefits of using Tidy Chat Models How
tidychatmodels
uses the familiar tidyverse-style syntax for working with LLMs
- How to use LLMs inside of R I have prepared a full tutorial for making an R Code Chatbot.
- Make a quick Shiny App with tidychatmodels I’ll explain how to make your first shiny app to upload and explore a dataset stored as a CSV file.
Get the Code (In the R-Tip 081 Folder)
SPECIAL ANNOUNCEMENT: ChatGPT for Data Scientists Workshop on December 11th
Inside the workshop I’ll share how I built a Machine Learning Powered Production Shiny App with ChatGPT
(extends this data analysis to an insane production app):
What: ChatGPT for Data Scientists
When: Wednesday December 11th, 2pm EST
How It Will Help You: Whether you are new to data science or are an expert, ChatGPT is changing the game. There’s a ton of hype. But how can ChatGPT actually help you become a better data scientist and help you stand out in your career? I’ll show you inside my free chatgpt for data scientists workshop.
Price: Does Free sound good?
How To Join: 👉 Register Here
R-Tips Weekly
This article is part of R-Tips Weekly, a weekly video tutorial that shows you step-by-step how to do common R coding tasks. Pretty cool, right?
Here are the links to get set up. 👇
This Tutorial is Available in Video (6-minutes)
I have a 6-minute video that walks you through setting up tidychatmodels
in R and running your first LLM. 👇
What is tidychatmodels?
tidychatmodels
is a tidyverse-style interface to LLMs (Large Language Models) developed by Albert Rapp. According to it’s documentation:
[tidychatmodels
] provides a simple interface to chat with your favorite AI chatbot from R. It is inspired by the modular nature of {tidymodels
} where you can easily swap out any ML model for another one but keep the other parts of the workflow the same.
Supported LLM Model Vendors
Currently model vendors are supported:
Benefits of using Tidychatmodels
One of the main benefits is the unified interface. This makes it easy to swap in and out different LLMs by simply changing the API key and LLM provider.
It’s literally that easy to swap out an LLM provider for another LLM model.
Tutorial: How to use LLMs inside of R with tidychatmodels
It takes about 1 minute to get tidychatmodels
set up so you can start using LLMs inside of R. All the tutorial code shown is available in the R-Tips Newsletter folder for R-Tip 081.
Step 1 - Set Up Tidy Chat Models:
The first step is to set up tidychatmodels
. You’ll need to install the software and set up your LLM provider’s API key. Follow these 4 steps:
- Install:
tidychatmodels
is not on CRAN as of this article. But you can install from GitHub.
- Load: Load
tidyverse
and tidychatmodels
- API Key: Set up your OpenAI API Key in your R environment.
- Get Your API Key: Use
Sys.getenv()
.
Step 2 - Create a Chat Model
Once you have Tidy Chat Models set up, you’re ready to make your first chat model. Let’s create a chat model that is specifically designed to write R code. This is how:
- Use OpenAI model vendor
- Select “gpt-4o” for the LLM specification
- Add parameters like temperature and max tokens
- Set the role for the chatbot via prompt engineering
Step 3 - Run the LLM
The next step is to get a user request, and to process the request using the OpenAI gpt-4o model.
- The user request: Our user is requesting to create a shiny app that uploads a dataset provided as a CSV and makes a visualization with the interactive plotly library.
- The LLM is then run using the
perform_chat()
function
The last step is to extract the results.
- To extract the results, use
extract_chat(silent = TRUE)
, which returns a data frame (tibble)
- To print the code in human readable text, use
pluck()
and cat()
.
- This returns the Shiny App code from our AI R Coder Copilot. (We’ll see if it runs next)
Does the Shiny App work from our R Coder AI Copilot
The shiny app works! I uploaded the CSV file stored in the 081 Folder, and I can quickly view a scatter plot of numeric columns.
Reminder: The code is available free inside R-tips
All of the code you saw today is available in R-Tips Newsletter folder for R-Tip 081
Conclusions:
This is exciting! tidychatmodels
is making it easier and more productive for me to use LLM’s in my R workflow. I look forward to seeing how tidychatmodels
progresses as LLM’s become a bigger part of my data science process.
There you have it. How to get LLMs in R. But, the next problem is that you’ll need to solve business problems with data science and R.
If you would like to grow your Business Data Science skills, then please read on…
Need to advance your business data science skills?
I’ve helped 6,107+ students learn data science for business from an elite business consultant’s perspective.
I’ve worked with Fortune 500 companies like S&P Global, Apple, MRM McCann, and more.
And I built a training program that gets my students life-changing data science careers (don’t believe me? see my testimonials here):
6-Figure Data Science Job at CVS Health ($125K)
Senior VP Of Analytics At JP Morgan ($200K)
50%+ Raises & Promotions ($150K)
Lead Data Scientist at Northwestern Mutual ($175K)
2X-ed Salary (From $60K to $120K)
2 Competing ML Job Offers ($150K)
Promotion to Lead Data Scientist ($175K)
Data Scientist Job at Verizon ($125K+)
Data Scientist Job at CitiBank ($100K + Bonus)
Whenever you are ready, here’s the system they are taking:
Here’s the system that has gotten aspiring data scientists, career transitioners, and life long learners data science jobs and promotions…
Join My 5-Course R-Track Program Now!
(And Become The Data Scientist You Were Meant To Be...)
P.S. - Samantha landed her NEW Data Science R Developer job at CVS Health (Fortune 500). This could be you.