This repository contains the materials for D-Lab's Python APIs for Large Language Models Workshop.
We recommend attending Python Fundamentals prior to this workshop.
Check D-Lab's Learning Pathways to figure out which of our workshops to take!
In this hands-on workshop, you will learn how to use Python to call LLM APIs and get structured responses for research applications. By the end, you'll be able to integrate LLMs into your social science research workflow to classify data, extract insights, and analyze content at scale. You'll walk away with best practices for LLM integration in research projects, example scripts for common research tasks, and the confidence to begin incorporating AI into your own research workflow.
After this workshop, you will be able to do:
- API Setup & Authentication: Configure access to an LLM provider using OpenRouter for research projects.
- API Call Formatting: Understand the differences between chat and completion endpoints, construct proper request formats, handle parameters like temperature and max tokens, and manage conversation context.
- Structured Output: Design prompts that return consistent JSON responses for tasks like sentiment classification, theme extraction, content coding, and demographic categorization.
- Integration & Error Handling: Parse API responses into Python objects, implement retry logic for failed requests, manage rate limits and costs when processing research datasets.
This workshop does not cover the following:
- Prompt engineering. This is covered in Prompt Engineering.
- A technical understanding of GPT-like models. This is covered in Python GPT Fundamentals.
Before attending the workshop, you should install Python and Jupyter to your computer. If you need help, please submit a consulting request with D-Lab prior to the start of the workshop.
Anaconda is software that allows you to run Python and Jupyter notebooks on your computer. Installing Anaconda is the easiest way to make sure you have all the necessary software to run the materials for this workshop. Complete the following steps:
- Download and install Anaconda (Python 3.9 distribution). Click "Download" and then click 64-bit "Graphical Installer" for your current operating system.
- Download the materials in this repository:
- Click the green "Code" button in the top right of the repository information.
- Click "Download Zip".
- Extract this file to a folder on your computer where you can easily access it (we recommend Desktop).
- Optional: if you're familiar with
git
, you can instead clone this repository by opening a terminal and enteringgit clone https://github.com/dlab-berkeley/Python-Fundamentals.git
.
Now that you have all the required software and materials, you need to run the code:
-
Open the Anaconda Navigator application. You should see the green snake logo appear on your screen. Note that this can take a few minutes to load up the first time.
-
Click the "Launch" button under "Jupyter Lab" and navigate through your file system to the
Python-Fundamentals
folder you downloaded above. -
Navigate to lessons -> Fundamentals-I
-
Open the
01_Jupyter_and_Python.ipynb
to begin. -
Press Shift + Enter (or Ctrl + Enter) to run a cell.
Note: if you are having trouble accessing the Downloads/Desktop folder from Anaconda Navigator, check out this post or submit a consulting request to get help!
If you do not have Anaconda installed and the materials loaded on your workshop by the time it starts, we strongly recommend using the UC Berkeley Datahub to run the materials for these lessons. You can access the DataHub by clicking this button:
The DataHub downloads this repository, along with any necessary packages, and allows you to run the materials in a Jupyter notebook that is stored on UC Berkeley's servers. No installation is necessary from your end - you only need an internet browser and a CalNet ID to log in. By using the DataHub, you can save your work and come back to it at any time. When you want to return to your saved work, just go straight to DataHub, sign in, and you click on the Python-Fundamentals
folder.
If you don't have a Berkeley CalNet ID, you can still run these lessons in Binder, which is another cloud-based option. Click this button:
Note: Using Binder, you unfortunately cannot save your work.
D-Lab works with Berkeley faculty, research staff, and students to advance data-intensive social science and humanities research. Our goal at D-Lab is to provide practical training, staff support, resources, and space to enable you to use R for your own research applications. Our services cater to all skill levels and no programming, statistical, or computer science backgrounds are necessary. We offer these services in the form of workshops, one-to-one consulting, and working groups that cover a variety of research topics, digital tools, and programming languages.
Visit the D-Lab homepage to learn more about us. You can view our calendar for upcoming events, learn about how to utilize our consulting and data services, and check out upcoming workshops.
Here are other Python workshops offered by the D-Lab:
- Python Fundamentals
- Python Data Wrangling
- Python Data Visualization
- Geospatial Fundamentals in Python
Sohail Khan Pratik Sachdeva Tom van Nuenen
Provide a list of contributors here, with links to their webpages (D-Lab or private).