use crate::core::capabilities::*;
use crate::model_capabilities;
use crate::providers::ovhcloud::Ovhcloud;
model_capabilities! {
provider: Ovhcloud,
models: {
DeepseekR1DistillLlama70b {
model_name: "deepseek-r1-distill-llama-70b",
constructor_name: deepseek_r1_distill_llama_70b,
display_name: "DeepSeek-R1-Distill-Llama-70B",
capabilities: [ReasoningSupport, StructuredOutputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
GptOss120b {
model_name: "gpt-oss-120b",
constructor_name: gpt_oss_120b,
display_name: "gpt-oss-120b",
capabilities: [ReasoningSupport, StructuredOutputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
GptOss20b {
model_name: "gpt-oss-20b",
constructor_name: gpt_oss_20b,
display_name: "gpt-oss-20b",
capabilities: [ReasoningSupport, StructuredOutputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Llama318bInstruct {
model_name: "llama-3.1-8b-instruct",
constructor_name: llama_3_1_8b_instruct,
display_name: "Llama-3.1-8B-Instruct",
capabilities: [StructuredOutputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
MetaLlama3370bInstruct {
model_name: "meta-llama-3_3-70b-instruct",
constructor_name: meta_llama_3_3_70b_instruct,
display_name: "Meta-Llama-3_3-70B-Instruct",
capabilities: [StructuredOutputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Mistral7bInstructV03 {
model_name: "mistral-7b-instruct-v0.3",
constructor_name: mistral_7b_instruct_v0_3,
display_name: "Mistral-7B-Instruct-v0.3",
capabilities: [StructuredOutputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
MistralNemoInstruct2407 {
model_name: "mistral-nemo-instruct-2407",
constructor_name: mistral_nemo_instruct_2407,
display_name: "Mistral-Nemo-Instruct-2407",
capabilities: [StructuredOutputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
MistralSmall3224bInstruct2506 {
model_name: "mistral-small-3.2-24b-instruct-2506",
constructor_name: mistral_small_3_2_24b_instruct_2506,
display_name: "Mistral-Small-3.2-24B-Instruct-2506",
capabilities: [ImageInputSupport, StructuredOutputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Mixtral8x7bInstructV01 {
model_name: "mixtral-8x7b-instruct-v0.1",
constructor_name: mixtral_8x7b_instruct_v0_1,
display_name: "Mixtral-8x7B-Instruct-v0.1",
capabilities: [StructuredOutputSupport, TextInputSupport, TextOutputSupport]
},
Qwen25Coder32bInstruct {
model_name: "qwen2.5-coder-32b-instruct",
constructor_name: qwen2_5_coder_32b_instruct,
display_name: "Qwen2.5-Coder-32B-Instruct",
capabilities: [StructuredOutputSupport, TextInputSupport, TextOutputSupport]
},
Qwen25Vl72bInstruct {
model_name: "qwen2.5-vl-72b-instruct",
constructor_name: qwen2_5_vl_72b_instruct,
display_name: "Qwen2.5-VL-72B-Instruct",
capabilities: [ImageInputSupport, StructuredOutputSupport, TextInputSupport, TextOutputSupport]
},
Qwen332b {
model_name: "qwen3-32b",
constructor_name: qwen3_32b,
display_name: "Qwen3-32B",
capabilities: [ReasoningSupport, StructuredOutputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
Qwen3Coder30bA3bInstruct {
model_name: "qwen3-coder-30b-a3b-instruct",
constructor_name: qwen3_coder_30b_a3b_instruct,
display_name: "Qwen3-Coder-30B-A3B-Instruct",
capabilities: [StructuredOutputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
},
}
}