export interface Benchmark { name: string; score: number; source?: string; date?: string; } export interface DeployMethod { method: string; cmd: string; note?: string; link?: string; compatible?: boolean; } export interface HardwareRequirements { gpu_memory: string; cpu_ram: string; disk: string; inference_hardware: string[]; mobile: boolean; raspberry_pi: boolean; } export interface Model { id: string; name: string; org: string; task: string; tags: string[]; description: string; chinese_intro: string; license: string; license_url?: string; commercial_use: "yes" | "no" | "limited"; model_size: string; parameters: number; quantization: string[]; hardware_requirements: HardwareRequirements; language_support: string[]; chinese_finetunes?: string[]; benchmarks: Benchmark[]; deploy_methods: DeployMethod[]; hf_url: string; demo_url?: string; related_models?: string[]; last_updated: string; last_refreshed?: string; // ── 3-tier model pool (v58) ── tier?: number; // 1=core 2=tail 3=archive // ── 2.0 新增 ── downloads: number; likes: number; created_at: string; library_name: string; architecture: string; context_length: number; use_cases: string[]; chinese_tags: string[]; strengths: string[]; limitations: string[]; // ── 3.0 新增 ── one_liner?: string; rating?: number; rating_breakdown?: { chinese: number; reasoning: number; deployment: number; ecosystem: number; }; chinese_score?: number; deploy_difficulty?: number; not_suitable_for?: string[]; chinese_review?: string; deploy_tutorial?: string; alternatives?: string[]; search_intent_faqs?: SearchIntentFaq[]; // ── OMS V1 新增 ── oms_score?: number; oms_grade?: "S" | "A" | "B" | "C" | "D"; oms_percentile?: number; oms_breakdown?: { comprehensive: number; coding: number; chinese: number; deployment: number; license: number; }; } export interface SearchIntentFaq { question: string; answer: string; source_query: string; } export type TaskType = | "all" | "text-generation" | "image-generation" | "automatic-speech-recognition" | "text-to-speech" | "image-text-to-text" | "feature-extraction" | "text-classification" | "question-answering" | "machine-translation" | "summarization" | "image-classification" | "object-detection" | "image-segmentation" | "audio-classification" | "token-classification"; export type UseCaseType = | "all" | "coding" | "customer-service" | "translation" | "education" | "medical" | "legal" | "finance" | "content-creation" | "research" | "gaming" | "office" | "design" | "data-analysis" | "autonomous-driving" | "robotics"; export type HardwareTier = "全部" | "树莓派/手机" | "个人电脑" | "服务器GPU"; export type LicenseType = "全部" | "完全开源可商用" | "需授权/有条件" | "仅研究/非商用"; export type ContextLengthTier = "全部" | "4K以下" | "4K-32K" | "32K-128K" | "128K+"; export interface Filters { task: TaskType; useCase: UseCaseType; hardware: HardwareTier; license: LicenseType; contextLength: ContextLengthTier; chineseOnly: boolean; }