From 73896c27f99c5bbc55fcc9cd20225f22e5c79eae Mon Sep 17 00:00:00 2001 From: aries_ckt <916701291@qq.com> Date: Sun, 15 Mar 2026 00:34:44 +0800 Subject: [PATCH] docs: quick-start installation --- README.md | 14 ++++ README.zh.md | 14 ++++ .../dbgpt_app/static/web/models/minimax.png | Bin 0 -> 25749 bytes scripts/install/install.sh | 7 +- scripts/install/lib/profiles.sh | 17 +++- uv.lock | 78 +++++++++--------- web/utils/constants.ts | 5 ++ 7 files changed, 95 insertions(+), 40 deletions(-) create mode 100644 packages/dbgpt-app/src/dbgpt_app/static/web/models/minimax.png diff --git a/README.md b/README.md index 6d1989f2f..5272cac8a 100644 --- a/README.md +++ b/README.md @@ -158,6 +158,13 @@ curl -fsSL https://raw.githubusercontent.com/eosphoros-ai/DB-GPT/main/scripts/in | MOONSHOT_API_KEY=sk-xxx bash -s -- --profile kimi ``` +For MiniMax via the OpenAI-compatible API: + +```bash +curl -fsSL https://raw.githubusercontent.com/eosphoros-ai/DB-GPT/main/scripts/install/install.sh \ + | MINIMAX_API_KEY=sk-xxx bash -s -- --profile minimax +``` + Already have a local DB-GPT checkout? Reuse it instead of cloning `~/.dbgpt/DB-GPT`: ```bash @@ -172,6 +179,13 @@ MOONSHOT_API_KEY=sk-xxx \ bash scripts/install/install.sh --profile kimi --repo-dir "$(pwd)" --yes ``` +Or reuse your local repo with MiniMax: + +```bash +MINIMAX_API_KEY=sk-xxx \ + bash scripts/install/install.sh --profile minimax --repo-dir "$(pwd)" --yes +``` + After installation, start the server with the generated profile config: ```bash diff --git a/README.zh.md b/README.zh.md index 0e0b5f06e..931f5b8e4 100644 --- a/README.zh.md +++ b/README.zh.md @@ -160,6 +160,13 @@ curl -fsSL https://raw.githubusercontent.com/eosphoros-ai/DB-GPT/main/scripts/in | MOONSHOT_API_KEY=sk-xxx bash -s -- --profile kimi ``` +如果你想使用 MiniMax(OpenAI 兼容接口): + +```bash +curl -fsSL https://raw.githubusercontent.com/eosphoros-ai/DB-GPT/main/scripts/install/install.sh \ + | MINIMAX_API_KEY=sk-xxx bash -s -- --profile minimax +``` + 如果你已经有本地 DB-GPT 仓库,也可以直接复用当前仓库,跳过 `~/.dbgpt/DB-GPT` 的重复 clone: ```bash @@ -174,6 +181,13 @@ MOONSHOT_API_KEY=sk-xxx \ bash scripts/install/install.sh --profile kimi --repo-dir "$(pwd)" --yes ``` +如果你想在当前仓库里直接测试 MiniMax: + +```bash +MINIMAX_API_KEY=sk-xxx \ + bash scripts/install/install.sh --profile minimax --repo-dir "$(pwd)" --yes +``` + 安装完成后,使用生成的 profile 配置启动服务: ```bash diff --git a/packages/dbgpt-app/src/dbgpt_app/static/web/models/minimax.png b/packages/dbgpt-app/src/dbgpt_app/static/web/models/minimax.png new file mode 100644 index 0000000000000000000000000000000000000000..4123a504b5f66a15c12ba38c4c87d0867927eff7 GIT binary patch literal 25749 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 Deployment profile (currently: openai, kimi) + --profile Deployment profile (currently: openai, kimi, minimax) --install-dir Where to install (default: ~/.dbgpt) --version Git tag or branch to check out (default: main) --repo-dir Use an existing local DB-GPT checkout @@ -117,6 +117,9 @@ Examples: # With Kimi / Moonshot API key MOONSHOT_API_KEY=sk-xxx bash install.sh --profile kimi --yes + # With Minimax API key + MINIMAX_API_KEY=sk-xxx bash install.sh --profile minimax --yes + # Reuse your current local repo (skip clone/update) OPENAI_API_KEY=sk-xxx bash install.sh --profile openai --repo-dir . --yes @@ -210,6 +213,7 @@ step_choose_profile() { printf '%b' "${COLOR_CYAN}Select a deployment profile:${COLOR_RESET}\n" printf ' 1) openai — OpenAI API proxy (recommended)\n' printf ' 2) kimi — Kimi 2.5 via Moonshot API\n' + printf ' 3) minimax — MiniMax OpenAI-compatible API\n' printf ' q) quit\n' printf '\n' @@ -220,6 +224,7 @@ step_choose_profile() { case "${choice}" in 1|openai) PROFILE="openai" ;; 2|kimi) PROFILE="kimi" ;; + 3|minimax) PROFILE="minimax" ;; q|Q) info "Installation cancelled."; exit 0 ;; *) die "Invalid choice: ${choice}" ;; esac diff --git a/scripts/install/lib/profiles.sh b/scripts/install/lib/profiles.sh index 958819082..b86030792 100755 --- a/scripts/install/lib/profiles.sh +++ b/scripts/install/lib/profiles.sh @@ -9,12 +9,12 @@ # ── Validation ──────────────────────────────────────────────────────────────── # Currently supported profiles. Extend this list when adding new profiles. -readonly SUPPORTED_PROFILES="openai kimi" +readonly SUPPORTED_PROFILES="openai kimi minimax" validate_profile() { local profile="$1" case "${profile}" in - openai|kimi) ;; + openai|kimi|minimax) ;; *) die "Unsupported profile: ${profile}. Supported profiles: ${SUPPORTED_PROFILES}" ;; @@ -44,6 +44,15 @@ proxy_openai rag storage_chromadb dbgpts +EOF + ;; + minimax) + cat <<'EOF' +base +proxy_openai +rag +storage_chromadb +dbgpts EOF ;; *) @@ -60,6 +69,7 @@ profile_template() { case "${profile}" in openai) echo "openai.toml" ;; kimi) echo "kimi.toml" ;; + minimax) echo "minimax.toml" ;; *) die "No template defined for profile: ${profile}" ;; esac } @@ -71,6 +81,7 @@ profile_repo_config() { case "${profile}" in openai) echo "configs/dbgpt-proxy-openai.toml" ;; kimi) echo "configs/dbgpt-proxy-moonshot.toml" ;; + minimax) echo "configs/dbgpt-proxy-openai.toml" ;; *) die "No repo config path defined for profile: ${profile}" ;; esac } @@ -82,6 +93,7 @@ profile_api_key_env() { case "${profile}" in openai) echo "OPENAI_API_KEY" ;; kimi) echo "MOONSHOT_API_KEY" ;; + minimax) echo "MINIMAX_API_KEY" ;; *) echo "" ;; esac } @@ -93,6 +105,7 @@ profile_api_key_token() { case "${profile}" in openai) echo "__OPENAI_API_KEY__" ;; kimi) echo "__MOONSHOT_API_KEY__" ;; + minimax) echo "__MINIMAX_API_KEY__" ;; *) echo "" ;; esac } diff --git a/uv.lock b/uv.lock index bed7a0bf7..913a71061 100644 --- a/uv.lock +++ b/uv.lock @@ -5864,7 +5864,9 @@ dependencies = [ { name = "dbgpt-acc-auto" }, { name = "dbgpt-client" }, { name = "dbgpt-ext" }, + { name = "dbgpt-sandbox" }, { name = "dbgpt-serve" }, + { name = "httpx" }, { name = "pyparsing" }, ] @@ -5894,7 +5896,9 @@ requires-dist = [ { name = "dbgpt-acc-auto", editable = "packages/dbgpt-accelerator/dbgpt-acc-auto" }, { name = "dbgpt-client", editable = "packages/dbgpt-client" }, { name = "dbgpt-ext", editable = "packages/dbgpt-ext" }, + { name = "dbgpt-sandbox", editable = "packages/dbgpt-sandbox" }, { name = "dbgpt-serve", editable = "packages/dbgpt-serve" }, + { name = "httpx", specifier = ">=0.24.0" }, { name = "opentelemetry-api", marker = "extra == 'observability'" }, { name = "opentelemetry-exporter-otlp", marker = "extra == 'observability'" }, { name = "opentelemetry-sdk", marker = "extra == 'observability'" }, @@ -19810,9 +19814,9 @@ dependencies = [ { name = "torch", version = "2.5.1", source = { registry = "https://download.pytorch.org/whl/cu124" }, marker = "(python_full_version < '3.13' and platform_machine == 'aarch64' and platform_python_implementation != 'PyPy' and sys_platform == 'linux' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (python_full_version >= '3.13' and platform_python_implementation != 'PyPy' and extra == 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (python_full_version < '3.13' and platform_python_implementation != 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (python_full_version < '3.13' and platform_python_implementation != 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (python_full_version < '3.13' and platform_python_implementation != 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (python_full_version < '3.13' and platform_python_implementation != 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3') or (python_full_version >= '3.13' and platform_python_implementation != 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (python_full_version >= '3.13' and platform_python_implementation != 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (python_full_version >= '3.13' and platform_python_implementation != 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (python_full_version >= '3.13' and platform_python_implementation != 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3') or (platform_machine != 'aarch64' and extra == 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (platform_machine != 'aarch64' and extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (platform_machine != 'aarch64' and extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (platform_machine != 'aarch64' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (platform_machine != 'aarch64' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3') or (platform_python_implementation == 'PyPy' and extra == 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (platform_python_implementation == 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (platform_python_implementation == 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (platform_python_implementation == 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (platform_python_implementation == 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3') or (sys_platform != 'linux' and extra == 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (sys_platform != 'linux' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (sys_platform != 'linux' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (sys_platform != 'linux' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (sys_platform != 'linux' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3') or (sys_platform != 'linux' and extra != 'extra-14-dbgpt-acc-auto-auto' and extra != 'extra-14-dbgpt-acc-auto-cpu' and extra != 'extra-14-dbgpt-acc-auto-cuda118' and extra != 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (sys_platform != 'linux' and extra != 'extra-14-dbgpt-acc-auto-auto' and extra != 'extra-14-dbgpt-acc-auto-cpu' and extra != 'extra-14-dbgpt-acc-auto-cuda118' and extra != 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (sys_platform != 'linux' and extra != 'extra-14-dbgpt-acc-auto-auto' and extra != 'extra-14-dbgpt-acc-auto-cpu' and extra != 'extra-14-dbgpt-acc-auto-cuda118' and extra != 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (sys_platform != 'linux' and extra != 'extra-14-dbgpt-acc-auto-auto' and extra != 'extra-14-dbgpt-acc-auto-cpu' and extra != 'extra-14-dbgpt-acc-auto-cuda118' and extra != 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-14-dbgpt-acc-auto-cpu') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-14-dbgpt-acc-auto-cuda118') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-14-dbgpt-acc-auto-cuda121') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (extra == 'extra-14-dbgpt-acc-auto-cpu' and extra == 'extra-14-dbgpt-acc-auto-cuda118') or (extra == 'extra-14-dbgpt-acc-auto-cpu' and extra == 'extra-14-dbgpt-acc-auto-cuda121') or (extra == 'extra-14-dbgpt-acc-auto-cpu' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (extra == 'extra-14-dbgpt-acc-auto-cuda118' and extra == 'extra-14-dbgpt-acc-auto-cuda121') or (extra == 'extra-14-dbgpt-acc-auto-cuda118' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3') or (extra == 'extra-14-dbgpt-acc-auto-cpu' and extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (extra == 'extra-14-dbgpt-acc-auto-cpu' and extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (extra == 'extra-14-dbgpt-acc-auto-cpu' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (extra == 'extra-14-dbgpt-acc-auto-cpu' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3') or (extra == 'extra-14-dbgpt-acc-auto-cuda118' and extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (extra == 'extra-14-dbgpt-acc-auto-cuda118' and extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (extra == 'extra-14-dbgpt-acc-auto-cuda118' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (extra == 'extra-14-dbgpt-acc-auto-cuda118' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3') or (extra == 'extra-14-dbgpt-acc-auto-cuda121' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (extra == 'extra-14-dbgpt-acc-auto-cuda121' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (extra == 'extra-14-dbgpt-acc-auto-cuda121' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (extra == 'extra-14-dbgpt-acc-auto-cuda121' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3')" }, ] wheels = [ - { url = "https://download.pytorch.org/whl/cu124/torchaudio-2.5.1-cp310-cp310-linux_aarch64.whl", hash = "sha256:2e77a8528d5e332096a69c0707aa083e058a9dcb844bc93ef040debb6aadeaa8" }, - { url = "https://download.pytorch.org/whl/cu124/torchaudio-2.5.1-cp311-cp311-linux_aarch64.whl", hash = "sha256:f51d4eda003927f07d4a34b09199a79fde5e5b3df5432880685b70dd63b7c91e" }, - { url = "https://download.pytorch.org/whl/cu124/torchaudio-2.5.1-cp312-cp312-linux_aarch64.whl", hash = "sha256:b5eeaeb2be9e980077e5713b689442e776bebfe1d836c0c507ae725772c8a8a2" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torchaudio-2.5.1-cp310-cp310-linux_aarch64.whl", hash = "sha256:2e77a8528d5e332096a69c0707aa083e058a9dcb844bc93ef040debb6aadeaa8" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torchaudio-2.5.1-cp311-cp311-linux_aarch64.whl", hash = "sha256:f51d4eda003927f07d4a34b09199a79fde5e5b3df5432880685b70dd63b7c91e" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torchaudio-2.5.1-cp312-cp312-linux_aarch64.whl", hash = "sha256:b5eeaeb2be9e980077e5713b689442e776bebfe1d836c0c507ae725772c8a8a2" }, ] [[package]] @@ -19899,12 +19903,12 @@ dependencies = [ { name = "torch", version = "2.5.1+cu118", source = { registry = "https://download.pytorch.org/whl/cu118" }, marker = "(sys_platform == 'linux' and extra == 'extra-14-dbgpt-acc-auto-cuda118') or (extra == 'extra-14-dbgpt-acc-auto-cuda118' and extra == 'extra-14-dbgpt-acc-auto-cuda121') or (extra == 'extra-14-dbgpt-acc-auto-cuda118' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-14-dbgpt-acc-auto-cpu') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-14-dbgpt-acc-auto-cuda118') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-14-dbgpt-acc-auto-cuda121') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (extra == 'extra-14-dbgpt-acc-auto-cpu' and extra == 'extra-14-dbgpt-acc-auto-cuda118') or (extra == 'extra-14-dbgpt-acc-auto-cpu' and extra == 'extra-14-dbgpt-acc-auto-cuda121') or (extra == 'extra-14-dbgpt-acc-auto-cpu' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (extra == 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3')" }, ] wheels = [ - { url = "https://download.pytorch.org/whl/cu118/torchaudio-2.5.1%2Bcu118-cp310-cp310-linux_x86_64.whl", hash = "sha256:4115b11f7748da407e1d59d14c6fa2ff5853155c42178ef7a5e7a36e967c1242" }, - { url = "https://download.pytorch.org/whl/cu118/torchaudio-2.5.1%2Bcu118-cp310-cp310-win_amd64.whl", hash = "sha256:75bb03075a9e32fb1d75ebd580f9a3dda672f1fb4e5b15548e890bca14ef6691" }, - { url = "https://download.pytorch.org/whl/cu118/torchaudio-2.5.1%2Bcu118-cp311-cp311-linux_x86_64.whl", hash = "sha256:312ee3b1a1bb4a9f5b135790886efdf7fb2401c9526cc05ec7f79a102cbc069b" }, - { url = "https://download.pytorch.org/whl/cu118/torchaudio-2.5.1%2Bcu118-cp311-cp311-win_amd64.whl", hash = "sha256:ae0815fbc5f601a209ba7525519abb329735b2db524bc0ae74e4bdcc9bccf3b7" }, - { url = "https://download.pytorch.org/whl/cu118/torchaudio-2.5.1%2Bcu118-cp312-cp312-linux_x86_64.whl", hash = "sha256:90673c6cfde4dc3a75c8e26ef74f9294aada4ee836a6120dae80db0b06d22d65" }, - { url = "https://download.pytorch.org/whl/cu118/torchaudio-2.5.1%2Bcu118-cp312-cp312-win_amd64.whl", hash = "sha256:d9429c87fc5886ec6555171f35fc1b2e1a59a6ca13a26a99a2b6a837a4e0be70" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torchaudio-2.5.1%2Bcu118-cp310-cp310-linux_x86_64.whl", hash = "sha256:4115b11f7748da407e1d59d14c6fa2ff5853155c42178ef7a5e7a36e967c1242" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torchaudio-2.5.1%2Bcu118-cp310-cp310-win_amd64.whl", hash = "sha256:75bb03075a9e32fb1d75ebd580f9a3dda672f1fb4e5b15548e890bca14ef6691" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torchaudio-2.5.1%2Bcu118-cp311-cp311-linux_x86_64.whl", hash = "sha256:312ee3b1a1bb4a9f5b135790886efdf7fb2401c9526cc05ec7f79a102cbc069b" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torchaudio-2.5.1%2Bcu118-cp311-cp311-win_amd64.whl", hash = "sha256:ae0815fbc5f601a209ba7525519abb329735b2db524bc0ae74e4bdcc9bccf3b7" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torchaudio-2.5.1%2Bcu118-cp312-cp312-linux_x86_64.whl", hash = "sha256:90673c6cfde4dc3a75c8e26ef74f9294aada4ee836a6120dae80db0b06d22d65" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torchaudio-2.5.1%2Bcu118-cp312-cp312-win_amd64.whl", hash = "sha256:d9429c87fc5886ec6555171f35fc1b2e1a59a6ca13a26a99a2b6a837a4e0be70" }, ] [[package]] @@ -19947,12 +19951,12 @@ dependencies = [ { name = "torch", version = "2.5.1+cu121", source = { registry = "https://download.pytorch.org/whl/cu121" }, marker = "(sys_platform == 'linux' and extra == 'extra-14-dbgpt-acc-auto-cuda121') or (sys_platform == 'win32' and extra == 'extra-14-dbgpt-acc-auto-cuda121') or (extra == 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-14-dbgpt-acc-auto-cpu') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-14-dbgpt-acc-auto-cuda118') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-14-dbgpt-acc-auto-cuda121') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (extra == 'extra-14-dbgpt-acc-auto-cpu' and extra == 'extra-14-dbgpt-acc-auto-cuda118') or (extra == 'extra-14-dbgpt-acc-auto-cpu' and extra == 'extra-14-dbgpt-acc-auto-cuda121') or (extra == 'extra-14-dbgpt-acc-auto-cpu' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (extra == 'extra-14-dbgpt-acc-auto-cuda118' and extra == 'extra-14-dbgpt-acc-auto-cuda121') or (extra == 'extra-14-dbgpt-acc-auto-cuda118' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3')" }, ] wheels = [ - { url = "https://download.pytorch.org/whl/cu121/torchaudio-2.5.1%2Bcu121-cp310-cp310-linux_x86_64.whl", hash = "sha256:cf38267b5946b4dc3ff80ece5a1c165aa6b2a6fe8dca37bac192fcf47f658db1" }, - { url = "https://download.pytorch.org/whl/cu121/torchaudio-2.5.1%2Bcu121-cp310-cp310-win_amd64.whl", hash = "sha256:68c08cf69f7f39608f4c8d6b87fa054d7c801a19060e89d66003efbceef15641" }, - { url = "https://download.pytorch.org/whl/cu121/torchaudio-2.5.1%2Bcu121-cp311-cp311-linux_x86_64.whl", hash = "sha256:9e6f03e6410cb3557978dea25fb30ce3e7c165e8377fcc8e0e1ddc700503d38b" }, - { url = "https://download.pytorch.org/whl/cu121/torchaudio-2.5.1%2Bcu121-cp311-cp311-win_amd64.whl", hash = "sha256:f9397ff9c6e8fa1b4fdc94939411ac65fe43f66d66367ee80603bc7ce10e18e2" }, - { url = "https://download.pytorch.org/whl/cu121/torchaudio-2.5.1%2Bcu121-cp312-cp312-linux_x86_64.whl", hash = "sha256:5648a01f23033f15d60dc638f91c2d4c66c0a01621162471e806064acda63b70" }, - { url = "https://download.pytorch.org/whl/cu121/torchaudio-2.5.1%2Bcu121-cp312-cp312-win_amd64.whl", hash = "sha256:80400d75da5852bb5491f6259d47a163a00c2d1479ed57d3d95fde205e1b2815" }, + { url = "https://download-r2.pytorch.org/whl/cu121/torchaudio-2.5.1%2Bcu121-cp310-cp310-linux_x86_64.whl", hash = "sha256:cf38267b5946b4dc3ff80ece5a1c165aa6b2a6fe8dca37bac192fcf47f658db1" }, + { url = "https://download-r2.pytorch.org/whl/cu121/torchaudio-2.5.1%2Bcu121-cp310-cp310-win_amd64.whl", hash = "sha256:68c08cf69f7f39608f4c8d6b87fa054d7c801a19060e89d66003efbceef15641" }, + { url = "https://download-r2.pytorch.org/whl/cu121/torchaudio-2.5.1%2Bcu121-cp311-cp311-linux_x86_64.whl", hash = "sha256:9e6f03e6410cb3557978dea25fb30ce3e7c165e8377fcc8e0e1ddc700503d38b" }, + { url = "https://download-r2.pytorch.org/whl/cu121/torchaudio-2.5.1%2Bcu121-cp311-cp311-win_amd64.whl", hash = "sha256:f9397ff9c6e8fa1b4fdc94939411ac65fe43f66d66367ee80603bc7ce10e18e2" }, + { url = "https://download-r2.pytorch.org/whl/cu121/torchaudio-2.5.1%2Bcu121-cp312-cp312-linux_x86_64.whl", hash = "sha256:5648a01f23033f15d60dc638f91c2d4c66c0a01621162471e806064acda63b70" }, + { url = "https://download-r2.pytorch.org/whl/cu121/torchaudio-2.5.1%2Bcu121-cp312-cp312-win_amd64.whl", hash = "sha256:80400d75da5852bb5491f6259d47a163a00c2d1479ed57d3d95fde205e1b2815" }, ] [[package]] @@ -19981,12 +19985,12 @@ dependencies = [ { name = "torch", version = "2.5.1+cu124", source = { registry = "https://download.pytorch.org/whl/cu124" }, marker = "(python_full_version < '3.13' and platform_machine == 'aarch64' and platform_python_implementation != 'PyPy' and extra == 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (python_full_version < '3.13' and platform_machine == 'aarch64' and platform_python_implementation != 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (python_full_version < '3.13' and platform_machine == 'aarch64' and platform_python_implementation != 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (python_full_version < '3.13' and platform_machine == 'aarch64' and platform_python_implementation != 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (python_full_version < '3.13' and platform_machine == 'aarch64' and platform_python_implementation != 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3') or (python_full_version >= '3.13' and platform_python_implementation != 'PyPy' and sys_platform == 'linux' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (python_full_version >= '3.13' and platform_python_implementation != 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (python_full_version >= '3.13' and platform_python_implementation != 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (python_full_version >= '3.13' and platform_python_implementation != 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (python_full_version >= '3.13' and platform_python_implementation != 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3') or (python_full_version < '3.13' and platform_python_implementation != 'PyPy' and extra == 'extra-14-dbgpt-acc-auto-cuda121' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (python_full_version < '3.13' and platform_python_implementation != 'PyPy' and extra == 'extra-14-dbgpt-acc-auto-cuda121' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (python_full_version < '3.13' and platform_python_implementation != 'PyPy' and extra == 'extra-14-dbgpt-acc-auto-cuda121' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (python_full_version < '3.13' and platform_python_implementation != 'PyPy' and extra == 'extra-14-dbgpt-acc-auto-cuda121' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3') or (platform_machine != 'aarch64' and sys_platform == 'linux' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (platform_machine != 'aarch64' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (platform_machine != 'aarch64' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (platform_machine != 'aarch64' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (platform_machine != 'aarch64' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3') or (platform_python_implementation == 'PyPy' and sys_platform == 'linux' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (platform_python_implementation == 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (platform_python_implementation == 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (platform_python_implementation == 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (platform_python_implementation == 'PyPy' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3') or (sys_platform != 'linux' and extra == 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (sys_platform != 'linux' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (sys_platform != 'linux' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (sys_platform != 'linux' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (sys_platform != 'linux' and extra != 'extra-14-dbgpt-acc-auto-cuda124' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3') or (sys_platform != 'linux' and extra != 'extra-14-dbgpt-acc-auto-auto' and extra != 'extra-14-dbgpt-acc-auto-cpu' and extra != 'extra-14-dbgpt-acc-auto-cuda118' and extra != 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (sys_platform != 'linux' and extra != 'extra-14-dbgpt-acc-auto-auto' and extra != 'extra-14-dbgpt-acc-auto-cpu' and extra != 'extra-14-dbgpt-acc-auto-cuda118' and extra != 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (sys_platform != 'linux' and extra != 'extra-14-dbgpt-acc-auto-auto' and extra != 'extra-14-dbgpt-acc-auto-cpu' and extra != 'extra-14-dbgpt-acc-auto-cuda118' and extra != 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (sys_platform != 'linux' and extra != 'extra-14-dbgpt-acc-auto-auto' and extra != 'extra-14-dbgpt-acc-auto-cpu' and extra != 'extra-14-dbgpt-acc-auto-cuda118' and extra != 'extra-14-dbgpt-acc-auto-cuda121' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-14-dbgpt-acc-auto-cpu') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-14-dbgpt-acc-auto-cuda118') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-14-dbgpt-acc-auto-cuda121') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (extra == 'extra-14-dbgpt-acc-auto-cpu' and extra == 'extra-14-dbgpt-acc-auto-cuda118') or (extra == 'extra-14-dbgpt-acc-auto-cpu' and extra == 'extra-14-dbgpt-acc-auto-cuda121') or (extra == 'extra-14-dbgpt-acc-auto-cpu' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (extra == 'extra-14-dbgpt-acc-auto-cuda118' and extra == 'extra-14-dbgpt-acc-auto-cuda121') or (extra == 'extra-14-dbgpt-acc-auto-cuda118' and extra == 'extra-14-dbgpt-acc-auto-cuda124') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (extra == 'extra-14-dbgpt-acc-auto-auto' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3') or (extra == 'extra-14-dbgpt-acc-auto-cpu' and extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (extra == 'extra-14-dbgpt-acc-auto-cpu' and extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (extra == 'extra-14-dbgpt-acc-auto-cpu' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (extra == 'extra-14-dbgpt-acc-auto-cpu' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3') or (extra == 'extra-14-dbgpt-acc-auto-cuda118' and extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (extra == 'extra-14-dbgpt-acc-auto-cuda118' and extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (extra == 'extra-14-dbgpt-acc-auto-cuda118' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (extra == 'extra-14-dbgpt-acc-auto-cuda118' and extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3')" }, ] wheels = [ - { url = "https://download.pytorch.org/whl/cu124/torchaudio-2.5.1%2Bcu124-cp310-cp310-linux_x86_64.whl", hash = "sha256:097593edf32f0a8450aba7822b8097d2f2476fe96c0ab99331d12c347003180b" }, - { url = "https://download.pytorch.org/whl/cu124/torchaudio-2.5.1%2Bcu124-cp310-cp310-win_amd64.whl", hash = "sha256:5caf6c3fc7f1e858bcca87451fe0402321754f4fb10d118ef47caf9f8f28a257" }, - { url = "https://download.pytorch.org/whl/cu124/torchaudio-2.5.1%2Bcu124-cp311-cp311-linux_x86_64.whl", hash = "sha256:e98938dcc44ebaab8bd8379545784cfddfc23ae17787389448b7ff9918dc3df9" }, - { url = "https://download.pytorch.org/whl/cu124/torchaudio-2.5.1%2Bcu124-cp311-cp311-win_amd64.whl", hash = "sha256:b3d75f4e6efc5412fe78c7f2787ee4f39cea1317652e1a47785879cde109f5c4" }, - { url = "https://download.pytorch.org/whl/cu124/torchaudio-2.5.1%2Bcu124-cp312-cp312-linux_x86_64.whl", hash = "sha256:9902598e0330aeead0bc1545837804eb268549b9b4ce41ae3ca51b2384904e89" }, - { url = "https://download.pytorch.org/whl/cu124/torchaudio-2.5.1%2Bcu124-cp312-cp312-win_amd64.whl", hash = "sha256:cca2de94f232611b20d379edf28befa7a1aa482ae9ed41c3b958b08ed1bf4983" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torchaudio-2.5.1%2Bcu124-cp310-cp310-linux_x86_64.whl", hash = "sha256:097593edf32f0a8450aba7822b8097d2f2476fe96c0ab99331d12c347003180b" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torchaudio-2.5.1%2Bcu124-cp310-cp310-win_amd64.whl", hash = "sha256:5caf6c3fc7f1e858bcca87451fe0402321754f4fb10d118ef47caf9f8f28a257" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torchaudio-2.5.1%2Bcu124-cp311-cp311-linux_x86_64.whl", hash = "sha256:e98938dcc44ebaab8bd8379545784cfddfc23ae17787389448b7ff9918dc3df9" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torchaudio-2.5.1%2Bcu124-cp311-cp311-win_amd64.whl", hash = "sha256:b3d75f4e6efc5412fe78c7f2787ee4f39cea1317652e1a47785879cde109f5c4" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torchaudio-2.5.1%2Bcu124-cp312-cp312-linux_x86_64.whl", hash = "sha256:9902598e0330aeead0bc1545837804eb268549b9b4ce41ae3ca51b2384904e89" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torchaudio-2.5.1%2Bcu124-cp312-cp312-win_amd64.whl", hash = "sha256:cca2de94f232611b20d379edf28befa7a1aa482ae9ed41c3b958b08ed1bf4983" }, ] [[package]] @@ -20009,14 +20013,14 @@ dependencies = [ { name = "torch", version = "2.6.0+cu118", source = { registry = "https://download.pytorch.org/whl/cu118" }, marker = "sys_platform == 'win32' or (extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3')" }, ] wheels = [ - { url = "https://download.pytorch.org/whl/cu118/torchaudio-2.6.0%2Bcu118-cp310-cp310-linux_x86_64.whl", hash = "sha256:c5f0ff8434766f2950d77261b119163dbe8a02bc5c18482d9c0d76c9b18dfd44" }, - { url = "https://download.pytorch.org/whl/cu118/torchaudio-2.6.0%2Bcu118-cp310-cp310-win_amd64.whl", hash = "sha256:1c10a44a2f8a591211b19623d3e262ae342a8ae1d34b2d64c7f7d181c2c9f129" }, - { url = "https://download.pytorch.org/whl/cu118/torchaudio-2.6.0%2Bcu118-cp311-cp311-linux_x86_64.whl", hash = "sha256:089b54fb6d4f8348a07d4c460cf2da4da2de57f068154c1401b385626917d434" }, - { url = "https://download.pytorch.org/whl/cu118/torchaudio-2.6.0%2Bcu118-cp311-cp311-win_amd64.whl", hash = "sha256:065ea2e015ef6d02ec289e0a5ecc4c8e7acd4b30a8612879637395e7e16217e4" }, - { url = "https://download.pytorch.org/whl/cu118/torchaudio-2.6.0%2Bcu118-cp312-cp312-linux_x86_64.whl", hash = "sha256:e77fe770130b54fdbcecda829024fbd4235075e905f5c6019c19664577c70e1d" }, - { url = "https://download.pytorch.org/whl/cu118/torchaudio-2.6.0%2Bcu118-cp312-cp312-win_amd64.whl", hash = "sha256:885bdd94f19f0dbad81e08c54f85ffbf10f00af8452c25d2b3b533cf2884d6b8" }, - { url = "https://download.pytorch.org/whl/cu118/torchaudio-2.6.0%2Bcu118-cp313-cp313-linux_x86_64.whl", hash = "sha256:c978c2d37298d9209fd001f137b5458f673916bf8ef2cd359213fb68f7a3c9b3" }, - { url = "https://download.pytorch.org/whl/cu118/torchaudio-2.6.0%2Bcu118-cp313-cp313-win_amd64.whl", hash = "sha256:bb2a451cfeb35ea514725d8ff1353ca53d8f1f2be61c2e7c8ce6347dce05fa36" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torchaudio-2.6.0%2Bcu118-cp310-cp310-linux_x86_64.whl", hash = "sha256:c5f0ff8434766f2950d77261b119163dbe8a02bc5c18482d9c0d76c9b18dfd44" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torchaudio-2.6.0%2Bcu118-cp310-cp310-win_amd64.whl", hash = "sha256:1c10a44a2f8a591211b19623d3e262ae342a8ae1d34b2d64c7f7d181c2c9f129" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torchaudio-2.6.0%2Bcu118-cp311-cp311-linux_x86_64.whl", hash = "sha256:089b54fb6d4f8348a07d4c460cf2da4da2de57f068154c1401b385626917d434" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torchaudio-2.6.0%2Bcu118-cp311-cp311-win_amd64.whl", hash = "sha256:065ea2e015ef6d02ec289e0a5ecc4c8e7acd4b30a8612879637395e7e16217e4" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torchaudio-2.6.0%2Bcu118-cp312-cp312-linux_x86_64.whl", hash = "sha256:e77fe770130b54fdbcecda829024fbd4235075e905f5c6019c19664577c70e1d" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torchaudio-2.6.0%2Bcu118-cp312-cp312-win_amd64.whl", hash = "sha256:885bdd94f19f0dbad81e08c54f85ffbf10f00af8452c25d2b3b533cf2884d6b8" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torchaudio-2.6.0%2Bcu118-cp313-cp313-linux_x86_64.whl", hash = "sha256:c978c2d37298d9209fd001f137b5458f673916bf8ef2cd359213fb68f7a3c9b3" }, + { url = "https://download-r2.pytorch.org/whl/cu118/torchaudio-2.6.0%2Bcu118-cp313-cp313-win_amd64.whl", hash = "sha256:bb2a451cfeb35ea514725d8ff1353ca53d8f1f2be61c2e7c8ce6347dce05fa36" }, ] [[package]] @@ -20039,14 +20043,14 @@ dependencies = [ { name = "torch", version = "2.6.0+cu124", source = { registry = "https://download.pytorch.org/whl/cu124" }, marker = "sys_platform == 'win32' or (extra == 'extra-5-dbgpt-hf-glm4' and extra == 'extra-5-dbgpt-hf-kimi') or (extra == 'extra-5-dbgpt-hf-glm4-1vl' and extra == 'extra-5-dbgpt-hf-kimi') or (extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen-omni') or (extra == 'extra-5-dbgpt-hf-kimi' and extra == 'extra-5-dbgpt-hf-qwen3')" }, ] wheels = [ - { url = "https://download.pytorch.org/whl/cu124/torchaudio-2.6.0%2Bcu124-cp310-cp310-linux_x86_64.whl", hash = "sha256:6b54f97fff96b4ba3da44b6b3f50727c25122d1479107b119d1275944ec83ea1" }, - { url = "https://download.pytorch.org/whl/cu124/torchaudio-2.6.0%2Bcu124-cp310-cp310-win_amd64.whl", hash = "sha256:2b9cdda37156abe395e470ce16d9626d71b73f73eab6fc184f476f843ba12cc1" }, - { url = "https://download.pytorch.org/whl/cu124/torchaudio-2.6.0%2Bcu124-cp311-cp311-linux_x86_64.whl", hash = "sha256:b8c15d7e0e81a23630a2de552ebacfe6643990dc890f83f426e43ff62efe8651" }, - { url = "https://download.pytorch.org/whl/cu124/torchaudio-2.6.0%2Bcu124-cp311-cp311-win_amd64.whl", hash = "sha256:a25e146ce66ea9a6aed39008cc2001891bdf75253af479a4c32096678b2073b3" }, - { url = "https://download.pytorch.org/whl/cu124/torchaudio-2.6.0%2Bcu124-cp312-cp312-linux_x86_64.whl", hash = "sha256:3e5ffa69606171c74f3e2b969785ead50b782ca657e746aaee1ee7cc88dcfc08" }, - { url = "https://download.pytorch.org/whl/cu124/torchaudio-2.6.0%2Bcu124-cp312-cp312-win_amd64.whl", hash = "sha256:004ff6bcee0ac78747253c09db67d281add4308a9b87a7bf1769da5914998639" }, - { url = "https://download.pytorch.org/whl/cu124/torchaudio-2.6.0%2Bcu124-cp313-cp313-linux_x86_64.whl", hash = "sha256:1bc23963f447c910a0060b130b04b407d2ea218b2a553e674c829d5f17eb8c8e" }, - { url = "https://download.pytorch.org/whl/cu124/torchaudio-2.6.0%2Bcu124-cp313-cp313-win_amd64.whl", hash = "sha256:231eddbfd8bafd06b2c9f55cd6f33e61f58b25b19f2d51382a95e8f12887689f" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torchaudio-2.6.0%2Bcu124-cp310-cp310-linux_x86_64.whl", hash = "sha256:6b54f97fff96b4ba3da44b6b3f50727c25122d1479107b119d1275944ec83ea1" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torchaudio-2.6.0%2Bcu124-cp310-cp310-win_amd64.whl", hash = "sha256:2b9cdda37156abe395e470ce16d9626d71b73f73eab6fc184f476f843ba12cc1" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torchaudio-2.6.0%2Bcu124-cp311-cp311-linux_x86_64.whl", hash = "sha256:b8c15d7e0e81a23630a2de552ebacfe6643990dc890f83f426e43ff62efe8651" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torchaudio-2.6.0%2Bcu124-cp311-cp311-win_amd64.whl", hash = "sha256:a25e146ce66ea9a6aed39008cc2001891bdf75253af479a4c32096678b2073b3" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torchaudio-2.6.0%2Bcu124-cp312-cp312-linux_x86_64.whl", hash = "sha256:3e5ffa69606171c74f3e2b969785ead50b782ca657e746aaee1ee7cc88dcfc08" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torchaudio-2.6.0%2Bcu124-cp312-cp312-win_amd64.whl", hash = "sha256:004ff6bcee0ac78747253c09db67d281add4308a9b87a7bf1769da5914998639" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torchaudio-2.6.0%2Bcu124-cp313-cp313-linux_x86_64.whl", hash = "sha256:1bc23963f447c910a0060b130b04b407d2ea218b2a553e674c829d5f17eb8c8e" }, + { url = "https://download-r2.pytorch.org/whl/cu124/torchaudio-2.6.0%2Bcu124-cp313-cp313-win_amd64.whl", hash = "sha256:231eddbfd8bafd06b2c9f55cd6f33e61f58b25b19f2d51382a95e8f12887689f" }, ] [[package]] diff --git a/web/utils/constants.ts b/web/utils/constants.ts index 5004ab55a..596660f42 100644 --- a/web/utils/constants.ts +++ b/web/utils/constants.ts @@ -35,6 +35,11 @@ export const MODEL_ICON_INFO: Record = { icon: '/models/moonshot.png', patterns: ['moonshot', 'kimi'], }, + minimax: { + label: 'MiniMax', + icon: '/models/minimax.png', + patterns: ['minimax', 'm2.5', 'm2.1', 'm2'], + }, doubao: { label: 'Doubao', icon: '/models/doubao.png',