Back to Promptfoo

eval-image-classification (Image Classification Example with Promptfoo)

examples/eval-image-classification/README.md

0.121.91.4 KB
Original Source

eval-image-classification (Image Classification Example with Promptfoo)

You can run this example with:

bash
npx promptfoo@latest init --example eval-image-classification
cd eval-image-classification

This example demonstrates how to use Promptfoo for image classification tasks using the Fashion MNIST dataset. The example uses GPT-4o and GPT-4o-mini with a structured json schema to analyze images, including classification, color analysis, and additional attributes.

Getting Started

  1. Set up your OpenAI API key:

    sh
    export OPENAI_API_KEY='your-api-key'
    
  2. Run the evaluation:

    sh
    npx promptfoo@latest eval
    
  3. View the results:

    sh
    npx promptfoo@latest view
    
  4. Optionally, re-generate or update the dataset:

    sh
    python dataset_gen.py
    

    Note: You may need to install dependencies with:

    sh
    pip install -r requirements.txt
    

    This script creates a CSV file with 100 random images from the Fashion MNIST dataset and their labels. A CSV with 10 sample images is included so you can skip this step if preferred.

  5. Experiment with the configuration:

    • Modify the JSON schema in promptfooconfig.yaml to add or adjust required fields
    • Try different models such as llama3.2 or Claude Sonnet 4.6 by changing the provider in the config
    • Adjust the system prompt to improve classification accuracy
    • Add additional assertions to validate model outputs