0d3cb498a3
Deploy local.promptfoo.app / Deploy to Cloudflare Pages (push) Waiting to run
Test and Publish Multi-arch Docker Image / test (push) Waiting to run
Test and Publish Multi-arch Docker Image / build-docker-and-push-digests (map[digest-suffix:linux-amd64 platform:linux/amd64 runner:ubuntu-latest]) (push) Blocked by required conditions
Test and Publish Multi-arch Docker Image / build-docker-and-push-digests (map[digest-suffix:linux-arm64 platform:linux/arm64 runner:ubuntu-24.04-arm]) (push) Blocked by required conditions
Test and Publish Multi-arch Docker Image / merge-docker-digests (push) Blocked by required conditions
Test and Publish Multi-arch Docker Image / Attest Multi-arch Image (push) Blocked by required conditions
Validate Renovate Config / Validate Renovate Configuration (push) Waiting to run
CI / Shell Format Check (push) Has been cancelled
CI / Check Ruby (3.4) (push) Has been cancelled
CI / CI Config (push) Has been cancelled
CI / Test on Node ${{ matrix.node }} and ${{ matrix.os }}${{ matrix.shard && format(' (shard {0}/3)', matrix.shard) || '' }} (push) Has been cancelled
CI / Build on Node ${{ matrix.node }} (push) Has been cancelled
CI / Style Check (push) Has been cancelled
CI / Generate Assets (push) Has been cancelled
CI / Check Python (3.14) (push) Has been cancelled
CI / Check Python (3.9) (push) Has been cancelled
CI / Build Docs (push) Has been cancelled
CI / Code Scan Action (push) Has been cancelled
CI / Site tests (push) Has been cancelled
CI / webui tests (push) Has been cancelled
CI / Run Integration Tests (push) Has been cancelled
CI / Run Smoke Tests (push) Has been cancelled
CI / Go Tests (push) Has been cancelled
CI / Share Test (push) Has been cancelled
CI / Redteam (Production API) (push) Has been cancelled
CI / Redteam (Staging API) (push) Has been cancelled
CI / GitHub Actions Lint (push) Has been cancelled
CI / Check Ruby (3.0) (push) Has been cancelled
release-please / release-please (push) Has been cancelled
release-please / build (push) Has been cancelled
release-please / publish-npm (push) Has been cancelled
release-please / publish-npm-backfill (push) Has been cancelled
release-please / docker (push) Has been cancelled
release-please / publish-code-scan-action (push) Has been cancelled
release-please / attest-code-scan-action (push) Has been cancelled
provider-http/basic (HTTP Provider Example)
You can run this example with:
npx promptfoo@latest init --example provider-http/basic
cd provider-http/basic
This example demonstrates how to configure and use HTTP providers with promptfoo to integrate with external API endpoints.
Quick Start
- Visit the HTTP Provider Generator to automatically generate configurations based on your HTTP endpoint.
- Enter your request configuration and sample response.
- Copy the generated configuration to your promptfoo config file.
Example Configuration
Here's a basic example configuration for an HTTP provider that sends prompts to an API endpoint:
providers:
- id: https://api.example.com/chat
config:
method: POST
headers:
Content-Type: application/json
body:
messages:
- role: user
content: '{{prompt}}'
transformResponse: json.choices[0].message.content
Configuration Options
method: HTTP method (GET, POST, PUT, etc.)headers: Request headers (Content-Type, Authorization, etc.)body: Request body (supports template variables like{{prompt}})queryParams: URL query parameterstransformResponse: JavaScript expression to extract the response
Usage Steps
- Copy the example configuration above
- Modify the configuration for your endpoint:
- Update the URL
- Adjust headers (add authentication if needed)
- Modify the request body structure
- Update the transformResponse to match your API's response format
- Test the configuration using the HTTP Provider Generator
- Save the working configuration to your promptfoo config file
Testing Locally
To test your configuration:
- Create a promptfooconfig.yaml file with your configuration
- Run the evaluation:
promptfoo eval - View the results:
promptfoo view
For development and testing, you can use services like webhook.site to create test endpoints.
For more detailed information, see the HTTP Provider documentation.