Evaluate DeepSeek models on Azure AI Foundry
Promptfoo example evaluating DeepSeek models on Azure AI Foundry, including reasoning-model config for DeepSeek-R1.
Why it matters
Leverage the power of DeepSeek models, including the DeepSeek-R1 reasoning model, within Azure AI Foundry. This asset facilitates the evaluation and integration of these advanced models for various AI tasks.
Outcomes
What it gets done
Integrate DeepSeek models with Azure AI Foundry.
Utilize the DeepSeek-R1 reasoning model for complex tasks.
Evaluate model performance using promptfoo.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/pfoo-deepseek | bash Steps
Steps in the chain
Overview
Deepseek
A promptfoo example for evaluating DeepSeek chat and reasoning models deployed on Azure AI Foundry, including DeepSeek-R1-specific configuration. Use when evaluating DeepSeek models hosted specifically on Azure AI Foundry with promptfoo; not for non-Azure DeepSeek deployments.
What it does
Azure DeepSeek is a promptfoo example demonstrating how to evaluate DeepSeek models deployed on Azure AI Foundry, including the DeepSeek-R1 reasoning model. It covers four available models: DeepSeek-R1 (an advanced reasoning model), DeepSeek-V3 (a standard chat model), and two distilled reasoning variants, DeepSeek-R1-Distill-Llama-70B and DeepSeek-R1-Distill-Qwen-32B.
When to use - and when NOT to
Use it when running promptfoo evaluations against DeepSeek models hosted on Azure AI Foundry rather than DeepSeek's own API or another cloud provider. Reasoning models like DeepSeek-R1 need distinct configuration from standard chat models - the example documents this explicitly:
providers:
- id: azure:chat:DeepSeek-R1
config:
isReasoningModel: true # Required for reasoning models
max_completion_tokens: 4096 # Use instead of max_tokens
reasoning_effort: medium # low, medium, or high
It is not applicable to non-Azure DeepSeek deployments, which would use a different promptfoo provider configuration.
Inputs and outputs
Input is a DeepSeek model already deployed in Azure AI Foundry, accessed via AZURE_API_KEY and AZURE_API_HOST environment variables. The example is scaffolded with npx promptfoo@latest init --example azure/deepseek, and evaluation output is produced by npx promptfoo@latest eval followed by npx promptfoo@latest view to inspect results in the promptfoo UI. For reasoning models, reasoning_effort (low, medium, or high) controls how much reasoning budget DeepSeek-R1 uses per response, and max_completion_tokens replaces the standard max_tokens setting.
Integrations
Runs through promptfoo's Azure provider, which requires the DeepSeek model to already be deployed in Azure AI Foundry before evaluation. Further reference is available in promptfoo's Azure provider documentation and Microsoft's DeepSeek-on-Azure product page.
Who it's for
Teams evaluating DeepSeek models - standard chat or R1-class reasoning models - deployed through Azure AI Foundry, who need the correct promptfoo provider configuration for reasoning-model-specific parameters.
Source README
azure/deepseek (Azure DeepSeek Models)
This example demonstrates how to use DeepSeek models on Azure AI Foundry with promptfoo, including the DeepSeek-R1 reasoning model.
You can run this example with:
npx promptfoo@latest init --example azure/deepseek
cd azure/deepseek
Setup
- Deploy DeepSeek models in Azure AI Foundry
- Set your environment variables:
export AZURE_API_KEY=your-api-key
export AZURE_API_HOST=your-deployment.services.ai.azure.com
Available DeepSeek Models
| Model | Type | Description |
|---|---|---|
DeepSeek-R1 |
Reasoning | Advanced reasoning model |
DeepSeek-V3 |
Chat | Standard chat model |
DeepSeek-R1-Distill-Llama-70B |
Reasoning | Distilled reasoning model |
DeepSeek-R1-Distill-Qwen-32B |
Reasoning | Distilled reasoning model |
Reasoning Model Configuration
DeepSeek-R1 is a reasoning model that requires special configuration:
providers:
- id: azure:chat:DeepSeek-R1
config:
isReasoningModel: true # Required for reasoning models
max_completion_tokens: 4096 # Use instead of max_tokens
reasoning_effort: medium # low, medium, or high
Running the Example
npx promptfoo@latest eval
npx promptfoo@latest view
Documentation
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.