Khi vận hành một hệ thống API AI trung gian ở quy mô production với hàng triệu request mỗi ngày, việc giám sát hiệu suất không còn là tùy chọn mà là yêu cầu bắt buộc. Trong bài viết này, tôi sẽ chia sẻ cách xây dựng hệ thống monitoring toàn diện cho HolySheep AI — nền tảng trung gian API AI hàng đầu với độ trễ dưới 50ms và chi phí tiết kiệm đến 85% so với API gốc.

Tại sao giám sát API trung gian lại quan trọng?

Trong kinh nghiệm 5 năm vận hành hệ thống API AI, tôi đã chứng kiến nhiều team gặp khó khăn vì thiếu visibility vào production. Một request bị timeout 30 giây có thể phá vỡ cả user flow, trong khi error rate tăng 1% có thể gây thiệt hại hàng nghìn đô la. Với HolySheep AI, việc đăng ký tại đây để nhận tín dụng miễn phí khi bắt đầu sẽ giúp bạn có ngân sách để test kỹ trước khi deploy.

Ba chỉ số vàng trong giám sát API AI

Xây dựng hệ thống Monitoring với HolySheep AI

Đầu tiên, chúng ta cần một client với khả năng tracking metrics. Dưới đây là implementation production-ready với các tính năng: retry logic, circuit breaker pattern, và real-time metrics collection.

import asyncio
import aiohttp
import time
import logging
from dataclasses import dataclass, field
from typing import Optional, Dict, List
from collections import defaultdict, deque
from datetime import datetime
import statistics

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

@dataclass
class MetricsCollector:
    """Bộ thu thập metrics cho API AI trung gian - HolySheep AI"""
    
    response_times: deque = field(default_factory=lambda: deque(maxlen=10000))
    error_count: int = 0
    success_count: int = 0
    total_tokens: int = 0
    request_count: int = 0
    _lock: asyncio.Lock = field(default_factory=asyncio.Lock)
    
    # Pricing 2026 (USD per 1M tokens)
    PRICING = {
        "gpt-4.1": 8.0,
        "claude-sonnet-4.5": 15.0,
        "gemini-2.5-flash": 2.50,
        "deepseek-v3.2": 0.42,
    }
    
    async def record_request(
        self,
        duration_ms: float,
        status_code: int,
        tokens_used: int = 0,
        model: str = "gpt-4.1"
    ):
        """Ghi nhận một request với các metrics"""
        async with self._lock:
            self.response_times.append(duration_ms)
            self.request_count += 1
            self.total_tokens += tokens_used
            
            if 200 <= status_code < 300:
                self.success_count += 1
            else:
                self.error_count += 1
    
    def get_percentile(self, percentile: float) -> float:
        """Tính percentile của response time"""
        if not self.response_times:
            return 0.0
        sorted_times = sorted(self.response_times)
        index = int(len(sorted_times) * percentile / 100)
        return sorted_times[min(index, len(sorted_times) - 1)]
    
    def get_summary(self) -> Dict:
        """Lấy tổng hợp metrics hiện tại"""
        total = self.success_count + self.error_count
        error_rate = (self.error_count / total * 100) if total > 0 else 0
        
        # Tính chi phí
        cost_usd = self.total_tokens / 1_000_000 * self.PRICING.get("gpt-4.1", 8.0)
        cost_cny = cost_usd * 7.2  # ¥1 = $1 theo tỷ giá HolySheep
        
        return {
            "total_requests": self.request_count,
            "success_count": self.success_count,
            "error_count": self.error_count,
            "error_rate": f"{error_rate:.2f}%",
            "total_tokens": self.total_tokens,
            "cost_usd": f"${cost_usd:.2f}",
            "cost_cny": f"¥{cost_cny:.2f}",
            "p50_ms": f"{self.get_percentile(50):.2f}",
            "p95_ms": f"{self.get_percentile(95):.2f}",
            "p99_ms": f"{self.get_percentile(99):.2f}",
            "avg_ms": f"{statistics.mean(self.response_times):.2f}" if self.response_times else "0.00",
        }


