Back to Promptfoo

config-pdf-files (PDF Document Analysis)

examples/config-pdf-files/README.md

0.121.91.0 KB
Original Source

config-pdf-files (PDF Document Analysis)

This example demonstrates how to analyze PDF documents using vision-capable LLMs from multiple providers.

You can run this example with:

bash
npx promptfoo@latest init --example config-pdf-files
cd config-pdf-files

Setup

Set your API keys for the providers you want to use:

  • Google Gemini: Set GOOGLE_API_KEY or GEMINI_API_KEY
  • Anthropic Claude: Set ANTHROPIC_API_KEY
  • OpenAI GPT: Set OPENAI_API_KEY

Usage

This example is pre-configured in promptfooconfig.yaml. Run:

bash
promptfoo eval

View results:

bash
promptfoo view

How It Works

The prompt.py file handles provider-specific PDF formatting:

  • Anthropic: Uses the document content type with base64 data
  • OpenAI: Uses input_file with data URI format
  • Google Gemini: Uses inline_data within message parts

Each provider has different requirements for sending PDF documents, which is why a Python prompt function is used to dynamically format the request.