Back to Data Science Notes
Topic #88

Using LLM APIs with Python

Learn how to programmatically interact with Large Language Models (LLMs) using Python, focusing on the standard patterns for sending prompts and receiving responses from providers like OpenAI and Google Gemini.

What it is

Using LLM APIs involves sending text data (prompts) over HTTP requests to a remote server that hosts a model. The server processes the input using complex neural networks and returns generated text. In Python, this is typically handled by official SDKs (Software Development Kits) that abstract away the raw HTTP calls, handling authentication, serialization, and error management for you.

Mental Model: Think of the API as a waiter in a restaurant. You provide an order (prompt), the kitchen (model) prepares the dish (response), and the waiter brings it back to you. You do not need to know how the stove works; you only need to know how to place the order correctly.

Related terms: Prompt Engineering, Tokenization, Temperature, System Message, User Message.

Why it matters

  • Automation: Enables batch processing of thousands of documents for summarization or classification without manual intervention.
  • Integration: Allows LLM capabilities to be embedded directly into web applications, chatbots, and data pipelines.
  • Scalability: Offloads heavy computational requirements to cloud infrastructure, allowing local machines to remain lightweight.
  • Flexibility: Different models excel at different tasks (e.g., coding vs. creative writing); APIs allow easy switching between them.

Syntax or steps

  1. Install the SDK: Use pip to install the specific library for your provider (e.g., openai or google-generativeai).
  2. Set up Authentication: Obtain an API key from the provider's dashboard and store it securely (usually in environment variables).
  3. Initialize the Client: Create a client object using your API key.
  4. Construct the Request: Define the messages array, including system instructions and user prompts.
  5. Send and Receive: Call the completion method and extract the text content from the response object.

Example

import os
from openai import OpenAI

# 1. Set up authentication via environment variable
api_key = os.getenv("OPENAI_API_KEY")
if not api_key:
    raise ValueError("Please set the OPENAI_API_KEY environment variable.")

# 2. Initialize the client
client = OpenAI(api_key=api_key)

def generate_response(prompt):
    try:
        # 3. Send request to the API
        response = client.chat.completions.create(
            model="gpt-3.5-turbo",
            messages=[
                {"role": "system", "content": "You are a helpful assistant."},
                {"role": "user", "content": prompt}
            ],
            temperature=0.7
        )
        
        # 4. Extract and return the text
        return response.choices[0].message.content
    
    except Exception as e:
        return f"Error: {str(e)}"

# Usage
print(generate_response("Explain quantum computing in one sentence."))

Part-by-part explanation: First, we retrieve the secret API key from the environment to avoid hardcoding credentials. We initialize the OpenAI client. Inside the function, we call chat.completions.create, specifying the model version and a list of messages. The temperature parameter controls randomness. Finally, we access the nested JSON structure of the response to get the actual text string.

Common mistakes

  • Hardcoding API Keys: Never commit keys to Git. Always use environment variables or secret managers.
  • Ignoring Rate Limits: Sending too many requests quickly results in errors. Implement exponential backoff or sleep intervals.
  • Missing Error Handling: Network issues or invalid inputs can crash scripts. Wrap API calls in try/except blocks.
  • Confusing Roles: Ensure the message list follows the correct order and role definitions (system first, then alternating user/assistant).

When to use it

Scenario Recommended Approach
Rapid prototyping, high accuracy needs, no GPU available API Usage (OpenAI/Gemini)
Data privacy critical, offline capability, custom fine-tuning Local Hosting (Ollama/HuggingFace)

Use APIs when you need state-of-the-art performance without managing infrastructure. Use local hosting when data sovereignty or cost-per-token at scale is a primary concern.

Practice

Guided Exercise: Modify the example above to accept a command-line argument for the prompt instead of hardcoding it.

Challenge: Write a script that takes a list of 5 product names and generates a short marketing tagline for each using the API. Hint: Loop through the list and call the function inside the loop.

Quick check

Question: Why is the temperature parameter important in LLM API calls?

Answer: It controls the randomness of the output. Lower values make the model more deterministic and focused, while higher values encourage creativity and diversity.

Summary

Interacting with LLMs via Python requires secure authentication, structured message formatting, and robust error handling. By mastering these API patterns, you can integrate powerful generative AI capabilities into any application efficiently.

Want to go beyond the notes?

Join Coding Now Tech Institute's Data Science course — live mentorship, real projects, and 100% placement support.

Enroll Now — Free Demo Available

Using LLM APIs with Python – FAQs

Quick answers about learning Using LLM APIs with Python in Data Science.

This free note from Coding Now Tech Institute explains Using LLM APIs with Python in Data Science — concept, syntax and worked code examples you can copy, run and revise before interviews.
Yes. Every Data Science topic on Coding Now Tech Institute, including Using LLM APIs with Python, is 100% free with no signup required.
With focused practice, most students grasp Using LLM APIs with Python in 1–3 days from these notes; pairing it with Coding Now Tech Institute's mentor-led course takes you to job-ready depth faster.
Use the code examples in this note, then ask doubts for free on the Coding Now Tech Institute Community (/community) — expert instructors answer within 24 hours.
Call NowEnroll Now