class HolySheepAIClient:
    """Production client cho HolySheep AI với monitoring tích hợp"""
    
    def __init__(
        self,
        api_key: str,
        base_url: str = "https://api.holysheep.ai/v1",
        max_retries: int = 3,
        timeout: int = 30
    ):
        self.api_key = api_key
        self.base_url = base_url
        self.max_retries = max_retries
        self.timeout = timeout
        self.metrics = MetricsCollector()
        self._session: Optional[aiohttp.ClientSession] = None
    
    async def __aenter__(self):
        self._session = aiohttp.ClientSession(
            headers={
                "Authorization": f"Bearer {self.api_key}",
                "Content-Type": "application/json"
            },
            timeout=aiohttp.ClientTimeout(total=self.timeout)
        )
        return self
    
    async def __aexit__(self, *args):
        if self._session:
            await self._session.close()
    
    async def chat_completion(
        self,
        model: str,
        messages: List[Dict],
        temperature: float = 0.7,
        max_tokens: int = 2048
    ) -> Dict:
        """Gửi request đến HolySheep AI với retry logic và metrics"""
        
        url = f"{self.base_url}/chat/completions"
        payload = {
            "model": model,
            "messages": messages,
            "temperature": temperature,
            "max_tokens": max_tokens
        }
        
        last_error = None
        for attempt in range(self.max_retries):
            start_time = time.perf_counter()
            
            try:
                async with self._session.post(url, json=payload) as response:
                    duration_ms = (time.perf_counter() - start_time) * 1000
                    
                    if response.status == 429:
                        # Rate limit - exponential backoff
                        await asyncio.sleep(2 ** attempt)
                        last_error = "Rate limited"
                        continue
                    
                    data = await response.json()
                    tokens_used = data.get("usage", {}).get("total_tokens", 0)
                    
                    await self.metrics.record_request(
                        duration_ms=duration_ms,
                        status_code=response.status,
                        tokens_used=tokens_used,
                        model=model
                    )
                    
                    if response.status >= 400:
                        raise Exception(f"API Error {response.status}: {data.get('error', {}).get('message', 'Unknown')}")
                    
                    return data
                    
            except asyncio.TimeoutError:
                duration_ms = (time.perf_counter() - start_time) * 1000
                await self.metrics.record_request(duration_ms, 408)
                last_error = "Timeout"
                await asyncio.sleep(1)
                
            except Exception as e:
                duration_ms = (time.perf_counter() - start_time) * 1000
                await self.metrics.record_request(duration_ms, 500)
                last_error = str(e)
        
        raise Exception(f"Request failed after {self.max_retries} retries: {last_error}")

Dashboard trực quan hóa với Real-time Metrics

Để có cái nhìn trực quan về hiệu suất, chúng ta cần một dashboard có thể update real-time. Dưới đây là implementation với terminal output định dạng đẹp, có thể dễ dàng adapt sang web dashboard.

import asyncio
import sys
from typing import List, Dict
from datetime import datetime, timedelta

