Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,17 @@ public static class Local
public static readonly AIFoundryModel DeepseekR114b = new() { Name = "deepseek-r1-14b", Version = "3", Format = "Microsoft" };

/// <summary>
/// This model is an optimized version of DeepSeek-R1-Distill-Qwen-7B to enable local inference. This model uses RTN quantization. # Model Description - **Developed by:** Microsoft - **Model type:** ONNX - **License:** MIT - **Model Description:** This is a conversion of the DeepSeek-R1-Distill-Qwen-7B for local inference. - **Disclaimer:** Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model. # Base Model Information See Hugging Face model [DeepSeek-R1-Distill-Qwen-7B](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B) for details.
/// This model is an optimized version of DeepSeek-R1-Distill-Qwen-7B to enable local inference on Intel NPUs. # Model Description - **Developed by:** Microsoft - **Model type:** ONNX - **License:** MIT - **Model Description:** This is a conversion of the DeepSeek-R1-Distill-Qwen-7B for local inference on Intel NPUs. - **Disclaimer:** Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model. # Base Model Information See Hugging Face model [DeepSeek-R1-Distill-Qwen-7B](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B) for details.
/// </summary>
public static readonly AIFoundryModel DeepseekR17b = new() { Name = "deepseek-r1-7b", Version = "3", Format = "Microsoft" };
public static readonly AIFoundryModel DeepseekR17b = new() { Name = "deepseek-r1-7b", Version = "1", Format = "Microsoft" };
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why did the Version regress from 3 to 1 here?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's question of how models are ordered based on the execution model (cpu, gpu, npu). Each can have a different value for the same alias. But this value is totally useless for Local Foundry (which is what these are touching). The changes to the filter is the reason the value is different and I still expect it to remain stable so automated PRs are not changing it.

We could force a const value too. I tried to remove it but we have a check in the hosting integration to ensure it's not null or empty. We use the same AddDeployment independently of it is local or not.


/// <summary>
/// This model is an optimized version of gpt-oss-20b to enable local inference. This model uses RTN quantization. # Model Description - **Developed by:** Microsoft - **Model type:** ONNX - **License:** Apache-2.0 - **License Description:** Use of this model is subject to the terms of the Apache License, Version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0. - **Model Description:** This is a conversion of the gpt-oss-20b model for local inference. - **Disclaimer:** Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model. # Base Model Information See Azure AI Foundry model [gpt-oss-20b](https://ai.azure.com/catalog/models/gpt-oss-20b) for details.
/// </summary>
public static readonly AIFoundryModel GptOss20b = new() { Name = "gpt-oss-20b", Version = "1", Format = "Microsoft" };

/// <summary>
/// This model is an optimized version of Mistral-7B-Instruct-v0.2 to enable local inference. This model uses RTN quantization. # Model Description - **Developed by:** Microsoft - **Model type:** ONNX - **License:** apache-2.0 - **Model Description:** This is a conversion of the Mistral-7B-Instruct-v0.2 for local inference. - **Disclaimer:** Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model. # Base Model Information See Hugging Face model [Mistral-7B-Instruct-v0.2](https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.2) for details.
/// This model is an optimized version of Mistral-7B-Instruct-v0.2 to enable local inference on Intel NPUs. # Model Description - **Developed by:** Microsoft - **Model type:** ONNX - **License:** apache-2.0 - **Model Description:** This is a conversion of the Mistral-7B-Instruct-v0.2 for local inference on Intel NPUs. - **Disclaimer:** Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model. # Base Model Information See Hugging Face model [Mistral-7B-Instruct-v0.2](https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.2) for details.
/// </summary>
public static readonly AIFoundryModel Mistral7bV02 = new() { Name = "mistral-7b-v0.2", Version = "1", Format = "Microsoft" };

