feat: init

This commit is contained in:
zhenyi
2026-06-07 11:30:56 +08:00
commit 563381c1ca
361 changed files with 41327 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
use crate::models::common::{AiFeature, AiModelType, Modality, PricingUnit, Provider};
use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
use uuid::Uuid;
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, sqlx::FromRow)]
pub struct AiModel {
pub id: Uuid,
pub provider: Provider,
pub model_id: String,
pub name: String,
pub description: Option<String>,
pub model_type: AiModelType,
pub family: Option<String>,
pub version: Option<String>,
pub context_window: Option<i32>,
pub max_output_tokens: Option<i32>,
pub input_modalities: Vec<Modality>,
pub output_modalities: Vec<Modality>,
pub supported_features: Vec<AiFeature>,
pub pricing_unit: Option<PricingUnit>,
pub input_price_per_unit: Option<String>,
pub output_price_per_unit: Option<String>,
pub enabled: bool,
pub deprecated: bool,
pub released_at: Option<DateTime<Utc>>,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
pub deleted_at: Option<DateTime<Utc>>,
}