class PerformanceDashboard:
    """Dashboard trực quan hóa metrics cho API monitoring"""
    
    # ANSI color codes
    GREEN = "\033[92m"
    YELLOW = "\033[93m"
    RED = "\033[91m"
    BLUE = "\033[94m"
    BOLD = "\033[1m"
    RESET = "\033[0m"
    
    def __init__(self):
        self.history: List[Dict] = []
        self.alert_thresholds = {
            "p99_ms": 2000,      # Alert nếu P99 > 2s
            "error_rate": 5.0,   # Alert nếu error rate > 5%
            "latency_ms": 1000   # Alert nếu avg > 1s
        }
    
    def print_header(self):
        """In header của dashboard"""
        print(f"\n{self.BOLD}{self.BLUE}{'='*80}{self.RESET}")
        print(f"{self.BOLD}{self.BLUE}  HOLYSHEEP AI PERFORMANCE DASHBOARD{self.RESET}")
        print(f"{self.BOLD}{self.BLUE}  API Trung Gian - Giám sát Real-time{self.RESET}")
        print(f"{self.BOLD}{self.BLUE}{'='*80}{self.RESET}\n")
    
    def print_metrics_grid(self, metrics: Dict, timestamp: str):
        """In metrics dạng lưới đẹp mắt"""
        
        # Determine status colors
        p99 = float(metrics["p99_ms"].replace("ms", ""))
        avg = float(metrics["avg_ms"].replace("ms", ""))
        error_rate = float(metrics["error_rate"].replace("%", ""))
        
        def colorize_latency(value: float, threshold: float) -> str:
            if value < threshold * 0.5:
                return f"{self.GREEN}{value:.2f}ms{self.RESET}"
            elif value < threshold:
                return f"{self.YELLOW}{value:.2f}ms{self.RESET}"
            return f"{self.RED}{value:.2f}ms{self.RESET}"
        
        def colorize_error(value: float) -> str:
            if value < 1.0:
                return f"{self.GREEN}{value:.2f}%{self.RESET}"
            elif value < 3.0:
                return f"{self.YELLOW}{value:.2f}%{self.RESET}"
            return f"{self.RED}{value:.2f}%{self.RESET}"
        
        print(f"  ⏰ {timestamp} | Requests: {metrics['total_requests']:,}")
        print(f"\n  ┌{'─'*35} ┌{'─'*20} ┌{'─'*20}┐")
        print(f"  │ {'LATENCY':<31} │ {'THROUGHPUT':<16} │ {'COST':<16}│")
        print(f"  ├{'─'*35} ┼{'─'*20} ┼{'─'*20}┤")
        
        latency_info = f"P50: {colorize_latency(float(metrics['p50_ms']), 500)}"
        latency_info += f" | P95: {colorize_latency(float(metrics['p95_ms']), 1000)}"
        latency_info += f" | P99: {colorize_latency(p99, 2000)}"
        
        throughput_info = f"RPS: {float(metrics['total_requests']) / 60:.1f}"
        throughput_info += f" | Tokens: {int(metrics['total_tokens']):,}"
        
        cost_info = f"{metrics['cost_usd']} (~{metrics['cost_cny']})"
        
        print(f"  │ {latency_info:<33} │ {throughput_info:<18} │ {cost_info:<18}│")
        print(f"  └{'─'*35} ┴{'─'*20} ┴{'─'*20}┘")
        
        print(f"\n  📊 Status:")
        print(f"     • Success: {self.GREEN}{metrics['success_count']:,}{self.RESET} requests")
        print(f"     • Errors: {colorize_error(error_rate)} ({metrics['error_count']:,} requests)")
        print(f"     • Avg Response: {colorize_latency(avg, 500)}")
    
    def check_alerts(self, metrics: Dict) -> List[str]:
        """Kiểm tra và trả về các alert nếu có"""
        alerts = []
        
        p99 = float(metrics["p99_ms"])
        error_rate = float(metrics["error_rate"])
        avg = float(metrics["avg_ms"])
        
        if p99 > self.alert_thresholds["p99_ms"]:
            alerts.append(f"{self.RED}⚠️  CRITICAL: P99 latency {p99:.0f}ms vượt ngưỡng {self.alert_thresholds['p99_ms']}ms{self.RESET}")
        
        if error_rate > self.alert_thresholds["error_rate"]:
            alerts.append(f"{self.RED}⚠️  CRITICAL: Error rate {error_rate:.2f}% vượt ngưỡng {self.alert_thresholds['error_rate']}%{self.RESET}")
        
        if avg > self.alert_thresholds["latency_ms"]:
            alerts.append(f"{self.YELLOW}⚡ WARNING: Avg latency {avg:.0f}ms cao hơn SLA{self.RESET}")
        
        return alerts
    
    def render(self, metrics: Dict):
        """Render toàn bộ dashboard"""
        # Clear screen và in header
        print("\033[2J\033[H", end="")
        self.print_header()
        
        # In metrics
        timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        self.print_metrics_grid(metrics, timestamp)
        
        # In alerts nếu có
        alerts = self.check_alerts(metrics)
        if alerts:
            print(f"\n  {self.BOLD}ALERTS:{self.RESET}")
            for alert in alerts:
                print(f"     {alert}")
        
        # In pricing info cho HolySheep
        print(f"\n  💰 HolySheep AI Pricing (2026):")
        print(f"     • GPT-4.1: $8.00/1M tokens | Claude Sonnet 4.5: $15.00/1M tokens")
        print(f"     • Gemini 2.5 Flash: $2.50/1M tokens | DeepSeek V3.2: $0.42/1M tokens")
        print(f"     • Tỷ giá: ¥1 = $1 (Tiết kiệm 85%+)")
        
        print(f"\n{self.BLUE}{'─'*80}{self.RESET}\n")


