Integrate LLM Data with Helicone
Route promptfoo eval traffic through a self-hosted Helicone AI Gateway for unified, load-balanced multi-provider access.
code-scan-action-0.1Add to Favorites
Why it matters
Connect your LLM applications to Helicone for enhanced observability and data management. This asset facilitates the integration, allowing you to track, analyze, and manage your LLM interactions.
Outcomes
What it gets done
Integrate LLM data streams with Helicone.
Enable data extraction and summarization from LLM interactions.
Facilitate ETL synchronization for LLM operational data.
Query and manage LLM interaction data.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/pfoo-integration-helicone | bash Steps
Steps in the chain
Overview
Integration Helicone
Routes promptfoo eval requests through a self-hosted Helicone AI Gateway for unified, OpenAI-compatible access to OpenAI, Anthropic, and Groq, with load balancing, caching, and optional observability. Use when comparing or routing between multiple LLM providers through one consistent interface with centralized caching, rate limiting, and load balancing.
What it does
This example demonstrates using the Helicone AI Gateway provider in promptfoo to route requests through a self-hosted Helicone AI Gateway instance for unified provider access. It shows a unified OpenAI-compatible interface for accessing multiple providers, smart load balancing based on provider availability and performance, full control over routing infrastructure via self-hosting, side-by-side provider comparison through a single interface, and easy switching between providers and models. Running the example sends the same prompts to all three providers through the gateway, compares responses and performance, generates a comparison report, and shows differences in model capabilities and response patterns: each request routes to the local gateway, the gateway selects the appropriate provider, all providers respond in the same OpenAI-compatible format, and promptfoo compares the results. The gateway runs locally via npx @helicone/ai-gateway@latest (defaulting to http://localhost:8080), and providers are configured with a helicone:provider/model id format, e.g. helicone:openai/gpt-4o-mini with a label and standard parameters like temperature/max_tokens. Advanced configuration supports custom gateway URLs (e.g. pointing at http://my-gateway.company.com:8080), named routers for different environments (e.g. production vs development), and custom headers for a self-hosted gateway with its own configuration. The gateway itself additionally offers caching, rate limiting, and optional observability integration with Helicone's dashboard. A troubleshooting section covers authentication errors (verify HELICONE_API_KEY), missing provider API keys, and no data appearing in the dashboard.
When to use - and when NOT to
Use this when you need to compare or route between multiple LLM providers (OpenAI, Anthropic, Groq) through one consistent interface, want centralized caching/rate-limiting/load-balancing in front of your providers, or need full control over LLM routing infrastructure via self-hosting.
Not needed for a single-provider eval with no routing, caching, or multi-provider comparison requirement - calling the provider directly is simpler than standing up a gateway.
Inputs and outputs
Requires at least one provider API key (OPENAI_API_KEY recommended, ANTHROPIC_API_KEY and GROQ_API_KEY optional) and a running gateway instance (npx @helicone/ai-gateway@latest in a separate terminal), plus the promptfoo CLI (npm install -g promptfoo). Input is promptfooconfig.yaml with helicone:provider/model provider entries. Output is promptfoo eval, or LOG_LEVEL=debug promptfoo eval for detailed request logging.
Integrations
Routes through a self-hosted Helicone AI Gateway to OpenAI, Anthropic, and Groq using a unified OpenAI-compatible request format, with optional Helicone dashboard observability.
Who it's for
Teams comparing or routing between multiple LLM providers who want a unified interface plus centralized caching, rate limiting, and load balancing via a self-hosted gateway.
npx promptfoo@latest init --example integration-helicone
cd integration-helicone
Source README
integration-helicone (Helicone AI Gateway)
You can run this example with:
npx promptfoo@latest init --example integration-helicone
cd integration-helicone
This example demonstrates how to use the Helicone AI Gateway provider in promptfoo to route requests through a self-hosted Helicone AI Gateway instance for unified provider access.
What This Example Shows
- Unified Interface: Use the same OpenAI-compatible syntax to access multiple providers
- Load Balancing: Smart routing based on provider availability and performance
- Self-Hosted Gateway: Full control over your LLM routing infrastructure
- Provider Comparison: Compare responses from different providers through a single interface
- Flexible Configuration: Easy switching between providers and models
Prerequisites
- Helicone AI Gateway: A running instance (we'll start one locally)
- API Keys: You'll need at least one provider API key:
- OpenAI API key (recommended)
- Anthropic API key (optional)
- Groq API key (optional)
Setup
Set Environment Variables:
# Set your provider API keys export OPENAI_API_KEY=your_openai_api_key_here export ANTHROPIC_API_KEY=your_anthropic_api_key_here # Optional export GROQ_API_KEY=your_groq_api_key_here # OptionalStart Helicone AI Gateway:
# In a separate terminal, start the gateway npx @helicone/ai-gateway@latestThe gateway will start on
http://localhost:8080by default.Install promptfoo (if you haven't already):
npm install -g promptfoo
Running the Example
From this directory, run:
promptfoo eval
This will:
- Send the same prompts to all three providers through the Helicone AI Gateway
- Compare responses and performance across providers
- Generate a detailed comparison report
- Show differences in model capabilities and response patterns
What Happens
- Request Routing: Each request is sent to the local Helicone AI Gateway at
http://localhost:8080 - Provider Selection: The gateway routes each request to the appropriate provider (OpenAI, Anthropic, or Groq)
- Unified Interface: All providers use the same OpenAI-compatible request/response format
- Response Comparison: promptfoo compares the responses from each provider
Gateway Features
The Helicone AI Gateway provides several powerful features:
- Load Balancing: Automatic routing to the fastest/most reliable provider
- Caching: Built-in response caching to reduce costs and improve latency
- Rate Limiting: Configurable rate limits to prevent abuse
- Observability: Optional integration with Helicone's observability platform
- Self-Hosted: Full control over your infrastructure and data
Configuration Details
The example configuration includes:
Provider Setup
providers:
- id: helicone:openai/gpt-4o-mini
label: 'OpenAI via Helicone Gateway'
config:
temperature: 0.7
max_tokens: 500
Key Features Demonstrated
- Unified Interface: All providers use the same
helicone:provider/modelformat - OpenAI Compatibility: Standard OpenAI parameters work across all providers
- Easy Switching: Change providers by simply updating the model name
- Local Gateway: All requests go through your self-hosted gateway instance
Customization
You can modify the configuration to:
- Add More Providers: Include any providers supported by your Helicone AI Gateway
- Change Models: Specify different models using the
provider/modelformat - Custom Gateway: Point to a different Helicone AI Gateway instance
- Router Configuration: Use custom routers for different environments
Example with Custom Gateway and Router
providers:
- id: helicone:openai/gpt-4o
config:
baseUrl: http://my-gateway.company.com:8080
router: production
temperature: 0.5
Advanced Features
Using Different Gateway Endpoints
Route to different environments using routers:
providers:
- id: helicone:openai/gpt-4o
config:
router: production
- id: helicone:openai/gpt-4o-mini
config:
router: development
Custom Gateway Configuration
If you're running your own Helicone AI Gateway with custom configuration:
providers:
- id: helicone:custom-provider/custom-model
config:
baseUrl: http://localhost:9000
headers:
Custom-Header: value
Troubleshooting
Common Issues
- Authentication Error: Verify your
HELICONE_API_KEYis correct - Provider API Key Missing: Ensure you have valid API keys for the providers you're testing
- No Data in Dashboard: Check that requests are successfully completing
Debug Mode
For detailed request logging:
LOG_LEVEL=debug promptfoo eval
Learn More
Next Steps
- Explore the Dashboard: Review the analytics in your Helicone dashboard
- Set Up Alerts: Configure cost and usage alerts in Helicone
- Optimize Costs: Use caching and rate limiting to reduce expenses
- Scale Testing: Add more providers and test cases for comprehensive evaluation
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.