| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- {
- "after": "After:",
- "before": "Before:",
- "bestPracticesConcurrent": "• Concurrent Control: Set session concurrency by provider API limits",
- "bestPracticesCost": "• Cost Multiplier: Official=1.0, Self-hosted can be 0.8-1.2",
- "bestPracticesLimit": "• Limit Settings: Set 5h, 7d, 30d limits based on budget",
- "bestPracticesPriority": "• Priority Settings: Core providers=0, Backup=1-3",
- "bestPracticesTitle": "Best Practices",
- "bestPracticesWeight": "• Weight Config: Set weight by capacity (higher capacity = higher weight)",
- "circuitBreaker": "Circuit Breaker Check",
- "circuitBreakerOpen": "A filtered, remaining: B, C, D",
- "circuitBreakerRecovery": "A automatically recovers to half-open after 60 seconds",
- "circuitBreakerRecovery5h": "Auto recovery after 5-hour sliding window",
- "costOptimize": "2. Cost Optimization: Within same priority, lower cost multiplier has higher probability",
- "costSort": "Cost-based Sorting Fallback",
- "costSortExample": "All providers: A (default), B (premium), C (premium), D (economy)",
- "costSortProb": "Lower cost C has higher selection probability",
- "costSortResult": "After sorting: C (0.8x), A (1.0x)",
- "decision": "Decision:",
- "group": "User Group Filtering",
- "groupDesc": "If user has provider group specified, system prioritizes selection from that group",
- "groupDowngrade": "Log warning and select from global provider pool",
- "groupExample": "User configured providerGroup = 'premium'",
- "groupFallback": "If no available providers in user group, fallback to all providers",
- "groupFiltered": "Select only from A and C, B and D filtered",
- "groupUnavailable": "All providers in user group 'vip' are disabled or over limit",
- "health": "Health Filtering (Circuit Breaker + Rate Limit)",
- "healthCheck": "Check if B is enabled and healthy",
- "healthCheckAmountLimit": "Check if spending exceeds limits (5h, 7d, 30d)",
- "healthCheckAmountLimitExample": "Provider B has $10 limit (5h), $9.8 consumed",
- "healthCheckCircuit": "Provider A failed 5 times, circuit breaker: open",
- "healthCheckConcurrent": "Check if current active session count exceeds limit",
- "healthCheckConcurrentExample": "Provider C limit 2, currently 2 active sessions",
- "healthFilter": "3. Health Filtering: Auto skip circuit-broken or over-limit providers",
- "healthFiltered": "B filtered (near limit), remaining: C, D",
- "healthFiltered2": "C filtered (full), remaining: D",
- "history": "Check Request History",
- "historyDesc": "Query providers used by this API Key in last 10 seconds",
- "priority": "Priority Layering",
- "priorityExample": "4 enabled providers with different priorities",
- "priorityFirst": "1. Priority First: Select only from highest priority (lowest number) providers",
- "priorityResult": "Filtered to highest priority (0) providers: A, C",
- "priorityStep": "System first filters by priority, selecting only from highest priority providers",
- "randomResult": "Finally selected C randomly",
- "randomSelect": "Weighted Random",
- "reset": "Manual Circuit Breaker Reset",
- "resetSuccess": "Circuit breaker reset",
- "scenario1Desc": "System first filters by priority, selecting only from highest priority providers",
- "scenario1Step1": "Initial State",
- "scenario1Step1After": "Filtered to highest priority (0) providers: A, C",
- "scenario1Step1Before": "Provider A (priority 0), B (priority 1), C (priority 0), D (priority 2)",
- "scenario1Step1Decision": "Select only from A and C, B and D filtered out",
- "scenario1Step1Desc": "4 enabled providers with different priorities",
- "scenario1Step2": "Cost Sorting",
- "scenario1Step2After": "After sorting: C (0.8x), A (1.0x)",
- "scenario1Step2Before": "A (cost 1.0x), C (cost 0.8x)",
- "scenario1Step2Decision": "Lower cost C has higher selection probability",
- "scenario1Step2Desc": "Within same priority, sort by cost multiplier low to high",
- "scenario1Step3": "Weighted Random",
- "scenario1Step3After": "C has 75% probability, A has 25%",
- "scenario1Step3Before": "C (weight 3), A (weight 1)",
- "scenario1Step3Decision": "Finally randomly selected C",
- "scenario1Step3Desc": "Use weight for random selection, higher weight = higher probability",
- "scenario1Title": "Priority Layering",
- "scenario2Desc": "If user has provider group specified, system prioritizes selection from that group",
- "scenario2Step1": "Check User Group",
- "scenario2Step1After": "Filtered to 'premium' group: B, C",
- "scenario2Step1Before": "All providers: A (default), B (premium), C (premium), D (economy)",
- "scenario2Step1Decision": "Select only from B and C",
- "scenario2Step1Desc": "User configured providerGroup = 'premium'",
- "scenario2Step2": "Group Fallback",
- "scenario2Step2After": "Fallback to all enabled providers: A, B, C, D",
- "scenario2Step2Before": "All providers in user group 'vip' disabled or over limit",
- "scenario2Step2Decision": "Log warning and select from global provider pool",
- "scenario2Step2Desc": "If no available providers in user group, fallback to all providers",
- "scenario2Title": "User Group Filtering",
- "scenario3Desc": "System auto filters circuit-broken or over-limit providers",
- "scenario3Step1": "Circuit Breaker Check",
- "scenario3Step1After": "A filtered, remaining: B, C, D",
- "scenario3Step1Before": "Provider A failed 5 times, circuit breaker: open",
- "scenario3Step1Decision": "A auto recovers to half-open after 60s",
- "scenario3Step1Desc": "Circuit breaker opens after 5 consecutive failures, unavailable for 60s",
- "scenario3Step2": "Amount Rate Limit",
- "scenario3Step2After": "B filtered (near limit), remaining: C, D",
- "scenario3Step2Before": "Provider B 5h limit $10, consumed $9.8",
- "scenario3Step2Decision": "Auto recovery after 5h sliding window",
- "scenario3Step2Desc": "Check if spending exceeds limits (5h, 7d, 30d)",
- "scenario3Step3": "Concurrent Session Limit",
- "scenario3Step3After": "C filtered (full), remaining: D",
- "scenario3Step3Before": "Provider C concurrent limit 2, currently 2 active sessions",
- "scenario3Step3Decision": "Auto release after session expiry (5 min)",
- "scenario3Step3Desc": "Check if active session count exceeds configured concurrent limit",
- "scenario3Title": "Health Filtering (Circuit Breaker + Rate Limit)",
- "scenario4Desc": "Consecutive chats prioritize using same provider, leveraging Claude context cache",
- "scenario4Step1": "Check Request History",
- "scenario4Step1After": "Check if B is enabled and healthy",
- "scenario4Step1Before": "Last request used provider B",
- "scenario4Step1Decision": "B available, reuse directly, skip random selection",
- "scenario4Step1Desc": "Query providers used by this API Key in last 10 seconds",
- "scenario4Step2": "Reuse Invalidation",
- "scenario4Step2After": "Enter normal selection flow",
- "scenario4Step2Before": "Last used provider B disabled or circuit-broken",
- "scenario4Step2Decision": "Select from other available providers",
- "scenario4Step2Desc": "If last used provider unavailable, reselect",
- "scenario4Title": "Session Reuse Mechanism",
- "scenariosTitle": "Interactive Scenario Demos",
- "session": "Session Reuse Mechanism",
- "sessionDesc": "If the last used provider is unavailable, reselect",
- "sessionExample": "Last request used provider B",
- "sessionExpired": "Session automatically released after expiration (5 minutes)",
- "sessionFallback": "Select from other available providers",
- "sessionLastUsed": "B is available, reuse directly, skip random selection",
- "sessionReuse": "4. Session Reuse: Consecutive chats reuse same provider, saving context costs",
- "sessionUnavailable": "Last used provider B is disabled or circuit-broken",
- "step": "Step",
- "title": "Core Principles",
- "weight": "Weighted random selection based on weight",
- "weightCalc": "C has 75% selection probability, A has 25%",
- "weightExample": "C (weight 3), A (weight 1)"
- }
|