async def monitor_loop(client: HolySheepAIClient, interval: int = 10):
    """Main monitoring loop"""
    dashboard = PerformanceDashboard()
    
    # Test requests để tạo metrics
    test_messages = [
        {"role": "user", "content": "Explain quantum computing in 50 words"}
    ]
    
    dashboard.print_header()
    print(f"  🚀 Bắt đầu monitoring HolySheep AI...")
    print(f"  ⏱️  Update mỗi {interval} giây | Nhấn Ctrl+C để dừng\n")
    
    iteration = 0
    try:
        while True:
            # Gửi test request để demo
            try:
                response = await client.chat_completion(
                    model="gpt-4.1",
                    messages=test_messages,
                    max_tokens=100
                )
                logger.info(f"Response: {response.get('choices', [{}])[0].get('message', {}).get('content', '')[:50]}...")
            except Exception as e:
                logger.error(f"Request failed: {e}")
            
            # Render dashboard với metrics hiện tại
            metrics = client.metrics.get_summary()
            dashboard.render(metrics)
            
            await asyncio.sleep(interval)
            iteration += 1
            
    except KeyboardInterrupt:
        print(f"\n\n  👋 Monitoring stopped. Total iterations: {iteration}")
        print(f"\n  📈 Final Summary:")
        final = client.metrics.get_summary()
        for key, value in final.items():
            print(f"     • {key}: {value}")


Demo usage

async def demo(): """Demo với API key test""" api_key = "YOUR_HOLYSHEEP_API_KEY" async with HolySheepAIClient(api_key) as client: # Chạy monitoring trong 60 giây monitor_task = asyncio.create_task(monitor_loop(client, interval=5)) # Đợi hoặc cho đến khi user interrupt try: await asyncio.wait_for(monitor_task, timeout=60) except asyncio.TimeoutError: monitor_task.cancel() if __name__ == "__main__": asyncio.run(demo())

Benchmark thực tế với HolySheep AI

Để đảm bảo dữ liệu benchmark có thể xác minh, tôi đã chạy test trên HolySheep AI với 1000 request liên tiếp. Kết quả benchmark dưới đây được đo bằng thời gian thực tế.

import asyncio
import aiohttp
import time
import statistics
from dataclasses import dataclass
from typing import List, Tuple

@dataclass
class BenchmarkResult:
    """Kết quả benchmark cho API"""
    model: str
    total_requests: int
    successful: int
    failed: int
    latencies: List[float]
    tokens_per_second: float
    
    @property
    def p50(self) -> float:
        return self._percentile(50)
    
    @property
    def p95(self) -> float:
        return self._percentile(95)
    
    @property
    def p99(self) -> float:
        return self._percentile(99)
    
    @property
    def avg_latency(self) -> float:
        return statistics.mean(self.latencies)
    
    def _percentile(self, p: float) -> float:
        sorted_latencies = sorted(self.latencies)
        index = int(len(sorted_latencies) * p / 100)
        return sorted_latencies[min(index, len(sorted_latencies) - 1)]
    
    def to_dict(self) -> dict:
        return {
            "model": self.model,
            "total_requests": self.total_requests,
            "successful": self.successful,
            "failed": self.failed,
            "success_rate": f"{(self.successful/self.total_requests)*100:.2f}%",
            "avg_latency_ms": f"{self.avg_latency:.2f}",
            "p50_ms": f"{self.p50:.2f}",
            "p95_ms": f"{self.p95:.2f}",
            "p99_ms": f"{self.p99:.2f}",
            "tokens_per_second": f"{self.tokens_per_second:.2f}",
        }


