# ============================================================\n# Mayfly Demo Application - Docker Configuration\n# ============================================================\n# 此配置文件用于 Docker 环境\n# ============================================================\n\nmayfly:\n  enabled: true\n  \n  # 模型配置 - 国产模型深度适配\n  models:\n    # DeepSeek 配置\n    - name: deepseek-primary\n      provider: deepseek\n      api-key: ${DEEPSEEK_API_KEY:your-deepseek-api-key}\n      model: deepseek-chat\n      weight: 40\n      timeout: 30000\n      max-retries: 2\n      tags:\n        - primary\n        - chinese\n    \n    - name: deepseek-backup\n      provider: deepseek\n      api-key: ${DEEPSEEK_API_KEY:your-deepseek-api-key}\n      model: deepseek-chat\n      weight: 20\n      timeout: 30000\n      max-retries: 2\n      tags:\n        - backup\n        - chinese\n    \n    # 智谱 AI 配置\n    - name: zhipu-primary\n      provider: zhipu\n      api-key: ${ZHIPU_API_KEY:your-zhipu-api-key}\n      model: glm-4\n      weight: 25\n      timeout: 30000\n      max-retries: 2\n      tags:\n        - primary\n        - chinese\n    \n    # 通义千问配置\n    - name: tongyi-primary\n      provider: tongyi\n      api-key: ${TONGYI_API_KEY:your-tongyi-api-key}\n      model: qwen-max\n      weight: 15\n      timeout: 30000\n      max-retries: 2\n      tags:\n        - primary\n        - chinese\n  \n  # 路由配置\n  router:\n    strategy: weighted  # fixed, weighted, rule-based\n  \n  # 负载均衡配置\n  loadbalancer:\n    strategy: weighted-round-robin  # round-robin, weighted-round-robin\n    health-check:\n      enabled: true\n      interval: 30s\n      timeout: 5s\n      unhealthy-threshold: 3\n  \n  # 故障转移配置\n  failover:\n    enabled: true\n    max-retries: 2\n    cooldown-duration: 60s\n    retryable-exceptions:\n      - java.net.SocketTimeoutException\n      - org.springframework.web.client.HttpServerErrorException\n  \n  # 熔断器配置\n  circuit-breaker:\n    enabled: true\n    failure-rate-threshold: 50\n    wait-duration-in-open-state: 60s\n    sliding-window-size: 10\n    minimum-number-of-calls: 5\n  \n  # 限流器配置\n  rate-limiter:\n    enabled: true\n    limit-refresh-period: 1s\n    limit-for-period: 100\n    timeout-duration: 0s\n  \n  # 监控配置\n  monitor:\n    enabled: true\n\n# Spring Boot 配置\nspring:\n  application:\n    name: mayfly-demo\n  ai:\n    openai:\n      api-key: ${OPENAI_API_KEY:your-openai-api-key}\n\n# 服务器配置\nserver:\n  port: 8080\n\n# 日志配置\nlogging:\n  level:\n    io.mayfly: DEBUG\n    org.springframework.ai: INFO\n\n# Actuator 配置\nmanagement:\n  endpoints:\n    web:\n      exposure:\n        include: health,info,metrics,prometheus\n  endpoint:\n    health:\n      show-details: always\n