发布

  • [OPIK-3519] [INFRA] add automated provider model sync script (#5506)

    frostbyte_neo 发布于 2026-03-10 11:48:19 +00:00

    • [OPIK-3519] [BE][FE] feat: add automated provider model sync script

    Add a Python script and GitHub Actions workflow to automatically sync
    LLM provider model lists across 5 Java enums and 2 TypeScript files.

    • Supports OpenAI, Anthropic, Gemini, VertexAI, and OpenRouter providers
    • Fetches models from provider APIs (with fallback to LiteLLM prices JSON)
    • Add-only mode: never removes models automatically, reports stale models
    • Curated dropdown filtering with smart sorting per provider
    • Detects deprecated models via deprecation_date and excludes from dropdown
    • Excludes Responses-API-only models (e.g. gpt-5.2-pro) from dropdown
    • Generates PRs with detailed summary of changes
    • Scheduled daily via GitHub Actions cron

    Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

    • fix(ci): align workflow PR template with Opik conventions

    Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

    • fix: address PR review comments
    • Add permissions block (contents: write, pull-requests: write) to workflow
    • Surface sync summary in GitHub Step Summary even when no models are added
    • Fix _deduplicate_by_base to pick newest dated variant instead of oldest
    • Report enum name collisions in sync summary instead of silently skipping

    Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

    • fix: pipefail for workflow exit code + openrouter deprecated prefix
    • Use PIPESTATUS[0] with pipefail so Python exit code is captured
      instead of tee's (always-zero) exit
    • Add openrouter/ to build_deprecated_set prefix list so deprecated
      OpenRouter models are filtered from dropdown

    Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com


    Co-authored-by: Andrei Căutișanu andreicautisanu@Andreis-MacBook-Pro.local
    Co-authored-by: Claude Opus 4.6 noreply@anthropic.com

    下载附件