Prompt Chain

Integrate LLM Data with Helicone

Route promptfoo eval traffic through a self-hosted Helicone AI Gateway for unified, load-balanced multi-provider access.

Works with helicone

92
Spark score
out of 100
Updated last month
Version code-scan-action-0.1
Models
gpt 4oclaude 3 5 sonnet

Add 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

01

Integrate LLM data streams with Helicone.

02

Enable data extraction and summarization from LLM interactions.

03

Facilitate ETL synchronization for LLM operational data.

04

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

01
Set Environment Variables
02
Start Helicone AI Gateway
03
Install promptfoo
04
Run the Example Evaluation

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

  1. Helicone AI Gateway: A running instance (we'll start one locally)
  2. API Keys: You'll need at least one provider API key:
    • OpenAI API key (recommended)
    • Anthropic API key (optional)
    • Groq API key (optional)

Setup

  1. 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           # Optional
    
  2. Start Helicone AI Gateway:

    # In a separate terminal, start the gateway
    npx @helicone/ai-gateway@latest
    

    The gateway will start on http://localhost:8080 by default.

  3. 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

  1. Request Routing: Each request is sent to the local Helicone AI Gateway at http://localhost:8080
  2. Provider Selection: The gateway routes each request to the appropriate provider (OpenAI, Anthropic, or Groq)
  3. Unified Interface: All providers use the same OpenAI-compatible request/response format
  4. 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

  1. Unified Interface: All providers use the same helicone:provider/model format
  2. OpenAI Compatibility: Standard OpenAI parameters work across all providers
  3. Easy Switching: Change providers by simply updating the model name
  4. Local Gateway: All requests go through your self-hosted gateway instance

Customization

You can modify the configuration to:

  1. Add More Providers: Include any providers supported by your Helicone AI Gateway
  2. Change Models: Specify different models using the provider/model format
  3. Custom Gateway: Point to a different Helicone AI Gateway instance
  4. 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

  1. Authentication Error: Verify your HELICONE_API_KEY is correct
  2. Provider API Key Missing: Ensure you have valid API keys for the providers you're testing
  3. 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

  1. Explore the Dashboard: Review the analytics in your Helicone dashboard
  2. Set Up Alerts: Configure cost and usage alerts in Helicone
  3. Optimize Costs: Use caching and rate limiting to reduce expenses
  4. 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.