async def benchmark_model(
    api_key: str,
    model: str,
    num_requests: int = 1000,
    concurrency: int = 50
) -> BenchmarkResult:
    """Benchmark một model với số request và concurrency cụ thể"""
    
    latencies = []
    successful = 0
    failed = 0
    total_tokens = 0
    
    url = "https://api.holysheep.ai/v1/chat/completions"
    headers = {
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json"
    }
    payload = {
        "model": model,
        "messages": [{"role": "user", "content": "Hello, explain AI in 20 words"}],
        "max_tokens": 50,
        "temperature": 0.7
    }
    
    async def single_request(session: aiohttp.ClientSession):
        nonlocal successful, failed, total_tokens
        start = time.perf_counter()
        try:
            async with session.post(url, json=payload) as response:
                duration = (time.perf_counter() - start) * 1000
                latencies.append(duration)
                
                if response.status == 200:
                    data = await response.json()
                    tokens = data.get("usage", {}).get("total_tokens", 0)
                    total_tokens += tokens
                    successful += 1
                else:
                    failed += 1
        except Exception:
            latencies.append((time.perf_counter() - start) * 1000)
            failed += 1
    
    connector = aiohttp.TCPConnector(limit=concurrency)
    timeout = aiohttp.ClientTimeout(total=30)
    
    async with aiohttp.ClientSession(headers=headers, connector=connector, timeout=timeout) as session:
        # Chạy requests theo batch để kiểm soát concurrency
        for i in range(0, num_requests, concurrency):
            batch_size = min(concurrency, num_requests - i)
            tasks = [single_request(session) for _ in range(batch_size)]
            await asyncio.gather(*tasks)
    
    # Tính tokens per second
    total_time = sum(latencies) / 1000  # convert to seconds
    tokens_per_second = total_tokens / total_time if total_time > 0 else 0
    
    return BenchmarkResult(
        model=model,
        total_requests=num_requests,
        successful=successful,
        failed=failed,
        latencies=latencies,
        tokens_per_second=tokens_per_second
    )


async def run_full_benchmark():
    """Chạy benchmark toàn diện trên HolySheep AI"""
    
    api_key = "YOUR_HOLYSHEEP_API_KEY"
    
    models = [
        "gpt-4.1",
        "claude-sonnet-4.5", 
        "gemini-2.5-flash",
        "deepseek-v3.2"
    ]
    
    results = []
    
    print("=" * 70)
    print("HOLYSHEEP AI BENCHMARK - Performance Verification")
    print("=" * 70)
    print(f"Test Configuration: 1000 requests, 50 concurrent connections")
    print(f"Target: https://api.holysheep.ai/v1")
    print("=" * 70)
    
    for model in models:
        print(f"\n📊 Benchmarking {model}...")
        start_time = time.time()
        
        result = await benchmark_model(api_key, model, num_requests=1000, concurrency=50)
        elapsed = time.time() - start_time
        
        results.append(result)
        
        print(f"   ✅ Completed in {elapsed:.2f}s")
        print(f"   📈 Avg Latency: {result.avg_latency:.2f}ms")
        print(f"   📊 P50: {result.p50:.2f}ms | P95: {result.p95:.2f}ms | P99: {result.p99:.2f}ms")
        print(f"   ✓ Success Rate: {result.successful}/{result.total_requests}")
    
    # In bảng tổng hợp
    print("\n" + "=" * 70)
    print("BENCHMARK SUMMARY - HolySheep AI Performance")
    print("=" * 70)
    print(f"{'Model':<25} {'Avg MS':<12} {'P95 MS':<12} {'P99 MS':<12} {'Success':<12} {'TPS':<12}")
    print("-" * 70)
    
    for r in results:
        print(f"{r.model:<25} {r.avg_latency:<12.2f} {r.p95:<12.2f} {r.p99:<12.2f} {r.successful:<12} {r.tokens_per_second:<12.2f}")
    
    print("=" * 70)
    print("\n💰 Pricing Reference (2026):")
    print("   • GPT-4.1: $8.00/1M tokens | Claude Sonnet 4.5: $15.00/1M tokens")
    print("   • Gemini 2.5 Flash: $2.50/1M tokens | DeepSeek V3.2: $0.42/1M tokens")
    print("   • Tỷ giá ưu đãi: ¥1 = $1 (Tiết kiệm 85%+ so với API gốc)")
    print("\n🎯 HolySheep AI cam kết latency dưới 50ms cho hầu hết request")


if __name__ == "__main__":
    asyncio.run(run_full_benchmark())

Lỗi thường gặp và cách khắc phục

1. Lỗi 401 Unauthorized - Authentication Failed

Mô tả lỗi: Khi sử dụng API key không hợp lệ hoặc chưa được kích hoạt, bạn sẽ nhận được response với status code 401.

# ❌ Code gây lỗi
headers = {
    "Authorization": "Bearer YOUR_API_KEY"  # Thiếu check null
}
response = await session.post(url, headers=headers, json=payload)

✅ Fix: Validate API key trước khi sử dụng

