chore: import upstream snapshot with attribution
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
Deploy local.promptfoo.app / Deploy to Cloudflare Pages (push) Has been cancelled
Test and Publish Multi-arch Docker Image / test (push) Has been cancelled
Test and Publish Multi-arch Docker Image / build-docker-and-push-digests (map[digest-suffix:linux-amd64 platform:linux/amd64 runner:ubuntu-latest]) (push) Has been cancelled
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) Has been cancelled
Test and Publish Multi-arch Docker Image / merge-docker-digests (push) Has been cancelled
Test and Publish Multi-arch Docker Image / Attest Multi-arch Image (push) Has been cancelled
Validate Renovate Config / Validate Renovate Configuration (push) Has been cancelled

This commit is contained in:
wehub-resource-sync
2026-07-13 13:24:08 +08:00
commit 0d3cb498a3
5438 changed files with 1316560 additions and 0 deletions
+69
View File
@@ -0,0 +1,69 @@
# azure/openai (Azure OpenAI)
This example demonstrates how to use Azure OpenAI with promptfoo, including text generation and vision capabilities.
You can run this example with:
```bash
npx promptfoo@latest init --example azure/openai
cd azure/openai
```
## Environment Variables
This example requires the following environment variables:
- `AZURE_API_KEY` - Your Azure OpenAI API key
- `AZURE_OPENAI_API_KEY` - Alternative environment variable for your Azure OpenAI API key
You can set these in a `.env` file or directly in your environment.
## Prerequisites
1. An Azure account with access to Azure OpenAI Service
2. Deployments for one or more Azure OpenAI models:
- Text models: gpt-5.1, gpt-4o
- Vision models: gpt-4o (or other vision-capable models)
3. Your Azure OpenAI endpoint URL
## Setup Instructions
1. Update the `apiHost` in the configuration files to your Azure OpenAI endpoint
2. Set `AZURE_API_KEY` in your environment
3. Update the deployment names to match your actual deployments
## Available Examples
### Basic Text Generation
```bash
npx promptfoo@latest eval
# or
npx promptfoo@latest eval -c promptfooconfig.yaml
```
### Vision Models
```bash
npx promptfoo@latest eval -c promptfooconfig.vision.yaml
```
Demonstrates three ways to provide images to vision models:
- **URL**: Direct link to an image on the web
- **Local file**: Using `file://` paths (automatically converted to base64)
- **Base64**: Pre-encoded image data URI
## Troubleshooting
If you get a 401 error:
- Ensure your `AZURE_API_KEY` is set correctly
- Verify your endpoint URL is correct (no https://)
- Check that your deployment supports the requested capabilities
## Additional Resources
- [Azure OpenAI Provider Documentation](https://promptfoo.dev/docs/providers/azure/)
- [Azure OpenAI Service Documentation](https://learn.microsoft.com/en-us/azure/ai-services/openai/)
- [Azure OpenAI Vision Documentation](https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/gpt-with-vision)
Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

+17
View File
@@ -0,0 +1,17 @@
[
{
"role": "user",
"content": [
{
"type": "text",
"text": "{{question}}"
},
{
"type": "image_url",
"image_url": {
"url": "{{image_url}}"
}
}
]
}
]
@@ -0,0 +1,28 @@
# yaml-language-server: $schema=https://promptfoo.dev/config-schema.json
description: Azure OpenAI vision model evaluation
prompts:
# Vision models require a specific message format with content arrays
- file://prompt.vision.json
providers:
# Update with your Azure OpenAI deployment details
- id: azure:chat:gpt-5
config:
apiHost: promptfoo.openai.azure.com
apiVersion: 2024-02-15-preview
temperature: 0.1
max_tokens: 500
tests:
# Test 2: Load image from local file (automatically converted to base64 with data URL)
- vars:
question: What color is the planet in this image?
image_url: file://assets/earth.jpg
assert:
- type: contains-any
value: [blue, green]
# Note: If you see 401 errors, ensure:
# 1. Your AZURE_API_KEY environment variable is set correctly
# 2. The apiHost matches your Azure OpenAI resource name
# 3. Your deployment supports vision (GPT-5.1, GPT-4o, GPT-4.1)
@@ -0,0 +1,29 @@
# yaml-language-server: $schema=https://promptfoo.dev/config-schema.json
description: Azure OpenAI chat and embeddings with fact generation
prompts:
- 'Generate one very interesting fact about {{topic}}'
providers:
# GPT-5.1 - Latest flagship model
- id: azure:chat:gpt-5.1
config:
apiHost: 'your-org.openai.azure.com'
defaultTest:
assert:
- type: latency
threshold: 3000
tests:
- vars:
topic: monkeys
- vars:
topic: bananas
assert:
- type: similar
value: Bananas are naturally radioactive.
provider:
id: azure:embeddings:text-embedding-3-large
config:
apiHost: 'your-org.openai.azure.com'