From 59be7d734fdca1ee01b034a0ec60050d1f43ce6b Mon Sep 17 00:00:00 2001 From: Mason Daugherty Date: Thu, 19 Feb 2026 13:03:10 -0500 Subject: [PATCH] feat(infra): model profile bump tool (#35331) --- .github/workflows/refresh_model_profiles.yml | 69 ++++++++++++++++++++ libs/model-profiles/uv.lock | 2 +- 2 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/refresh_model_profiles.yml diff --git a/.github/workflows/refresh_model_profiles.yml b/.github/workflows/refresh_model_profiles.yml new file mode 100644 index 00000000000..f6addbfa6d0 --- /dev/null +++ b/.github/workflows/refresh_model_profiles.yml @@ -0,0 +1,69 @@ +# Refreshes model profile data for all in-monorepo partner integrations by +# pulling the latest metadata from models.dev via the `langchain-profiles` CLI. +# +# Creates a pull request with any changes. Triggered manually from the Actions UI. + +name: "🔄 Refresh Model Profiles" + +on: + workflow_dispatch: + +permissions: + contents: write + pull-requests: write + +jobs: + refresh-profiles: + name: "refresh all partner profiles" + runs-on: ubuntu-latest + steps: + - name: "📋 Checkout" + uses: actions/checkout@v6 + + - name: "🐍 Set up Python + uv" + uses: ./.github/actions/uv_setup + with: + python-version: "3.12" + working-directory: libs/model-profiles + + - name: "📦 Install langchain-profiles CLI" + working-directory: libs/model-profiles + run: uv sync + + - name: "🔄 Refresh profiles" + working-directory: libs/model-profiles + run: | + declare -A PROVIDERS=( + [anthropic]=anthropic + [deepseek]=deepseek + [fireworks]=fireworks-ai + [groq]=groq + [huggingface]=huggingface + [mistralai]=mistral + [openai]=openai + [openrouter]=openrouter + [perplexity]=perplexity + [xai]=xai + ) + + for partner in "${!PROVIDERS[@]}"; do + provider="${PROVIDERS[$partner]}" + data_dir="../../libs/partners/${partner}/langchain_${partner//-/_}/data" + echo "--- Refreshing ${partner} (provider: ${provider}) ---" + echo y | uv run langchain-profiles refresh \ + --provider "$provider" \ + --data-dir "$data_dir" + done + + - name: "🔀 Create pull request" + uses: peter-evans/create-pull-request@v7 + with: + branch: bot/refresh-model-profiles + commit-message: "chore(model-profiles): refresh model profile data" + title: "chore(model-profiles): refresh model profile data" + body: | + Automated refresh of model profile data for all in-monorepo partner + integrations via `langchain-profiles refresh`. + + 🤖 Generated by the `refresh_model_profiles` workflow. + add-paths: libs/partners/**/data/_profiles.py diff --git a/libs/model-profiles/uv.lock b/libs/model-profiles/uv.lock index 5d208eae069..22a0b44bd24 100644 --- a/libs/model-profiles/uv.lock +++ b/libs/model-profiles/uv.lock @@ -527,7 +527,7 @@ typing = [ [[package]] name = "langchain-core" -version = "1.2.13" +version = "1.2.14" source = { editable = "../core" } dependencies = [ { name = "jsonpatch" },