Summarizing and editing text

Working with the OpenAI API

James Chapman

Curriculum Manager, DataCamp

Recap...

  • Q&A
response = client.chat.completions.create(
  model="gpt-4o-mini",
  messages=[{"role": "user", "content": "How many days are in October?"}]
)

print(response.choices[0].message.content)
October has 31 days.
Working with the OpenAI API

Text editing

  • Example: updating the name, pronouns, and job title

$$

prompt = """
Update name to Maarten, pronouns to he/him, and job title to Senior Content Developer
in the following text:

Joanne is a Content Developer at DataCamp. Her favorite programming language is R,
which she uses for her statistical analyses.
"""
Working with the OpenAI API

Text editing

response = client.chat.completions.create(
    model="gpt-4o-mini",

messages=[{"role": "user", "content": prompt}]
) print(response.choices[0].message.content)
Maarten is a Senior Content Developer at DataCamp. His favorite programming language
is R, which he uses for his statistical analyses.
Working with the OpenAI API

Text summarization

  • Example: summary of customer chat transcripts

Customer support team

text = """
Customer: Hi, I'm trying to log into 
my account, but it keeps saying 
my password is incorrect. I'm sure 
I'm entering the right one.  

Support: I'm sorry to hear that! 
Have you tried resetting your password?  
...
"""
Working with the OpenAI API

Text summarization

prompt = f"""Summarize the customer support chat 
             in three concise key points: {text}"""


response = client.chat.completions.create( model="gpt-4o-mini", messages=[{"role": "user", "content": prompt}] ) print(response.choices[0].message.content)
1. Customer couldn't log in due to a password issue and missing reset link.  
2. Support resent the reset email after confirming it was sent.  
3. Customer resolved the issue by using Google sign-in.
Working with the OpenAI API

Controlling response length

  • max_completion_tokens = 5
response = client.chat.completions.create(
  model="gpt-4o-mini",
  messages=[{"role": "user", 
  "content": "Write a haiku about AI."}],
  max_completion_tokens=5
)

AI so powerful
Computers
  • max_completion_tokens = 30
response = client.chat.completions.create(
  model="gpt-4o-mini",
  messages=[{"role": "user", 
  "content": "Write a haiku about AI."}],
  max_completion_tokens=30
)

A machine mind thinks
Logic dictates its choices
Mankind ponders anew
Working with the OpenAI API

Understanding tokens

$$

  • Tokens: units of text that help the AI understand and interpret text

$$

The sentence, "How can the OpenAI API deliver business value?" with each token highlighted in a different color.

1 https://platform.openai.com/tokenizer
Working with the OpenAI API

Calculating the cost

 

  • Usage costs dependent on the model and the number of tokens 💰

    • Models are priced by cost/tokens
    • Input and output tokens may have different costs
  • Increasing max_completion_tokens increases cost 📈

Screenshot 2025-03-05 at 11.46.54.png

Working with the OpenAI API

Calculating the cost

prompt = f"""Summarize the customer support chat 
             in three concise key points: {text}"""

max_completion_tokens = 500

response = client.chat.completions.create(
  model="gpt-4o-mini",
  messages=[{"role": "user", "content": prompt}], 
  max_completion_tokens=max_completion_tokens
  )

Working with the OpenAI API

Calculating the cost

# Define price per token
input_token_price = 0.15 / 1_000_000
output_token_price = 0.6 / 1_000_000

# Extract token usage input_tokens = response.usage.prompt_tokens
output_tokens = max_completion_tokens
# Calculate cost cost = (input_tokens * input_token_price + output_tokens * output_token_price) print(f"Estimated cost: ${cost}")
Estimated cost: $0.00124
1 https://openai.com/pricing
Working with the OpenAI API

Let's practice!

Working with the OpenAI API

Preparing Video For Download...