Categorizing news headlines is a common task in content management and recommendation systems. This example demonstrates how to use PyPilot to quickly build a headline classifier that categorizes news into predefined categories, showcasing the framework’s ability to handle classification tasks with minimal code.

Code

The following code creates a function that classifies a given news headline into one of five predefined categories. It uses PyPilot’s task running feature and leverages the power of language models to perform the classification.

import pypilot as pypilot

classifier = pypilot.Agent(model="openai/gpt-4o-mini")

def classify_news(headline: str) -> str:
    return pypilot.run(
        "Classify the news headline into the most appropriate category",
        agents=[classifier],
        result_type=["Politics", "Technology", "Sports", "Entertainment", "Science"],
        context={"headline": headline},
    )

Now we can use this function to classify news headlines:

headline = "New AI Model Breaks Records in Language Understanding"
category = classify_news(headline)
print(f"Headline: {headline}")
print(f"Category: {category}")

# Result:
# Headline: New AI Model Breaks Records in Language Understanding
# Category: Technology

Key concepts

This implementation showcases several important PyPilot Features that enable quick development of classification tools:

  1. Agents: We create an agent with a specific LLM model (GPT-4o mini) to perform the headline classification.

    classifier = pypilot.Agent(model="openai/gpt-4o-mini")
    
  2. Result types: We use a list of strings as the result_type to constrain the output to one of the predefined categories. This ensures that the classification result is always one of the specified options.

    result_type=["Politics", "Technology", "Sports", "Entertainment", "Science"]
    
  3. Context passing: The context parameter is used to pass the input headline to the task.

    context={"headline": headline}
    

By leveraging these PyPilot Features, we can create a powerful headline classifier with just a few lines of code. This example demonstrates how PyPilot simplifies the process of building and deploying classification tools, making it easier for developers to incorporate advanced language processing capabilities into their applications.

The use of predefined categories in the result_type is particularly noteworthy, as it allows us to constrain the model’s output to a specific set of options. This is useful in many real-world scenarios where we need to map inputs to a fixed set of categories.