The Azure AI Foundry Model Catalog contains hundreds of models from Microsoft, OpenAI, Meta, Mistral, Cohere, and other providers. This lesson teaches you how to browse, filter, compare, and select the right model for your use case.
Each model has a model card containing:
| Task Category | Models | Use Cases |
|---|---|---|
| Chat Completion | GPT-4o, GPT-4o-mini, Llama 3.1, Mistral Large, Phi-4 | Conversational AI, reasoning, content generation |
| Text Embedding | text-embedding-3-small, text-embedding-3-large, Cohere Embed v3 | RAG, semantic search, similarity |
| Image Generation | DALL-E 3 | Creative content, mockups, visual assets |
| Audio / Speech | Whisper, TTS, gpt-4o-audio | Transcription, voice assistants, narration |
| Code Generation | GPT-4o, Codestral, Phi-4 | Code completion, review, translation |
| Vision | GPT-4o, Llama 3.2-Vision, Phi-3.5-Vision | Image understanding, document analysis, OCR |
| Dimension | GPT-4o | GPT-4o-mini |
|---|---|---|
| Quality | Highest reasoning quality | Good quality, occasional gaps on complex tasks |
| Speed | ~40-80 tokens/sec | ~80-150 tokens/sec |
| Cost (per 1M tokens) | ~$2.50 input / $10 output | ~$0.15 input / $0.60 output |
| Context Window | 128K tokens | 128K tokens |
| Multimodal | Text + Image + Audio | Text + Image |
| Best For | Complex reasoning, production apps | High-volume, cost-sensitive, simple tasks |
| Dimension | GPT-4o | Phi-4 (14B) |
|---|---|---|
| Provider | OpenAI (proprietary) | Microsoft (open-weight, MIT license) |
| Parameters | Not disclosed | 14 billion |
| Quality | Best-in-class | Competitive on reasoning, math, code |
| Deployment | Azure OpenAI Service | Serverless API or Managed Compute |
| Cost | Pay-per-token (higher) | Significantly cheaper, self-hostable |
| Best For | Maximum quality, enterprise | Cost-sensitive, edge, custom fine-tuning |
| Dimension | Llama 3.1 70B | Mistral Large |
|---|---|---|
| License | Llama Community License | Commercial |
| Multilingual | Good | Excellent (native multilingual) |
| Code | Strong | Excellent (Codestral-class) |
| Deployment | Serverless API or Managed Compute | Serverless API |
| Best For | General-purpose, fine-tuning | Multilingual enterprise, code |
Use this decision tree to pick the right model:
What is your primary task?
│
├── Chat / Reasoning
│ ├── Need highest quality? → GPT-4o or o3
│ ├── Cost-sensitive, good quality? → GPT-4o-mini
│ ├── Need open weights / fine-tuning? → Llama 3.1 70B or Phi-4
│ └── Multilingual focus? → Mistral Large
│
├── Embeddings / Search
│ ├── Best quality embeddings? → text-embedding-3-large (3072 dims)
│ ├── Cost-effective embeddings? → text-embedding-3-small (1536 dims)
│ └── Multilingual embeddings? → Cohere Embed v3
│
├── Image Generation → DALL-E 3
│
├── Audio
│ ├── Speech-to-text? → Whisper
│ └── Text-to-speech? → TTS (alloy, echo, fable, onyx, nova, shimmer)
│
└── Vision / Document Analysis
├── Best quality? → GPT-4o (with image input)
└── Open-weight? → Llama 3.2 Vision or Phi-3.5 Vision
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()
ml_client = MLClient(
credential=credential,
subscription_id="your-subscription-id",
resource_group_name="your-rg",
workspace_name="your-ai-foundry-project"
)
# List models from the Azure ML registry, filtering by task
models = ml_client.models.list(registry_name="azureml")
chat_models = [m for m in models if "chat" in (m.tags or {}).get("task", "").lower()]
for model in chat_models[:10]:
print(f" {model.name} (v{model.version})")
model = ml_client.models.get(
name="Phi-4",
version="latest",
registry_name="azureml"
)
print(f"Name: {model.name}")
print(f"Version: {model.version}")
print(f"Description: {model.description[:200]}")
print(f"Tags: {model.tags}")
print(f"License: {model.tags.get('license', 'N/A')}")
The Benchmarks view in the portal lets you compare models on standardized evaluations:
| Benchmark | Measures | Key Models |
|---|---|---|
| MMLU | General knowledge / reasoning | GPT-4o > Llama 3.1 405B > Phi-4 |
| HumanEval | Code generation | GPT-4o ≈ Codestral > Phi-4 |
| GSM8K | Math reasoning | GPT-4o > Phi-4 > Llama 3.1 70B |
| MTEB | Embedding quality | text-embedding-3-large > Cohere v3 |
| HellaSwag | Commonsense reasoning | GPT-4o > Mistral Large > Phi-4 |
💡 Tip: Benchmarks are a starting point, not a final answer. Always test models on your own data with representative prompts before committing.
💡 Start small, scale up. Begin with GPT-4o-mini or Phi-4. If quality is insufficient, move to GPT-4o. This iterative approach minimizes cost.
💡 Consider total cost, not just token price. A cheaper model that requires 3x more tokens to get the right answer may cost more overall.
💡 Check regional availability. Not all models are available in all Azure regions. Verify availability before designing your architecture.
💡 Open-weight ≠ free. Models like Llama and Phi are free to use, but you still pay for compute (Managed Compute) or per-token (Serverless API).
💡 Test with your real prompts. Model cards show benchmark scores, but your use case may differ significantly. Use the Playground to test with actual inputs before deploying.