Skip to main content

mixtape_core/models/
nova.rs

1//! Amazon Nova models
2
3use super::define_model;
4use crate::model::InferenceProfile;
5
6define_model!(
7    /// Nova Micro - Lightweight, text-only model for simple tasks
8    NovaMicro {
9        display_name: "Nova Micro",
10        bedrock_id: "amazon.nova-micro-v1:0",
11        context_tokens: 128_000,
12        output_tokens: 5_000
13    }
14);
15
16define_model!(
17    /// Nova Lite - Multimodal model for image, video, and text
18    NovaLite {
19        display_name: "Nova Lite",
20        bedrock_id: "amazon.nova-lite-v1:0",
21        context_tokens: 300_000,
22        output_tokens: 5_000
23    }
24);
25
26define_model!(
27    /// Nova 2 Lite - Fast reasoning model with extended thinking support
28    Nova2Lite {
29        display_name: "Nova 2 Lite",
30        bedrock_id: "amazon.nova-2-lite-v1:0",
31        context_tokens: 1_000_000,
32        output_tokens: 65_535,
33        default_inference_profile: InferenceProfile::Global
34    }
35);
36
37define_model!(
38    /// Nova Pro - Balanced multimodal model
39    NovaPro {
40        display_name: "Nova Pro",
41        bedrock_id: "amazon.nova-pro-v1:0",
42        context_tokens: 300_000,
43        output_tokens: 5_000
44    }
45);
46
47define_model!(
48    /// Nova Premier - Highest capability Nova model with 1M context
49    NovaPremier {
50        display_name: "Nova Premier",
51        bedrock_id: "amazon.nova-premier-v1:0",
52        context_tokens: 1_000_000,
53        output_tokens: 5_000
54    }
55);
56
57define_model!(
58    /// Nova 2 Sonic - Next-gen Nova model with 1M context
59    Nova2Sonic {
60        display_name: "Nova 2 Sonic",
61        bedrock_id: "amazon.nova-2-sonic-v1:0",
62        context_tokens: 1_000_000,
63        output_tokens: 65_535,
64        default_inference_profile: InferenceProfile::Global
65    }
66);