Skip to content
Open
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
297 changes: 290 additions & 7 deletions mixtape-core/examples/model_verification.rs

Large diffs are not rendered by default.

23 changes: 17 additions & 6 deletions mixtape-core/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -184,37 +184,48 @@ pub use provider::BedrockProvider;

// Anthropic Claude
pub use models::{
Claude3Haiku, Claude3Opus, Claude3Sonnet, Claude3_5Haiku, Claude3_5SonnetV1, Claude3_5SonnetV2,
Claude3_7Sonnet, ClaudeHaiku4_5, ClaudeOpus4, ClaudeOpus4_1, ClaudeOpus4_5, ClaudeOpus4_6,
ClaudeSonnet4, ClaudeSonnet4_5, ClaudeSonnet4_6,
};
// Amazon Nova
pub use models::{Nova2Lite, Nova2Sonic, NovaLite, NovaMicro, NovaPremier, NovaPro};
// Amazon Titan
pub use models::{TitanTextExpress, TitanTextLite, TitanTextPremier};
// AI21 Labs
pub use models::{AI21Jamba1_5Large, AI21Jamba1_5Mini, AI21JambaInstruct};
// Cohere
pub use models::CohereCommandRPlus;
pub use models::{CohereCommandR, CohereCommandRPlus, CohereCommandRPlusV2};
// DeepSeek
pub use models::{DeepSeekR1, DeepSeekV3_1, DeepSeekV3_2};
// Z.AI GLM
pub use models::{GLM4_7Flash, GLM4_7};
pub use models::{GLM4_7Flash, GLM4_7, GLM5};
// Google
pub use models::{Gemma3_12B, Gemma3_27B, Gemma3_4B};
// Meta Llama
pub use models::{
Llama3_1_405B, Llama3_1_70B, Llama3_1_8B, Llama3_2_11B, Llama3_2_1B, Llama3_2_3B, Llama3_2_90B,
Llama3_3_70B, Llama4Maverick17B, Llama4Scout17B,
Llama3_3_70B, Llama3_70B, Llama3_8B, Llama4Maverick17B, Llama4Scout17B,
};
// MiniMax
pub use models::MiniMaxM2_1;
pub use models::{MiniMaxM2, MiniMaxM2_1, MiniMaxM2_5};
// Mistral
pub use models::{
MagistralSmall, Ministral14B, Ministral3B, Ministral8B, MistralLarge3, PixtralLarge,
VoxtralMini3B, VoxtralSmall24B,
Devstral2_135B, MagistralSmall, Ministral14B, Ministral3B, Ministral8B, MistralLarge2,
MistralLarge3, MistralSmall, PixtralLarge, VoxtralMini3B, VoxtralSmall24B,
};
// Moonshot Kimi
pub use models::{KimiK2Thinking, KimiK2_5};
// NVIDIA
pub use models::{Nemotron3Nano30BA3B, Nemotron3Super120BA12B, NemotronNano2, NemotronNano2VL};
// OpenAI
pub use models::{GptOss120B, GptOss20B, GptOssSafeguard120B, GptOssSafeguard20B};
// Alibaba Qwen
pub use models::{
Qwen3Coder30B, Qwen3Coder480B, Qwen3CoderNext, Qwen3Next80B, Qwen3VL235B, Qwen3_235B, Qwen3_32B,
};
// Writer AI Palmyra
pub use models::{WriterPalmyraVision7B, WriterPalmyraX4, WriterPalmyraX5};

pub use tokenizer::CharacterTokenizer;
pub use tool::{box_tool, DocumentFormat, DynTool, ImageFormat, Tool, ToolError, ToolResult};
Expand Down
33 changes: 33 additions & 0 deletions mixtape-core/src/models/ai21.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
//! AI21 Labs Jamba models

use super::define_model;

define_model!(
/// Jamba 1.5 Large - Large hybrid SSM-Transformer model
AI21Jamba1_5Large {
display_name: "Jamba 1.5 Large",
bedrock_id: "ai21.jamba-1-5-large-v1:0",
context_tokens: 256_000,
output_tokens: 4_096
}
);

define_model!(
/// Jamba 1.5 Mini - Compact hybrid SSM-Transformer model
AI21Jamba1_5Mini {
display_name: "Jamba 1.5 Mini",
bedrock_id: "ai21.jamba-1-5-mini-v1:0",
context_tokens: 256_000,
output_tokens: 4_096
}
);

define_model!(
/// Jamba Instruct - Instruction-tuned hybrid model
AI21JambaInstruct {
display_name: "Jamba Instruct",
bedrock_id: "ai21.jamba-instruct-v1:0",
context_tokens: 256_000,
output_tokens: 4_096
}
);
78 changes: 78 additions & 0 deletions mixtape-core/src/models/claude.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,84 @@
use super::define_model;
use crate::model::InferenceProfile;

// =============================================================================
// Claude 3 Models
// =============================================================================

define_model!(
/// Claude 3 Haiku - Fast, compact model for quick responses
Claude3Haiku {
display_name: "Claude 3 Haiku",
bedrock_id: "anthropic.claude-3-haiku-20240307-v1:0",
context_tokens: 200_000,
output_tokens: 4_096,
anthropic_id: "claude-3-haiku-20240307"
}
);

define_model!(
/// Claude 3 Opus - Most capable Claude 3 model
Claude3Opus {
display_name: "Claude 3 Opus",
bedrock_id: "anthropic.claude-3-opus-20240229-v1:0",
context_tokens: 200_000,
output_tokens: 4_096,
anthropic_id: "claude-3-opus-20240229"
}
);