Expand Down Expand Up @@ -72,6 +72,11 @@ public static class Local
/// </summary>
public static readonly AIFoundryModel Qwen2515b = new() { Name = "qwen2.5-1.5b", Version = "3", Format = "Microsoft" };

/// <summary>
/// This model is an optimized version of Qwen2.5-1.5B-Instruct to enable local inference on AMD NPUs. This model uses post-training quantization. # Model Description - **Developed by:** Microsoft - **Model type:** ONNX - **License:** apache-2.0 - **Model Description:** This is a conversion of the Qwen2.5-1.5B-Instruct for local inference on AMD NPUs. - **Disclaimer:** Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model. # Base Model Information See Hugging Face model [Qwen2.5-1.5B-Instruct](https://huggingface.co/Qwen/Qwen2.5-1.5B-Instruct) for details.
/// </summary>
public static readonly AIFoundryModel Qwen2515bInstructTestVitisNpu = new() { Name = "qwen2.5-1.5b-instruct-test-vitis-npu", Version = "1", Format = "Microsoft" };
Copy link
Member

@eerhardt eerhardt Oct 29, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why aren't we trying to exclude this one? Above we are excluding

alias == "qwen2.5-1.5b-instruct-test-qnn-npu" ||
alias == "qwen2.5-1.5b-instruct-test-openvino-npu"));

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I should have excluded this one too. Not sure how I missed it.


/// <summary>
/// This model is an optimized version of Qwen2.5-14B-Instruct to enable local inference. This model uses RTN quantization. # Model Description - **Developed by:** Microsoft - **Model type:** ONNX - **License:** apache-2.0 - **Model Description:** This is a conversion of the Qwen2.5-14B-Instruct for local inference. - **Disclaimer:** Model is only an optimization of the base model, any risk associated with the model is the responsibility of the user of the model. Please verify and test for your scenarios. There may be a slight difference in output from the base model with the optimizations applied. Note that optimizations applied are distinct from fine tuning and thus do not alter the intended uses or capabilities of the model. # Base Model Information See Hugging Face model [Qwen2.5-14B-Instruct](https://huggingface.co/Qwen/Qwen2.5-14B-Instruct) for details.
/// </summary>
Expand Down
11 changes: 7 additions & 4 deletions src/Aspire.Hosting.Azure.AIFoundry/tools/GenModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -460,8 +460,7 @@ public async Task<string> GetModelsAsync(string? continuationToken = null)
{"field": "type", "operator": "eq", "values": ["models"]},
{"field": "kind", "operator": "eq", "values": ["Versioned"]},
{"field": "labels", "operator": "eq", "values": ["latest"]},
{"field": "annotations/archived", "operator": "ne", "values": ["false"]},
{"field": "annotations/tags/foundryLocal", "operator": "eq", "values": [""]},
{"field": "annotations/tags/foundryLocal", "operator": "eq", "values": ["", "test"]},
{"field": "properties/variantInfo/variantMetadata/device", "operator": "eq",
"values": ["cpu", "gpu", "npu"]}
],
Expand Down Expand Up @@ -510,9 +509,13 @@ private void RunFixups(List<ModelEntity> allModels)
{
if (_isFoundryLocal)
{
// Exclude phi-4-reasoning as it is not listed by foundry local (TBD)
// Exclude models that are not listed by foundry local (TBD)
// c.f. https://github.com/microsoft/Foundry-Local/issues/245#issuecomment-3404022929
allModels.RemoveAll(m => m.Annotations?.Tags?.TryGetValue("alias", out var alias) is not null && alias == "phi-4-reasoning");
allModels.RemoveAll(m => m.Annotations?.Tags?.TryGetValue("alias", out var alias) is true && alias is not null &&
(alias.Contains("whisper") ||
alias == "phi-4-reasoning" ||
alias == "qwen2.5-1.5b-instruct-test-qnn-npu" ||
alias == "qwen2.5-1.5b-instruct-test-openvino-npu"));
}
else
{
Expand Down