class HolySheepAuthError(Exception): """Custom exception cho authentication errors""" pass def validate_api_key(api_key: str) -> bool: """Validate format của API key""" if not api_key: raise HolySheepAuthError("API key không được để trống") if len(api_key) < 32: raise HolySheepAuthError(f"API key có độ dài không hợp lệ: {len(api_key)} ký tự") if api_key.startswith("sk-") or api_key.startswith("hs_"): return True raise HolySheepAuthError("API key format không đúng. Kiểm tra lại tại https://www.holysheep.ai/register")

Usage

api_key = "YOUR_HOLYSHEEP_API_KEY" validate_api_key(api_key) # Ném exception nếu không hợp lệ headers = { "Authorization": f"Bearer {api_key}", "Content-Type": "application/json" }

2. Lỗi 429 Rate Limit - Quá nhiều request

Mô tả lỗi: Khi vượt quá rate limit cho phép, API trả về 429 Too Many Requests. Đây là vấn đề phổ biến khi scale hệ thống.

import asyncio
import time
from typing import Optional

class RateLimitHandler:
    """Xử lý rate limiting với exponential backoff"""
    
    def __init__(self, max_retries: int = 5, base_delay: float = 1.0):
        self.max_retries = max_retries
        self.base_delay = base_delay
        self.retry_count = {}
    
    async def execute_with_retry(
        self,
        func,
        *args,
        key: str = "default",
        **kwargs
    ):
        """Execute function với retry logic cho rate limit"""
        
        for attempt in range(self.max_retries):
            try:
                result = await func(*args, **kwargs)
                # Reset retry count khi thành công
                self.retry_count[key] = 0
                return result
                
            except Exception as e:
                error_str = str(e)
                
                if "429" in error_str or "rate limit" in error_str.lower():
                    # Exponential backoff với jitter
                    delay = self.base_delay * (2 ** attempt)
                    jitter = delay * 0.1 * (time.time() % 1)
                    total_delay = delay + jitter
                    
                    self.retry_count[key] = self.retry_count.get(key, 0) + 1
                    
                    print(f"⚠️ Rate limit hit for {key}, retry {attempt + 1}/{self.max_retries} "
                          f"after {total_delay:.2f}s")
                    
                    if attempt < self.max_retries - 1:
                        await asyncio.sleep(total_delay)
                        continue
                
                # Nếu không phải rate limit hoặc đã hết retries
                raise
        
        raise Exception(f"Failed after {self.max_retries} retries due to rate limiting")

Usage

async def call_holysheep_api(session, payload, headers): url = "https://api.holysheep.ai/v1/chat/completions" async with session.post(url, json=payload, headers=headers) as response: if response.status == 429: raise Exception("429: Rate limit exceeded") return await response.json() rate_handler = RateLimitHandler(max_retries=5, base_delay=2.0) result = await rate_handler.execute_with_retry( call_holysheep_api, session, payload, headers, key="chat_completion" )

3. Lỗi Timeout - Request treo quá lâu

Mô tả lỗi: Khi model AI mất quá nhiều thời gian để generate response (đặc biệt với long context), request có thể bị timeout mặc dù model vẫn đang xử lý.

import asyncio
from dataclasses import dataclass
from typing import Optional, Callable, Any
import logging

logger = logging.getLogger(__name__)

@dataclass
class TimeoutConfig:
    """Cấu hình timeout linh hoạt theo loại request"""
    connect_timeout: float = 10.0    # Timeout kết nối ban đầu
    read_timeout: float = 60.0       # Timeout đọc response
    total_timeout: float = 120.0     # Timeout tổng cộng
    
    @classmethod
    def for_model(cls, model: str) -> "TimeoutConfig":
        """Factory method để tạo timeout config phù hợp với model"""
        configs = {
            "gpt-4.1": cls(connect_timeout=10, read_timeout=60, total_timeout=120),
            "claude-sonnet-4.5": cls(connect_timeout=15, read_timeout=90, total_timeout=180),
            "gemini-2.5-flash": cls(connect_timeout=5, read_timeout=30, total_timeout=60),
            "deepseek-v3.2": cls(connect_timeout=10, read_timeout=60, total_timeout=120),
        }
        return configs.get(model, cls())

async def smart_timeout_request(
    session: aiohttp.ClientSession,
    url: str,
    payload: dict,
    headers: dict,
    model: str = "gpt-4.1"
) -> dict:
    """
    Thực hiện request với timeout thông minh