examples/integration-langfuse/README.md
This example demonstrates how to use Langfuse prompt management with labels in promptfoo.
Labels allow you to:
Install dependencies:
npm install langfuse
Set environment variables:
export LANGFUSE_PUBLIC_KEY="your-public-key"
export LANGFUSE_SECRET_KEY="your-secret-key"
export LANGFUSE_HOST="https://cloud.langfuse.com"
Create prompts in Langfuse:
customer-support and email-writer{{customer_name}}, {{issue}}, etc.production, staging, latest)To get started with this example:
npx promptfoo@latest init --example integration-langfuse
cd integration-langfuse
npx promptfoo@latest eval
After running the eval, you should see:
Promptfoo supports two ways to reference Langfuse prompts with labels:
Explicit @ syntax (recommended for clarity)
langfuse://prompt-name@label:type
Auto-detection with : syntax
langfuse://prompt-name:version-or-label:type
1, 2, 3) are treated as versionsproduction, staging) are treated as labelsprompt-name: The name of your prompt in Langfuseversion: Specific version number (1, 2, 3, etc.)label: Label assigned to a prompt versiontype: Either text or chat (defaults to text)# Explicit @ syntax for labels (recommended)
langfuse://customer-support@production:chat
langfuse://customer-support@staging:chat
langfuse://email-writer@latest
# Auto-detection with : syntax
langfuse://customer-support:production:chat # String → label
langfuse://customer-support:staging # String → label
langfuse://email-writer:latest:text # "latest" → label
# Version references (numeric values)
langfuse://customer-support:1:chat # Numeric → version
langfuse://email-writer:3:text # Numeric → version
staging label to test changesproduction, staging, experiment-a, tenant-xyz