foundation_ai 0.0.1

AI foundation crate for the eweplatform
// Auto-generated by `cargo run --bin ewe_platform gen_model_descriptors`.
// Do not edit manually.

use crate::types::base_types::{
    MessageType, ModelAPI, ModelProviderDescriptor, ModelProviders, ModelUsageCosting,
};

/// Model descriptors for the `google-vertex` provider.
pub static MODELS: &[ModelProviderDescriptor] = &[
    ModelProviderDescriptor {
        id: "gemini-1.5-flash",
        name: "Gemini 1.5 Flash (Vertex)",
        reasoning: false,
        api: ModelAPI::GoogleVertex,
        provider: ModelProviders::GOOGLEVERTEX,
        base_url: Some("https://{location}-aiplatform.googleapis.com"),
        inputs: MessageType::TextAndImages,
        cost: ModelUsageCosting {
            input: 0.075,
            output: 0.3,
            cache_read: 0.01875,
            cache_write: 0.0,
        },
        context_window: 1_000_000,
        max_tokens: 8192,
    },
    ModelProviderDescriptor {
        id: "gemini-1.5-flash-8b",
        name: "Gemini 1.5 Flash-8B (Vertex)",
        reasoning: false,
        api: ModelAPI::GoogleVertex,
        provider: ModelProviders::GOOGLEVERTEX,
        base_url: Some("https://{location}-aiplatform.googleapis.com"),
        inputs: MessageType::TextAndImages,
        cost: ModelUsageCosting {
            input: 0.0375,
            output: 0.15,
            cache_read: 0.01,
            cache_write: 0.0,
        },
        context_window: 1_000_000,
        max_tokens: 8192,
    },
    ModelProviderDescriptor {
        id: "gemini-1.5-pro",
        name: "Gemini 1.5 Pro (Vertex)",
        reasoning: false,
        api: ModelAPI::GoogleVertex,
        provider: ModelProviders::GOOGLEVERTEX,
        base_url: Some("https://{location}-aiplatform.googleapis.com"),
        inputs: MessageType::TextAndImages,
        cost: ModelUsageCosting {
            input: 1.25,
            output: 5.0,
            cache_read: 0.3125,
            cache_write: 0.0,
        },
        context_window: 1_000_000,
        max_tokens: 8192,
    },
    ModelProviderDescriptor {
        id: "gemini-2.0-flash",
        name: "Gemini 2.0 Flash (Vertex)",
        reasoning: false,
        api: ModelAPI::GoogleVertex,
        provider: ModelProviders::GOOGLEVERTEX,
        base_url: Some("https://{location}-aiplatform.googleapis.com"),
        inputs: MessageType::TextAndImages,
        cost: ModelUsageCosting {
            input: 0.15,
            output: 0.6,
            cache_read: 0.0375,
            cache_write: 0.0,
        },
        context_window: 1_048_576,
        max_tokens: 8192,
    },
    ModelProviderDescriptor {
        id: "gemini-2.0-flash-lite",
        name: "Gemini 2.0 Flash Lite (Vertex)",
        reasoning: true,
        api: ModelAPI::GoogleVertex,
        provider: ModelProviders::GOOGLEVERTEX,
        base_url: Some("https://{location}-aiplatform.googleapis.com"),
        inputs: MessageType::TextAndImages,
        cost: ModelUsageCosting {
            input: 0.075,
            output: 0.3,
            cache_read: 0.01875,
            cache_write: 0.0,
        },
        context_window: 1_048_576,
        max_tokens: 65_536,
    },
    ModelProviderDescriptor {
        id: "gemini-2.5-flash",
        name: "Gemini 2.5 Flash (Vertex)",
        reasoning: true,
        api: ModelAPI::GoogleVertex,
        provider: ModelProviders::GOOGLEVERTEX,
        base_url: Some("https://{location}-aiplatform.googleapis.com"),
        inputs: MessageType::TextAndImages,
        cost: ModelUsageCosting {
            input: 0.3,
            output: 2.5,
            cache_read: 0.03,
            cache_write: 0.0,
        },
        context_window: 1_048_576,
        max_tokens: 65_536,
    },
    ModelProviderDescriptor {
        id: "gemini-2.5-flash-lite",
        name: "Gemini 2.5 Flash Lite (Vertex)",
        reasoning: true,
        api: ModelAPI::GoogleVertex,
        provider: ModelProviders::GOOGLEVERTEX,
        base_url: Some("https://{location}-aiplatform.googleapis.com"),
        inputs: MessageType::TextAndImages,
        cost: ModelUsageCosting {
            input: 0.1,
            output: 0.4,
            cache_read: 0.01,
            cache_write: 0.0,
        },
        context_window: 1_048_576,
        max_tokens: 65_536,
    },
    ModelProviderDescriptor {
        id: "gemini-2.5-flash-lite-preview-09-2025",
        name: "Gemini 2.5 Flash Lite Preview 09-25 (Vertex)",
        reasoning: true,
        api: ModelAPI::GoogleVertex,
        provider: ModelProviders::GOOGLEVERTEX,
        base_url: Some("https://{location}-aiplatform.googleapis.com"),
        inputs: MessageType::TextAndImages,
        cost: ModelUsageCosting {
            input: 0.1,
            output: 0.4,
            cache_read: 0.01,
            cache_write: 0.0,
        },
        context_window: 1_048_576,
        max_tokens: 65_536,
    },
    ModelProviderDescriptor {
        id: "gemini-2.5-pro",
        name: "Gemini 2.5 Pro (Vertex)",
        reasoning: true,
        api: ModelAPI::GoogleVertex,
        provider: ModelProviders::GOOGLEVERTEX,
        base_url: Some("https://{location}-aiplatform.googleapis.com"),
        inputs: MessageType::TextAndImages,
        cost: ModelUsageCosting {
            input: 1.25,
            output: 10.0,
            cache_read: 0.125,
            cache_write: 0.0,
        },
        context_window: 1_048_576,
        max_tokens: 65_536,
    },
    ModelProviderDescriptor {
        id: "gemini-3-flash-preview",
        name: "Gemini 3 Flash Preview (Vertex)",
        reasoning: true,
        api: ModelAPI::GoogleVertex,
        provider: ModelProviders::GOOGLEVERTEX,
        base_url: Some("https://{location}-aiplatform.googleapis.com"),
        inputs: MessageType::TextAndImages,
        cost: ModelUsageCosting {
            input: 0.5,
            output: 3.0,
            cache_read: 0.05,
            cache_write: 0.0,
        },
        context_window: 1_048_576,
        max_tokens: 65_536,
    },
    ModelProviderDescriptor {
        id: "gemini-3-pro-preview",
        name: "Gemini 3 Pro Preview (Vertex)",
        reasoning: true,
        api: ModelAPI::GoogleVertex,
        provider: ModelProviders::GOOGLEVERTEX,
        base_url: Some("https://{location}-aiplatform.googleapis.com"),
        inputs: MessageType::TextAndImages,
        cost: ModelUsageCosting {
            input: 2.0,
            output: 12.0,
            cache_read: 0.2,
            cache_write: 0.0,
        },
        context_window: 1_000_000,
        max_tokens: 64_000,
    },
    ModelProviderDescriptor {
        id: "gemini-3.1-pro-preview",
        name: "Gemini 3.1 Pro Preview (Vertex)",
        reasoning: true,
        api: ModelAPI::GoogleVertex,
        provider: ModelProviders::GOOGLEVERTEX,
        base_url: Some("https://{location}-aiplatform.googleapis.com"),
        inputs: MessageType::TextAndImages,
        cost: ModelUsageCosting {
            input: 2.0,
            output: 12.0,
            cache_read: 0.2,
            cache_write: 0.0,
        },
        context_window: 1_048_576,
        max_tokens: 65_536,
    },
];