feat: Azure OpenAI / Azure AI Foundry support. Models should be defined in conf/azure_models.json (or a custom path). See .env.example for environment variables or see readme. https://github.com/BeehiveInnovations/zen-mcp-server/issues/265 feat: OpenRouter / Custom Models / Azure can separately also use custom config paths now (see .env.example ) refactor: Model registry class made abstract, OpenRouter / Custom Provider / Azure OpenAI now subclass these refactor: breaking change: `is_custom` property has been removed from model_capabilities.py (and thus custom_models.json) given each models are now read from separate configuration files
46 lines
2.4 KiB
JSON
46 lines
2.4 KiB
JSON
{
|
|
"_README": {
|
|
"description": "Model metadata for Azure OpenAI / Azure AI Foundry-backed provider. The `models` definition can be copied from openrouter_models.json / custom_models.json",
|
|
"documentation": "https://github.com/BeehiveInnovations/zen-mcp-server/blob/main/docs/azure_models.md",
|
|
"usage": "Models listed here are exposed through Azure AI Foundry. Aliases are case-insensitive.",
|
|
"field_notes": "Matches providers/shared/model_capabilities.py.",
|
|
"field_descriptions": {
|
|
"model_name": "The model identifier e.g., 'gpt-4'",
|
|
"deployment": "Azure model deployment name",
|
|
"aliases": "Array of short names users can type instead of the full model name",
|
|
"context_window": "Total number of tokens the model can process (input + output combined)",
|
|
"max_output_tokens": "Maximum number of tokens the model can generate in a single response",
|
|
"supports_extended_thinking": "Whether the model supports extended reasoning tokens (currently none do via OpenRouter or custom APIs)",
|
|
"supports_json_mode": "Whether the model can guarantee valid JSON output",
|
|
"supports_function_calling": "Whether the model supports function/tool calling",
|
|
"supports_images": "Whether the model can process images/visual input",
|
|
"max_image_size_mb": "Maximum total size in MB for all images combined (capped at 40MB max for custom models)",
|
|
"supports_temperature": "Whether the model accepts temperature parameter in API calls (set to false for O3/O4 reasoning models)",
|
|
"temperature_constraint": "Type of temperature constraint: 'fixed' (fixed value), 'range' (continuous range), 'discrete' (specific values), or omit for default range",
|
|
"description": "Human-readable description of the model",
|
|
"intelligence_score": "1-20 human rating used as the primary signal for auto-mode model ordering"
|
|
}
|
|
},
|
|
"_example_models": [
|
|
{
|
|
"model_name": "gpt-4",
|
|
"deployment": "gpt-4",
|
|
"aliases": [
|
|
"gpt4"
|
|
],
|
|
"context_window": 128000,
|
|
"max_output_tokens": 16384,
|
|
"supports_extended_thinking": false,
|
|
"supports_json_mode": true,
|
|
"supports_function_calling": false,
|
|
"supports_images": false,
|
|
"max_image_size_mb": 0.0,
|
|
"supports_temperature": false,
|
|
"temperature_constraint": "fixed",
|
|
"description": "GPT-4 (128K context, 16K output)",
|
|
"intelligence_score": 10
|
|
}
|
|
],
|
|
"models": []
|
|
}
|