define_model!(
/// Claude 3 Sonnet - Balanced Claude 3 model
Claude3Sonnet {
display_name: "Claude 3 Sonnet",
bedrock_id: "anthropic.claude-3-sonnet-20240229-v1:0",
context_tokens: 200_000,
output_tokens: 4_096,
anthropic_id: "claude-3-sonnet-20240229"
}
);

// =============================================================================
// Claude 3.5 Models
// =============================================================================

define_model!(
/// Claude 3.5 Haiku - Fast, efficient model
Claude3_5Haiku {
display_name: "Claude 3.5 Haiku",
bedrock_id: "anthropic.claude-3-5-haiku-20241022-v1:0",
context_tokens: 200_000,
output_tokens: 8_192,
anthropic_id: "claude-3-5-haiku-20241022"
}
);

define_model!(
/// Claude 3.5 Sonnet v1 - First Claude 3.5 Sonnet release
Claude3_5SonnetV1 {
display_name: "Claude 3.5 Sonnet v1",
bedrock_id: "anthropic.claude-3-5-sonnet-20240620-v1:0",
context_tokens: 200_000,
output_tokens: 8_192,
anthropic_id: "claude-3-5-sonnet-20240620"
}
);

define_model!(
/// Claude 3.5 Sonnet v2 - Updated Claude 3.5 Sonnet with improvements
Claude3_5SonnetV2 {
display_name: "Claude 3.5 Sonnet v2",
bedrock_id: "anthropic.claude-3-5-sonnet-20241022-v2:0",
context_tokens: 200_000,
output_tokens: 8_192,
anthropic_id: "claude-3-5-sonnet-20241022"
}
);

// =============================================================================
// Claude 3.7 Models
// =============================================================================

define_model!(
/// Claude 3.7 Sonnet - Latest Claude 3.x with improved reasoning
Claude3_7Sonnet {
Expand Down
20 changes: 20 additions & 0 deletions mixtape-core/src/models/cohere.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@

use super::define_model;

define_model!(
/// Command R - Scalable model for RAG and tool use
CohereCommandR {
display_name: "Command R",
bedrock_id: "cohere.command-r-v1:0",
context_tokens: 128_000,
output_tokens: 4_096
}
);

define_model!(
/// Command R+ - Enterprise RAG and multi-step tool use model
CohereCommandRPlus {
Expand All @@ -11,3 +21,13 @@ define_model!(
output_tokens: 4_096
}
);

define_model!(
/// Command R+ v2 - Updated enterprise RAG model
CohereCommandRPlusV2 {
display_name: "Command R+ v2",
bedrock_id: "cohere.command-r-plus-v2:0",
context_tokens: 128_000,
output_tokens: 4_096
}
);
10 changes: 10 additions & 0 deletions mixtape-core/src/models/glm.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,13 @@ define_model!(
output_tokens: 131_072
}
);

define_model!(
/// GLM 5 - Next-gen frontier model from Z.AI
GLM5 {
display_name: "GLM 5",
bedrock_id: "zai.glm-5",
context_tokens: 202_752,
output_tokens: 131_072
}
);
24 changes: 24 additions & 0 deletions mixtape-core/src/models/llama.rs
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,30 @@ define_model!(
}
);

// =============================================================================
// Llama 3 Models
// =============================================================================

define_model!(
/// Llama 3 70B Instruct - Large instruction-tuned model
Llama3_70B {
display_name: "Llama 3 70B",
bedrock_id: "meta.llama3-70b-instruct-v1:0",
context_tokens: 8_000,
output_tokens: 2_048
}
);

define_model!(
/// Llama 3 8B Instruct - Compact instruction-tuned model
Llama3_8B {
display_name: "Llama 3 8B",
bedrock_id: "meta.llama3-8b-instruct-v1:0",
context_tokens: 8_000,
output_tokens: 2_048
}
);

// =============================================================================
// Llama 3.1 Models
// =============================================================================
Expand Down
20 changes: 20 additions & 0 deletions mixtape-core/src/models/minimax.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,23 @@ define_model!(
output_tokens: 131_072
}
);

define_model!(
/// MiniMax M2 - MoE model from MiniMax
MiniMaxM2 {
display_name: "MiniMax M2",
bedrock_id: "minimax.minimax-m2",
context_tokens: 204_800,
output_tokens: 131_072
}
);

define_model!(
/// MiniMax M2.5 - Updated MoE model from MiniMax
MiniMaxM2_5 {
display_name: "MiniMax M2.5",
bedrock_id: "minimax.minimax-m2.5",
context_tokens: 204_800,
output_tokens: 131_072
}
);
30 changes: 30 additions & 0 deletions mixtape-core/src/models/mistral.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,26 @@

use super::define_model;

define_model!(
/// Mistral Large 2 - Previous generation flagship model
MistralLarge2 {
display_name: "Mistral Large 2",
bedrock_id: "mistral.mistral-large-2407-v1:0",
context_tokens: 128_000,
output_tokens: 8_192
}
);

define_model!(
/// Mistral Small - Compact instruction model
MistralSmall {
display_name: "Mistral Small",
bedrock_id: "mistral.mistral-small-2402-v1:0",
context_tokens: 32_000,
output_tokens: 8_192
}
);

define_model!(
/// Mistral Large 3 - Flagship 675B MoE model with 41B active parameters
MistralLarge3 {
Expand Down Expand Up @@ -81,3 +101,13 @@ define_model!(
output_tokens: 8_192
}
);

define_model!(
/// Devstral 2 135B - Code-focused instruction model
Devstral2_135B {
display_name: "Devstral 2 135B",
bedrock_id: "mistral.devstral-2-135b-instruct",
context_tokens: 256_000,
output_tokens: 8_192
}
);
Loading
Loading