aisdk 0.5.2

An open-source Rust library for building AI-powered applications, inspired by the Vercel AI SDK. It provides a robust, type-safe, and easy-to-use interface for interacting with various Large Language Models (LLMs).
Documentation
//! Capabilities for scaleway models.
//!
//! This module defines model types and their capabilities for scaleway providers.
//! Users can implement additional traits on custom models.

use crate::core::capabilities::*;
use crate::model_capabilities;
use crate::providers::scaleway::Scaleway;

model_capabilities! {
    provider: Scaleway,
    models: {
        BgeMultilingualGemma2 {
            model_name: "bge-multilingual-gemma2",
            constructor_name: bge_multilingual_gemma2,
            display_name: "BGE Multilingual Gemma2",
            capabilities: [TextInputSupport, TextOutputSupport]
        },
        DeepseekR1DistillLlama70b {
            model_name: "deepseek-r1-distill-llama-70b",
            constructor_name: deepseek_r1_distill_llama_70b,
            display_name: "DeepSeek R1 Distill Llama 70B",
            capabilities: [ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
        },
        Devstral2123bInstruct2512 {
            model_name: "devstral-2-123b-instruct-2512",
            constructor_name: devstral_2_123b_instruct_2512,
            display_name: "Devstral 2 123B Instruct (2512)",
            capabilities: [TextInputSupport, TextOutputSupport, ToolCallSupport]
        },
        Gemma327bIt {
            model_name: "gemma-3-27b-it",
            constructor_name: gemma_3_27b_it,
            display_name: "Gemma-3-27B-IT",
            capabilities: [ImageInputSupport, ReasoningSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
        },
        GptOss120b {
            model_name: "gpt-oss-120b",
            constructor_name: gpt_oss_120b,
            display_name: "GPT-OSS 120B",
            capabilities: [ImageInputSupport, 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: [TextInputSupport, TextOutputSupport, ToolCallSupport]
        },
        Llama3370bInstruct {
            model_name: "llama-3.3-70b-instruct",
            constructor_name: llama_3_3_70b_instruct,
            display_name: "Llama-3.3-70B-Instruct",
            capabilities: [ImageInputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
        },
        MistralNemoInstruct2407 {
            model_name: "mistral-nemo-instruct-2407",
            constructor_name: mistral_nemo_instruct_2407,
            display_name: "Mistral Nemo Instruct 2407",
            capabilities: [ImageInputSupport, 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, TextInputSupport, TextOutputSupport, ToolCallSupport]
        },
        Pixtral12b2409 {
            model_name: "pixtral-12b-2409",
            constructor_name: pixtral_12b_2409,
            display_name: "Pixtral 12B 2409",
            capabilities: [ImageInputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
        },
        Qwen3235bA22bInstruct2507 {
            model_name: "qwen3-235b-a22b-instruct-2507",
            constructor_name: qwen3_235b_a22b_instruct_2507,
            display_name: "Qwen3 235B A22B Instruct 2507",
            capabilities: [ImageInputSupport, 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: [TextInputSupport, TextOutputSupport, ToolCallSupport]
        },
        VoxtralSmall24b2507 {
            model_name: "voxtral-small-24b-2507",
            constructor_name: voxtral_small_24b_2507,
            display_name: "Voxtral Small 24B 2507",
            capabilities: [AudioInputSupport, ImageInputSupport, TextInputSupport, TextOutputSupport, ToolCallSupport]
        },
        WhisperLargeV3 {
            model_name: "whisper-large-v3",
            constructor_name: whisper_large_v3,
            display_name: "Whisper Large v3",
            capabilities: [AudioInputSupport, TextOutputSupport]
        },
    }
}