diff --git a/WeeklyReports/Hackathon_10th/ERNIEPartner/17_megemini/[WeeklyReport]2026.05.04~2026.05.18.md b/WeeklyReports/Hackathon_10th/ERNIEPartner/17_megemini/[WeeklyReport]2026.05.04~2026.05.18.md new file mode 100644 index 00000000..81d0deb3 --- /dev/null +++ b/WeeklyReports/Hackathon_10th/ERNIEPartner/17_megemini/[WeeklyReport]2026.05.04~2026.05.18.md @@ -0,0 +1,102 @@ +### 认领者 GitHub ID +megemini + +### 赛题信息 + +- **进阶任务序号**:#17 +- **赛题名称**:基于燧原卡为 FastDeploy 新增应用 +- **关联厂商**:燧原 + +### 本周工作 + +1. **RFC 文档** + + - 已经完成 RFC 文档 + - AI Studio 地址:https://aistudio.baidu.com/projectdetail/10237267 + +2. **代码实现** + + - 已经完成 AI Studio 项目的 notebook + + 已经在 燧原 的服务器上跑通了 notebook,可以正常调用 ERNIE-4.5-0.3B-Paddle 模型。 + + notebook 见 app.ipynb + + 在 燧原 的服务器上初始化: + + ![gcu](images/gcu.png) + + 通过执行 cell 完成完形填空: + + ![cloze](images/cloze.png) + +3. **README** + + - 可以参考 AI Studio 项目的 notebook + +4. **演示视频/截图** + + - 待完成 + +5. **问题与解决** + + - 问题:ERNIE-4.5-0.3B-Paddle 生成效果问题 + + 之前在 RFC 中希望通过 `1` 个 prompt 就让模型生成问题和答案,使用的 prompt 如下: + + ```python + prompt = f"""你是一位英语教育专家。请生成一道英文完形填空题。 + + 难度等级:{difficulty}(1最简单,5最难) + + 严格遵循以下格式输出: + 包含一个空白的英文句子,空白处用 [选项1, 选项2, 选项3] 表示 + 正确答案 + + 要求: + 1. 三个选项包含一个正确答案和两个有迷惑性的干扰项 + 2. 答案应基于上下文语义判断 + 3. 不要输出任何额外内容 + + 示例: + When I was 7 [years, days, months] old, I went to the US with my mom. + years + + I need to [buy, sell, rent] some groceries before dinner. + buy + + The teacher asked the students to [discuss, dismiss, display] the topic in groups. + discuss + + Despite the heavy rain, she [insisted, resisted, assisted] on going out for a walk. + insisted""" + + ``` + + 但是,模型生成效果并不理想,可以参考 AI Studio 的模型体验场的生成效果: + + ![bad_case](images/bad_case.png) + + 在多次尝试摸索 ERNIE-4.5-0.3B-Paddle 模型的能力边界之后,确定为现在的两阶段方式: + + 1. 让模型根据难度生成一条英文句子 + 2. 从句子中抽取一个单词,然后让模型给我几个同义词 + + 如此可以组合成一道完形填空题。 + +### 下周计划 + +1. 在 AI Studio 上创建 gradio 应用 + +### 当前阻塞(无则填"无") + +- 无 + +### 交付物进展 + +| 交付物 | 状态 | 备注 | +|--------|:----:|------| +| RFC 文档 | ✅ 已完成 | - | +| 代码实现 | 🔄 | | +| README | 🔄 | - | +| 演示视频/截图 |🔄 | - | \ No newline at end of file diff --git a/WeeklyReports/Hackathon_10th/ERNIEPartner/17_megemini/app.ipynb b/WeeklyReports/Hackathon_10th/ERNIEPartner/17_megemini/app.ipynb new file mode 100644 index 00000000..6ff2b3b5 --- /dev/null +++ b/WeeklyReports/Hackathon_10th/ERNIEPartner/17_megemini/app.ipynb @@ -0,0 +1,1803 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 【燧原】趣味英文完形填空闯关应用\n", + "\n", + "基于 ERNIE-4.5-0.3B 轻量模型的趣味英文完形填空闯关应用,将 AI 动态出题、限时机制与积分系统相结合。\n", + "\n", + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 0. 配置环境" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Looking in indexes: https://www.paddlepaddle.org.cn/packages/stable/cpu/\n", + "Collecting paddlepaddle==3.1.0a0\n", + " Downloading https://paddle-whl.bj.bcebos.com/stable/cpu/paddlepaddle/paddlepaddle-3.1.0a0-cp310-cp310-linux_x86_64.whl (195.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m195.1/195.1 MB\u001b[0m \u001b[31m11.2 MB/s\u001b[0m \u001b[33m0:00:17\u001b[0m:00:01\u001b[0m00:01\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: httpx in /usr/local/lib/python3.10/dist-packages (from paddlepaddle==3.1.0a0) (0.28.1)\n", + "Requirement already satisfied: numpy>=1.21 in /usr/local/lib/python3.10/dist-packages (from paddlepaddle==3.1.0a0) (1.26.4)\n", + "Requirement already satisfied: protobuf>=3.20.2 in /usr/local/lib/python3.10/dist-packages (from paddlepaddle==3.1.0a0) (6.32.1)\n", + "Requirement already satisfied: Pillow in /usr/local/lib/python3.10/dist-packages (from paddlepaddle==3.1.0a0) (11.3.0)\n", + "Requirement already satisfied: decorator in /usr/local/lib/python3.10/dist-packages (from paddlepaddle==3.1.0a0) (5.1.1)\n", + "Collecting opt_einsum==3.3.0 (from paddlepaddle==3.1.0a0)\n", + " Downloading https://paddle-whl.bj.bcebos.com/stable/cpu/opt-einsum/opt_einsum-3.3.0-py3-none-any.whl (65 kB)\n", + "Requirement already satisfied: networkx in /usr/local/lib/python3.10/dist-packages (from paddlepaddle==3.1.0a0) (3.3)\n", + "Requirement already satisfied: typing_extensions in /usr/local/lib/python3.10/dist-packages (from paddlepaddle==3.1.0a0) (4.14.1)\n", + "Requirement already satisfied: anyio in /usr/local/lib/python3.10/dist-packages (from httpx->paddlepaddle==3.1.0a0) (4.11.0)\n", + "Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from httpx->paddlepaddle==3.1.0a0) (2025.7.14)\n", + "Requirement already satisfied: httpcore==1.* in /usr/local/lib/python3.10/dist-packages (from httpx->paddlepaddle==3.1.0a0) (1.0.9)\n", + "Requirement already satisfied: idna in /usr/local/lib/python3.10/dist-packages (from httpx->paddlepaddle==3.1.0a0) (2.8)\n", + "Requirement already satisfied: h11>=0.16 in /usr/local/lib/python3.10/dist-packages (from httpcore==1.*->httpx->paddlepaddle==3.1.0a0) (0.16.0)\n", + "Requirement already satisfied: exceptiongroup>=1.0.2 in /usr/local/lib/python3.10/dist-packages (from anyio->httpx->paddlepaddle==3.1.0a0) (1.3.0)\n", + "Requirement already satisfied: sniffio>=1.1 in /usr/local/lib/python3.10/dist-packages (from anyio->httpx->paddlepaddle==3.1.0a0) (1.3.1)\n", + "\u001b[33mWARNING: Error parsing dependencies of mlnx-tools: Invalid version: '-5.2.0-'\u001b[0m\u001b[33m\n", + "\u001b[0mInstalling collected packages: opt_einsum, paddlepaddle\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2/2\u001b[0m [paddlepaddle][0m [paddlepaddle]\n", + "\u001b[1A\u001b[2KSuccessfully installed opt_einsum-3.3.0 paddlepaddle-3.1.0a0\n", + "\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\u001b[0m\u001b[33m\n", + "\u001b[0m\n", + "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m25.2\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m26.1.1\u001b[0m\n", + "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpython -m pip install --upgrade pip\u001b[0m\n", + "Looking in indexes: https://www.paddlepaddle.org.cn/packages/nightly/gcu/\n", + "Collecting paddle-custom-gcu==3.0.0.dev20250716\n", + " Downloading https://paddle-whl.bj.bcebos.com/nightly/gcu/paddle-custom-gcu/paddle_custom_gcu-3.0.0.dev20250716-cp310-cp310-linux_x86_64.whl (7.0 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m7.0/7.0 MB\u001b[0m \u001b[31m49.3 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m eta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25h\u001b[33mWARNING: Error parsing dependencies of mlnx-tools: Invalid version: '-5.2.0-'\u001b[0m\u001b[33m\n", + "\u001b[0mInstalling collected packages: paddle-custom-gcu\n", + "Successfully installed paddle-custom-gcu-3.0.0.dev20250716\n", + "\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\u001b[0m\u001b[33m\n", + "\u001b[0m\n", + "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m25.2\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m26.1.1\u001b[0m\n", + "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpython -m pip install --upgrade pip\u001b[0m\n", + "version: 3.0.0.dev20250716\n", + "commit: 2bd3a8283dc9a91f537aa1377b7ed927aa08326d\n", + "TopsPlatform: 1.5.0.601\n", + "/usr/local/lib/python3.10/dist-packages/paddle/utils/cpp_extension/extension_utils.py:715: UserWarning: No ccache found. Please be aware that recompiling all source files may be required. You can download and install ccache from: https://github.com/ccache/ccache/blob/master/doc/INSTALL.md\n", + " warnings.warn(warning_message)\n", + "I0508 05:49:31.103722 1483 init.cc:238] ENV [CUSTOM_DEVICE_ROOT]=/usr/local/lib/python3.10/dist-packages/paddle_custom_device\n", + "I0508 05:49:31.103742 1483 init.cc:146] Try loading custom device libs from: [/usr/local/lib/python3.10/dist-packages/paddle_custom_device]\n", + "WARNING: Logging before InitGoogleLogging() is written to STDERR\n", + "I0508 05:49:31.268548 1483 runtime.cc:804] InitPlugin for backend GCU successfully.\n", + "I0508 05:49:31.279711 1483 runtime.cc:95] Backend GCU Init, get GCU count:1, current device id:0\n", + "I0508 05:49:31.279740 1483 custom_device_load.cc:51] Succeed in loading custom runtime in lib: /usr/local/lib/python3.10/dist-packages/paddle_custom_device/libpaddle-custom-gcu.so\n", + "I0508 05:49:31.284403 1483 custom_device_load.cc:78] Succeed in loading custom engine in lib: /usr/local/lib/python3.10/dist-packages/paddle_custom_device/libpaddle-custom-gcu.so\n", + "I0508 05:49:31.286999 1483 custom_kernel.cc:68] Succeed in loading 275 custom kernel(s) from loaded lib(s), will be used like native ones.\n", + "I0508 05:49:31.287094 1483 init.cc:158] Finished in LoadCustomDevice with libs_path: [/usr/local/lib/python3.10/dist-packages/paddle_custom_device]\n", + "I0508 05:49:31.287114 1483 init.cc:244] CustomDevice: gcu, visible devices count: 1\n", + "Running verify PaddlePaddle program ... \n", + "I0508 05:49:31.593480 1483 pir_interpreter.cc:1524] New Executor is Running ...\n", + "I0508 05:49:31.594089 1483 runtime.cc:133] Backend GCU init device:0\n", + "I0508 05:49:31.612985 1483 pir_interpreter.cc:1547] pir interpreter is running by multi-thread mode ...\n", + "I0508 05:49:31.613847 1606 utils.cc:136] Kernels launch in JIT ONLY mode:false\n", + "I0508 05:49:31.625713 1606 op_utils.cc:191] AOT kernel stream mode:async\n", + "I0508 05:49:31.655267 1618 gcu_layout_funcs.cc:54] Enable transpose optimize:false\n", + "PaddlePaddle works well on 1 gcu.\n", + "PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now.\n", + "I0508 05:49:31.724458 1483 runtime.cc:149] Backend GCU finalize device:0\n", + "I0508 05:49:31.724476 1483 runtime.cc:101] Backend GCU Finalize\n" + ] + } + ], + "source": [ + "# 在【燧原】环境中需要安装特定版本的 paddlepaddle\n", + "# 参考:https://github.com/PaddlePaddle/community/blob/master/pfcc/paddle-hardware/%E7%87%A7%E5%8E%9F%E7%A7%91%E6%8A%80-%E5%9F%BA%E4%BA%8EFastDeploy%E8%B7%91%E9%80%9AERNIE-4.5-0.3B-Paddle%20%E6%89%93%E5%8D%A1%E4%BB%BB%E5%8A%A1.md\n", + "# # PaddlePaddle『飞桨』深度学习框架,提供运算基础能力\n", + "!python -m pip install paddlepaddle==3.1.0a0 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/\n", + "\n", + "# # PaddleCustomDevice是PaddlePaddle『飞桨』深度学习框架的自定义硬件接入实现,提供GCU的算子实现\n", + "!python -m pip install paddle-custom-gcu==3.0.0.dev20250716 -i https://www.paddlepaddle.org.cn/packages/nightly/gcu/\n", + "\n", + "!python -c \"import paddle_custom_device; paddle_custom_device.gcu.version()\"\n", + "\n", + "!python -c \"import paddle; paddle.utils.run_check()\"" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Looking in indexes: https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple\n", + "Requirement already satisfied: pip in /usr/local/lib/python3.10/dist-packages (25.2)\n", + "Collecting pip\n", + " Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/3a/eb/fea4d1d51c49832120f7f285d07306db3960f423a2612c6057caf3e8196f/pip-26.1.1-py3-none-any.whl (1.8 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.8/1.8 MB\u001b[0m \u001b[31m10.3 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m6m-:--:--\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (80.9.0)\n", + "Collecting setuptools\n", + " Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/9d/76/f789f7a86709c6b087c5a2f52f911838cad707cc613162401badc665acfe/setuptools-82.0.1-py3-none-any.whl (1.0 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.0/1.0 MB\u001b[0m \u001b[31m30.6 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: wheel in /usr/local/lib/python3.10/dist-packages (0.45.1)\n", + "Collecting wheel\n", + " Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/87/1b/9e33c09813d65e248f7f773119148a612516a4bea93e9c6f545f78455b7c/wheel-0.47.0-py3-none-any.whl (32 kB)\n", + "Requirement already satisfied: packaging>=24.0 in /usr/local/lib/python3.10/dist-packages (from wheel) (25.0)\n", + "\u001b[33mWARNING: Error parsing dependencies of mlnx-tools: Invalid version: '-5.2.0-'\u001b[0m\u001b[33m\n", + "\u001b[0mInstalling collected packages: wheel, setuptools, pip\n", + "\u001b[2K Attempting uninstall: wheel\n", + "\u001b[2K Found existing installation: wheel 0.45.1\n", + "\u001b[2K Uninstalling wheel-0.45.1:\n", + "\u001b[2K Successfully uninstalled wheel-0.45.1\n", + "\u001b[2K Attempting uninstall: setuptools\n", + "\u001b[2K Found existing installation: setuptools 80.9.0\n", + "\u001b[2K Uninstalling setuptools-80.9.0:\n", + "\u001b[2K Successfully uninstalled setuptools-80.9.0━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1/3\u001b[0m [setuptools]\n", + "\u001b[2K Attempting uninstall: pip90m╺\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1/3\u001b[0m [setuptools]\n", + "\u001b[2K Found existing installation: pip 25.21m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m \u001b[32m2/3\u001b[0m [pip]ls]\n", + "\u001b[2K Uninstalling pip-25.2:━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m \u001b[32m2/3\u001b[0m [pip]\n", + "\u001b[2K Successfully uninstalled pip-25.2╸\u001b[0m\u001b[90m━━━━━━━━━━━━━\u001b[0m \u001b[32m2/3\u001b[0m [pip]\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3/3\u001b[0m [pip]\u001b[32m2/3\u001b[0m [pip]\n", + "\u001b[1A\u001b[2K\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", + "tensorboard 2.3.0 requires google-auth<2,>=1.6.3, but you have google-auth 2.41.1 which is incompatible.\n", + "thinc 8.3.6 requires numpy<3.0.0,>=2.0.0, but you have numpy 1.26.4 which is incompatible.\n", + "xinference 1.7.0.post1+gcu20250807.0.g70546266.dirty requires click<8.2.0, but you have click 8.3.0 which is incompatible.\u001b[0m\u001b[31m\n", + "\u001b[0mSuccessfully installed pip-26.1.1 setuptools-82.0.1 wheel-0.47.0\n", + "\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\u001b[0m\u001b[33m\n", + "\u001b[0mLooking in indexes: https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple, https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simplels\n", + "Collecting paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl (from -r requirements-gcu.txt (line 13))\n", + " Using cached paddleformers-0.4.0.post20251222-py3-none-any.whl (1.7 MB)\n", + "Collecting flash_mask @ https://paddle-qa.bj.bcebos.com/ernie/flash_mask-4.0.post20260128-py3-none-any.whl (from -r requirements-gcu.txt (line 50))\n", + " Using cached flash_mask-4.0.post20260128-py3-none-any.whl (216 kB)\n", + "Collecting arctic_inference @ https://paddle-qa.bj.bcebos.com/ernie/arctic_inference-0.1.3-cp310-cp310-linux_x86_64.whl (from -r requirements-gcu.txt (line 51))\n", + " Using cached arctic_inference-0.1.3-cp310-cp310-linux_x86_64.whl (254 kB)\n", + "Collecting setuptools==62.3.0 (from -r requirements-gcu.txt (line 1))\n", + " Using cached setuptools-62.3.0-py3-none-any.whl (1.2 MB)\n", + "Collecting pre-commit (from -r requirements-gcu.txt (line 2))\n", + " Using cached pre_commit-4.6.0-py2.py3-none-any.whl (226 kB)\n", + "Collecting yapf (from -r requirements-gcu.txt (line 3))\n", + " Using cached yapf-0.43.0-py3-none-any.whl (256 kB)\n", + "Collecting flake8 (from -r requirements-gcu.txt (line 4))\n", + " Using cached flake8-7.3.0-py2.py3-none-any.whl (57 kB)\n", + "Requirement already satisfied: ruamel.yaml in /usr/local/lib/python3.10/dist-packages (from -r requirements-gcu.txt (line 5)) (0.18.15)\n", + "Collecting zmq (from -r requirements-gcu.txt (line 6))\n", + " Using cached zmq-0.0.0.zip (2.2 kB)\n", + " Installing build dependencies ... \u001b[?25ldone\n", + "\u001b[?25h Getting requirements to build wheel ... \u001b[?25ldone\n", + "\u001b[?25h Preparing metadata (pyproject.toml) ... \u001b[?25ldone\n", + "\u001b[?25hCollecting aiozmq (from -r requirements-gcu.txt (line 7))\n", + " Using cached aiozmq-1.0.0-py3-none-any.whl (35 kB)\n", + "Requirement already satisfied: openai>=1.93.0 in /usr/local/lib/python3.10/dist-packages (from -r requirements-gcu.txt (line 8)) (2.2.0)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from -r requirements-gcu.txt (line 9)) (4.67.1)\n", + "Collecting pynvml (from -r requirements-gcu.txt (line 10))\n", + " Using cached pynvml-13.0.1-py3-none-any.whl (28 kB)\n", + "Collecting uvicorn>=0.38.0 (from -r requirements-gcu.txt (line 11))\n", + " Using cached uvicorn-0.46.0-py3-none-any.whl (70 kB)\n", + "Requirement already satisfied: fastapi in /usr/local/lib/python3.10/dist-packages (from -r requirements-gcu.txt (line 12)) (0.118.2)\n", + "Requirement already satisfied: redis in /usr/local/lib/python3.10/dist-packages (from -r requirements-gcu.txt (line 14)) (6.4.0)\n", + "Collecting etcd3 (from -r requirements-gcu.txt (line 15))\n", + " Using cached etcd3-0.12.0.tar.gz (63 kB)\n", + " Installing build dependencies ... \u001b[?25ldone\n", + "\u001b[?25h Getting requirements to build wheel ... \u001b[?25ldone\n", + "\u001b[?25h Preparing metadata (pyproject.toml) ... \u001b[?25ldone\n", + "\u001b[?25hRequirement already satisfied: httpx in /usr/local/lib/python3.10/dist-packages (from -r requirements-gcu.txt (line 16)) (0.28.1)\n", + "Collecting tool_helpers (from -r requirements-gcu.txt (line 17))\n", + " Using cached tool_helpers-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (111 kB)\n", + "Requirement already satisfied: cupy-cuda12x in /usr/local/lib/python3.10/dist-packages (from -r requirements-gcu.txt (line 18)) (13.6.0)\n", + "Requirement already satisfied: tabulate in /usr/local/lib/python3.10/dist-packages (from -r requirements-gcu.txt (line 20)) (0.9.0)\n", + "Requirement already satisfied: gradio in /usr/local/lib/python3.10/dist-packages (from -r requirements-gcu.txt (line 21)) (5.22.0)\n", + "Collecting xlwt (from -r requirements-gcu.txt (line 22))\n", + " Using cached xlwt-1.3.0-py2.py3-none-any.whl (99 kB)\n", + "Collecting visualdl (from -r requirements-gcu.txt (line 23))\n", + " Using cached visualdl-2.5.3-py3-none-any.whl (6.3 MB)\n", + "Collecting setuptools-scm>=8 (from -r requirements-gcu.txt (line 24))\n", + " Using cached setuptools_scm-10.0.5-py3-none-any.whl (21 kB)\n", + "Requirement already satisfied: prometheus-client in /usr/local/lib/python3.10/dist-packages (from -r requirements-gcu.txt (line 25)) (0.23.1)\n", + "Collecting decord (from -r requirements-gcu.txt (line 26))\n", + " Using cached decord-0.6.0-py3-none-manylinux2010_x86_64.whl (13.6 MB)\n", + "Collecting moviepy (from -r requirements-gcu.txt (line 27))\n", + " Using cached moviepy-2.2.1-py3-none-any.whl (129 kB)\n", + "Collecting triton==3.3 (from -r requirements-gcu.txt (line 28))\n", + " Using cached triton-3.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (156.4 MB)\n", + "Requirement already satisfied: crcmod in /usr/local/lib/python3.10/dist-packages (from -r requirements-gcu.txt (line 29)) (1.7)\n", + "Requirement already satisfied: msgpack in /usr/local/lib/python3.10/dist-packages (from -r requirements-gcu.txt (line 30)) (1.1.2)\n", + "Collecting gunicorn==25.0.3 (from -r requirements-gcu.txt (line 31))\n", + " Using cached gunicorn-25.0.3-py3-none-any.whl (171 kB)\n", + "Requirement already satisfied: modelscope in /usr/local/lib/python3.10/dist-packages (from -r requirements-gcu.txt (line 32)) (1.30.0)\n", + "Collecting safetensors>=0.7.0 (from -r requirements-gcu.txt (line 33))\n", + " Using cached safetensors-0.7.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (507 kB)\n", + "Collecting opentelemetry-api>=1.24.0 (from -r requirements-gcu.txt (line 34))\n", + " Using cached opentelemetry_api-1.41.1-py3-none-any.whl (69 kB)\n", + "Collecting opentelemetry-sdk>=1.24.0 (from -r requirements-gcu.txt (line 35))\n", + " Using cached opentelemetry_sdk-1.41.1-py3-none-any.whl (180 kB)\n", + "Collecting opentelemetry-instrumentation-redis (from -r requirements-gcu.txt (line 36))\n", + " Using cached opentelemetry_instrumentation_redis-0.62b1-py3-none-any.whl (15 kB)\n", + "Collecting opentelemetry-instrumentation-mysql (from -r requirements-gcu.txt (line 37))\n", + " Using cached opentelemetry_instrumentation_mysql-0.62b1-py3-none-any.whl (10 kB)\n", + "Collecting opentelemetry-distro (from -r requirements-gcu.txt (line 38))\n", + " Using cached opentelemetry_distro-0.62b1-py3-none-any.whl (3.3 kB)\n", + "Collecting opentelemetry-exporter-otlp (from -r requirements-gcu.txt (line 39))\n", + " Using cached opentelemetry_exporter_otlp-1.41.1-py3-none-any.whl (7.0 kB)\n", + "Collecting opentelemetry-instrumentation-fastapi (from -r requirements-gcu.txt (line 40))\n", + " Using cached opentelemetry_instrumentation_fastapi-0.62b1-py3-none-any.whl (13 kB)\n", + "Collecting opentelemetry-instrumentation-logging>=0.57b0 (from -r requirements-gcu.txt (line 41))\n", + " Using cached opentelemetry_instrumentation_logging-0.62b1-py3-none-any.whl (17 kB)\n", + "Requirement already satisfied: partial_json_parser in /usr/local/lib/python3.10/dist-packages (from -r requirements-gcu.txt (line 42)) (0.2.1.1.post6)\n", + "Requirement already satisfied: msgspec in /usr/local/lib/python3.10/dist-packages (from -r requirements-gcu.txt (line 43)) (0.19.0)\n", + "Requirement already satisfied: einops in /usr/local/lib/python3.10/dist-packages (from -r requirements-gcu.txt (line 44)) (0.8.1)\n", + "Requirement already satisfied: setproctitle in /usr/local/lib/python3.10/dist-packages (from -r requirements-gcu.txt (line 45)) (1.3.7)\n", + "Collecting aistudio_sdk (from -r requirements-gcu.txt (line 46))\n", + " Using cached aistudio_sdk-0.3.8-py3-none-any.whl (62 kB)\n", + "Collecting p2pstore (from -r requirements-gcu.txt (line 47))\n", + " Using cached p2pstore-0.1.15-py3-none-any.whl (84 kB)\n", + "Requirement already satisfied: py-cpuinfo in /usr/local/lib/python3.10/dist-packages (from -r requirements-gcu.txt (line 48)) (9.0.0)\n", + "Collecting flashinfer-python-paddle (from -r requirements-gcu.txt (line 49))\n", + " Using cached flashinfer_python_paddle-0.4.1.1-py3-none-any.whl (6.9 MB)\n", + "Collecting paddlefsl (from -r requirements-gcu.txt (line 52))\n", + " Using cached paddlefsl-1.1.0-py3-none-any.whl (101 kB)\n", + "Collecting colorama (from -r requirements-gcu.txt (line 53))\n", + " Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n", + "Collecting seqeval (from -r requirements-gcu.txt (line 54))\n", + " Using cached seqeval-1.2.2.tar.gz (43 kB)\n", + " Installing build dependencies ... \u001b[?25ldone\n", + "\u001b[?25h Getting requirements to build wheel ... \u001b[?25ldone\n", + "\u001b[?25h Installing backend dependencies ... \u001b[?25ldone\n", + "\u001b[?25h Preparing metadata (pyproject.toml) ... \u001b[?25ldone\n", + "\u001b[?25hCollecting paddle2onnx (from -r requirements-gcu.txt (line 55))\n", + " Downloading paddle2onnx-2.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.7 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.7/3.7 MB\u001b[0m \u001b[31m18.0 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0mm0:00:01\u001b[0m\n", + "\u001b[?25hCollecting dill<0.3.5 (from -r requirements-gcu.txt (line 56))\n", + " Downloading dill-0.3.4-py2.py3-none-any.whl (86 kB)\n", + "Requirement already satisfied: jieba in /usr/local/lib/python3.10/dist-packages (from -r requirements-gcu.txt (line 57)) (0.42.1)\n", + "Requirement already satisfied: onnx in /usr/local/lib/python3.10/dist-packages (from -r requirements-gcu.txt (line 58)) (1.10.1)\n", + "Collecting pybind11[global] (from -r requirements-gcu.txt (line 19))\n", + " Downloading pybind11-3.0.4-py3-none-any.whl (314 kB)\n", + "Collecting blobfile (from paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13))\n", + " Downloading blobfile-3.2.0-py3-none-any.whl (76 kB)\n", + "Collecting colorlog (from paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13))\n", + " Downloading colorlog-6.10.1-py3-none-any.whl (11 kB)\n", + "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (1.7.2)\n", + "Collecting multiprocess<=0.70.12.2 (from paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13))\n", + " Downloading multiprocess-0.70.12.2-py39-none-any.whl (128 kB)\n", + "Requirement already satisfied: datasets>=3.0.0 in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (4.1.1)\n", + "Requirement already satisfied: sentencepiece in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (0.2.1)\n", + "Requirement already satisfied: huggingface_hub>=0.19.2 in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (0.35.3)\n", + "Requirement already satisfied: protobuf>=3.20.2 in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (6.32.1)\n", + "Collecting fast_dataindex>=0.1.1 (from paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13))\n", + " Downloading fast_dataindex-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (220 kB)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (3.1.6)\n", + "Requirement already satisfied: regex in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (2025.9.18)\n", + "Requirement already satisfied: numpy<=1.26.4 in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (1.26.4)\n", + "Requirement already satisfied: tiktoken in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (0.12.0)\n", + "Requirement already satisfied: ml_dtypes in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (0.5.1)\n", + "Requirement already satisfied: tokenizers<0.22,>=0.21 in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (0.21.4)\n", + "Requirement already satisfied: omegaconf in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (2.3.0)\n", + "Collecting transformers>=4.55.1 (from paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13))\n", + " Downloading transformers-5.8.0-py3-none-any.whl (10.6 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.6/10.6 MB\u001b[0m \u001b[31m33.7 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0meta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25hCollecting use_triton_in_paddle (from paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13))\n", + " Downloading use_triton_in_paddle-0.1.0-py3-none-any.whl (4.0 kB)\n", + "Collecting GPUtil (from paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13))\n", + " Downloading GPUtil-1.4.0.tar.gz (5.5 kB)\n", + " Installing build dependencies ... \u001b[?25ldone\n", + "\u001b[?25h Getting requirements to build wheel ... \u001b[?25ldone\n", + "\u001b[?25h Preparing metadata (pyproject.toml) ... \u001b[?25ldone\n", + "\u001b[?25hCollecting nvidia-cutlass==4.2.0.0 (from flash_mask @ https://paddle-qa.bj.bcebos.com/ernie/flash_mask-4.0.post20260128-py3-none-any.whl->-r requirements-gcu.txt (line 50))\n", + " Downloading nvidia_cutlass-4.2.0.0-py3-none-any.whl (6.4 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m6.4/6.4 MB\u001b[0m \u001b[31m40.1 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting nvidia-cutlass-dsl==4.3.0 (from flash_mask @ https://paddle-qa.bj.bcebos.com/ernie/flash_mask-4.0.post20260128-py3-none-any.whl->-r requirements-gcu.txt (line 50))\n", + " Downloading nvidia_cutlass_dsl-4.3.0-cp310-cp310-manylinux_2_28_x86_64.whl (75.8 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m75.8/75.8 MB\u001b[0m \u001b[31m42.4 MB/s\u001b[0m \u001b[33m0:00:01\u001b[0m eta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: typing_extensions in /usr/local/lib/python3.10/dist-packages (from flash_mask @ https://paddle-qa.bj.bcebos.com/ernie/flash_mask-4.0.post20260128-py3-none-any.whl->-r requirements-gcu.txt (line 50)) (4.14.1)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from gunicorn==25.0.3->-r requirements-gcu.txt (line 31)) (25.0)\n", + "Collecting cuda-python>=11.8.0 (from nvidia-cutlass==4.2.0.0->flash_mask @ https://paddle-qa.bj.bcebos.com/ernie/flash_mask-4.0.post20260128-py3-none-any.whl->-r requirements-gcu.txt (line 50))\n", + " Downloading cuda_python-13.2.0-py3-none-any.whl (8.1 kB)\n", + "Requirement already satisfied: networkx in /usr/local/lib/python3.10/dist-packages (from nvidia-cutlass==4.2.0.0->flash_mask @ https://paddle-qa.bj.bcebos.com/ernie/flash_mask-4.0.post20260128-py3-none-any.whl->-r requirements-gcu.txt (line 50)) (3.3)\n", + "Collecting pydot (from nvidia-cutlass==4.2.0.0->flash_mask @ https://paddle-qa.bj.bcebos.com/ernie/flash_mask-4.0.post20260128-py3-none-any.whl->-r requirements-gcu.txt (line 50))\n", + " Downloading pydot-4.0.1-py3-none-any.whl (37 kB)\n", + "Requirement already satisfied: scipy in /usr/local/lib/python3.10/dist-packages (from nvidia-cutlass==4.2.0.0->flash_mask @ https://paddle-qa.bj.bcebos.com/ernie/flash_mask-4.0.post20260128-py3-none-any.whl->-r requirements-gcu.txt (line 50)) (1.15.3)\n", + "Collecting treelib (from nvidia-cutlass==4.2.0.0->flash_mask @ https://paddle-qa.bj.bcebos.com/ernie/flash_mask-4.0.post20260128-py3-none-any.whl->-r requirements-gcu.txt (line 50))\n", + " Downloading treelib-1.8.0-py3-none-any.whl (30 kB)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from huggingface_hub>=0.19.2->paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (3.20.0)\n", + "Requirement already satisfied: fsspec>=2023.5.0 in /usr/local/lib/python3.10/dist-packages (from huggingface_hub>=0.19.2->paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (2024.6.1)\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.10/dist-packages (from huggingface_hub>=0.19.2->paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (6.0.1)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from huggingface_hub>=0.19.2->paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (2.32.5)\n", + "Requirement already satisfied: hf-xet<2.0.0,>=1.1.3 in /usr/local/lib/python3.10/dist-packages (from huggingface_hub>=0.19.2->paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (1.1.10)\n", + "Collecting cfgv>=2.0.0 (from pre-commit->-r requirements-gcu.txt (line 2))\n", + " Downloading cfgv-3.5.0-py2.py3-none-any.whl (7.4 kB)\n", + "Collecting identify>=1.0.0 (from pre-commit->-r requirements-gcu.txt (line 2))\n", + " Downloading identify-2.6.19-py2.py3-none-any.whl (99 kB)\n", + "Collecting nodeenv>=0.11.1 (from pre-commit->-r requirements-gcu.txt (line 2))\n", + " Downloading nodeenv-1.10.0-py2.py3-none-any.whl (23 kB)\n", + "Collecting virtualenv>=20.10.0 (from pre-commit->-r requirements-gcu.txt (line 2))\n", + " Downloading virtualenv-21.3.1-py3-none-any.whl (7.6 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m7.6/7.6 MB\u001b[0m \u001b[31m17.1 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m eta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: platformdirs>=3.5.1 in /usr/local/lib/python3.10/dist-packages (from yapf->-r requirements-gcu.txt (line 3)) (4.5.0)\n", + "Requirement already satisfied: tomli>=2.0.1 in /usr/local/lib/python3.10/dist-packages (from yapf->-r requirements-gcu.txt (line 3)) (2.3.0)\n", + "Collecting mccabe<0.8.0,>=0.7.0 (from flake8->-r requirements-gcu.txt (line 4))\n", + " Downloading mccabe-0.7.0-py2.py3-none-any.whl (7.3 kB)\n", + "Requirement already satisfied: pycodestyle<2.15.0,>=2.14.0 in /usr/local/lib/python3.10/dist-packages (from flake8->-r requirements-gcu.txt (line 4)) (2.14.0)\n", + "Collecting pyflakes<3.5.0,>=3.4.0 (from flake8->-r requirements-gcu.txt (line 4))\n", + " Downloading pyflakes-3.4.0-py2.py3-none-any.whl (63 kB)\n", + "Requirement already satisfied: ruamel.yaml.clib>=0.2.7 in /usr/local/lib/python3.10/dist-packages (from ruamel.yaml->-r requirements-gcu.txt (line 5)) (0.2.14)\n", + "Requirement already satisfied: pyzmq in /usr/local/lib/python3.10/dist-packages (from zmq->-r requirements-gcu.txt (line 6)) (27.1.0)\n", + "Requirement already satisfied: anyio<5,>=3.5.0 in /usr/local/lib/python3.10/dist-packages (from openai>=1.93.0->-r requirements-gcu.txt (line 8)) (4.11.0)\n", + "Requirement already satisfied: distro<2,>=1.7.0 in /usr/lib/python3/dist-packages (from openai>=1.93.0->-r requirements-gcu.txt (line 8)) (1.7.0)\n", + "Requirement already satisfied: jiter<1,>=0.4.0 in /usr/local/lib/python3.10/dist-packages (from openai>=1.93.0->-r requirements-gcu.txt (line 8)) (0.11.0)\n", + "Requirement already satisfied: pydantic<3,>=1.9.0 in /usr/local/lib/python3.10/dist-packages (from openai>=1.93.0->-r requirements-gcu.txt (line 8)) (2.12.0)\n", + "Requirement already satisfied: sniffio in /usr/local/lib/python3.10/dist-packages (from openai>=1.93.0->-r requirements-gcu.txt (line 8)) (1.3.1)\n", + "Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from httpx->-r requirements-gcu.txt (line 16)) (2025.7.14)\n", + "Requirement already satisfied: httpcore==1.* in /usr/local/lib/python3.10/dist-packages (from httpx->-r requirements-gcu.txt (line 16)) (1.0.9)\n", + "Requirement already satisfied: idna in /usr/local/lib/python3.10/dist-packages (from httpx->-r requirements-gcu.txt (line 16)) (2.8)\n", + "Requirement already satisfied: exceptiongroup>=1.0.2 in /usr/local/lib/python3.10/dist-packages (from anyio<5,>=3.5.0->openai>=1.93.0->-r requirements-gcu.txt (line 8)) (1.3.0)\n", + "Requirement already satisfied: h11>=0.16 in /usr/local/lib/python3.10/dist-packages (from httpcore==1.*->httpx->-r requirements-gcu.txt (line 16)) (0.16.0)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic<3,>=1.9.0->openai>=1.93.0->-r requirements-gcu.txt (line 8)) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.41.1 in /usr/local/lib/python3.10/dist-packages (from pydantic<3,>=1.9.0->openai>=1.93.0->-r requirements-gcu.txt (line 8)) (2.41.1)\n", + "Requirement already satisfied: typing-inspection>=0.4.2 in /usr/local/lib/python3.10/dist-packages (from pydantic<3,>=1.9.0->openai>=1.93.0->-r requirements-gcu.txt (line 8)) (0.4.2)\n", + "Requirement already satisfied: nvidia-ml-py>=12.0.0 in /usr/local/lib/python3.10/dist-packages (from pynvml->-r requirements-gcu.txt (line 10)) (13.580.82)\n", + "Requirement already satisfied: click>=7.0 in /usr/local/lib/python3.10/dist-packages (from uvicorn>=0.38.0->-r requirements-gcu.txt (line 11)) (8.3.0)\n", + "Requirement already satisfied: starlette<0.49.0,>=0.40.0 in /usr/local/lib/python3.10/dist-packages (from fastapi->-r requirements-gcu.txt (line 12)) (0.48.0)\n", + "Requirement already satisfied: async-timeout>=4.0.3 in /usr/local/lib/python3.10/dist-packages (from redis->-r requirements-gcu.txt (line 14)) (5.0.1)\n", + "Requirement already satisfied: grpcio>=1.27.1 in /usr/local/lib/python3.10/dist-packages (from etcd3->-r requirements-gcu.txt (line 15)) (1.64.1)\n", + "Requirement already satisfied: six>=1.12.0 in /usr/lib/python3/dist-packages (from etcd3->-r requirements-gcu.txt (line 15)) (1.16.0)\n", + "Collecting tenacity>=6.1.0 (from etcd3->-r requirements-gcu.txt (line 15))\n", + " Downloading tenacity-9.1.4-py3-none-any.whl (28 kB)\n", + "Requirement already satisfied: fastrlock>=0.5 in /usr/local/lib/python3.10/dist-packages (from cupy-cuda12x->-r requirements-gcu.txt (line 18)) (0.8.3)\n", + "Collecting pybind11-global==3.0.4 (from pybind11[global]->-r requirements-gcu.txt (line 19))\n", + " Downloading pybind11_global-3.0.4-py3-none-any.whl (580 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m580.3/580.3 kB\u001b[0m \u001b[31m54.7 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: aiofiles<24.0,>=22.0 in /usr/local/lib/python3.10/dist-packages (from gradio->-r requirements-gcu.txt (line 21)) (23.2.1)\n", + "Requirement already satisfied: ffmpy in /usr/local/lib/python3.10/dist-packages (from gradio->-r requirements-gcu.txt (line 21)) (0.6.2)\n", + "Requirement already satisfied: gradio-client==1.8.0 in /usr/local/lib/python3.10/dist-packages (from gradio->-r requirements-gcu.txt (line 21)) (1.8.0)\n", + "Requirement already satisfied: groovy~=0.1 in /usr/local/lib/python3.10/dist-packages (from gradio->-r requirements-gcu.txt (line 21)) (0.1.2)\n", + "Requirement already satisfied: markupsafe<4.0,>=2.0 in /usr/local/lib/python3.10/dist-packages (from gradio->-r requirements-gcu.txt (line 21)) (3.0.2)\n", + "Requirement already satisfied: orjson~=3.0 in /usr/local/lib/python3.10/dist-packages (from gradio->-r requirements-gcu.txt (line 21)) (3.11.3)\n", + "Requirement already satisfied: pandas<3.0,>=1.0 in /usr/local/lib/python3.10/dist-packages (from gradio->-r requirements-gcu.txt (line 21)) (2.2.2)\n", + "Requirement already satisfied: pillow<12.0,>=8.0 in /usr/local/lib/python3.10/dist-packages (from gradio->-r requirements-gcu.txt (line 21)) (11.3.0)\n", + "Requirement already satisfied: pydub in /usr/local/lib/python3.10/dist-packages (from gradio->-r requirements-gcu.txt (line 21)) (0.25.1)\n", + "Requirement already satisfied: python-multipart>=0.0.18 in /usr/local/lib/python3.10/dist-packages (from gradio->-r requirements-gcu.txt (line 21)) (0.0.20)\n", + "Requirement already satisfied: ruff>=0.9.3 in /usr/local/lib/python3.10/dist-packages (from gradio->-r requirements-gcu.txt (line 21)) (0.14.0)\n", + "Requirement already satisfied: safehttpx<0.2.0,>=0.1.6 in /usr/local/lib/python3.10/dist-packages (from gradio->-r requirements-gcu.txt (line 21)) (0.1.6)\n", + "Requirement already satisfied: semantic-version~=2.0 in /usr/local/lib/python3.10/dist-packages (from gradio->-r requirements-gcu.txt (line 21)) (2.10.0)\n", + "Requirement already satisfied: tomlkit<0.14.0,>=0.12.0 in /usr/local/lib/python3.10/dist-packages (from gradio->-r requirements-gcu.txt (line 21)) (0.13.3)\n", + "Requirement already satisfied: typer<1.0,>=0.12 in /usr/local/lib/python3.10/dist-packages (from gradio->-r requirements-gcu.txt (line 21)) (0.19.2)\n", + "Requirement already satisfied: websockets<16.0,>=10.0 in /usr/local/lib/python3.10/dist-packages (from gradio-client==1.8.0->gradio->-r requirements-gcu.txt (line 21)) (15.0.1)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas<3.0,>=1.0->gradio->-r requirements-gcu.txt (line 21)) (2.9.0.post0)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas<3.0,>=1.0->gradio->-r requirements-gcu.txt (line 21)) (2025.2)\n", + "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas<3.0,>=1.0->gradio->-r requirements-gcu.txt (line 21)) (2025.2)\n", + "Requirement already satisfied: shellingham>=1.3.0 in /usr/local/lib/python3.10/dist-packages (from typer<1.0,>=0.12->gradio->-r requirements-gcu.txt (line 21)) (1.5.4)\n", + "Requirement already satisfied: rich>=10.11.0 in /usr/local/lib/python3.10/dist-packages (from typer<1.0,>=0.12->gradio->-r requirements-gcu.txt (line 21)) (13.9.4)\n", + "Collecting bce-python-sdk (from visualdl->-r requirements-gcu.txt (line 23))\n", + " Downloading bce_python_sdk-0.9.71-py3-none-any.whl (417 kB)\n", + "Collecting flask>=1.1.1 (from visualdl->-r requirements-gcu.txt (line 23))\n", + " Downloading flask-3.1.3-py3-none-any.whl (103 kB)\n", + "Collecting Flask-Babel>=3.0.0 (from visualdl->-r requirements-gcu.txt (line 23))\n", + " Downloading flask_babel-4.0.0-py3-none-any.whl (9.6 kB)\n", + "Collecting matplotlib (from visualdl->-r requirements-gcu.txt (line 23))\n", + " Downloading matplotlib-3.10.9-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (8.8 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m8.8/8.8 MB\u001b[0m \u001b[31m36.3 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m eta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25hCollecting rarfile (from visualdl->-r requirements-gcu.txt (line 23))\n", + " Downloading rarfile-4.2-py3-none-any.whl (29 kB)\n", + "Requirement already satisfied: psutil in /usr/local/lib/python3.10/dist-packages (from visualdl->-r requirements-gcu.txt (line 23)) (7.1.0)\n", + "Collecting vcs-versioning>=1.0.0.dev0 (from setuptools-scm>=8->-r requirements-gcu.txt (line 24))\n", + " Using cached vcs_versioning-1.1.1-py3-none-any.whl (79 kB)\n", + "Requirement already satisfied: decorator<6.0,>=4.0.2 in /usr/local/lib/python3.10/dist-packages (from moviepy->-r requirements-gcu.txt (line 27)) (5.1.1)\n", + "Requirement already satisfied: imageio<3.0,>=2.5 in /usr/local/lib/python3.10/dist-packages (from moviepy->-r requirements-gcu.txt (line 27)) (2.37.0)\n", + "Requirement already satisfied: imageio_ffmpeg>=0.2.0 in /usr/local/lib/python3.10/dist-packages (from moviepy->-r requirements-gcu.txt (line 27)) (0.6.0)\n", + "Collecting proglog<=1.0.0 (from moviepy->-r requirements-gcu.txt (line 27))\n", + " Downloading proglog-0.1.12-py3-none-any.whl (6.3 kB)\n", + "Requirement already satisfied: python-dotenv>=0.10 in /usr/local/lib/python3.10/dist-packages (from moviepy->-r requirements-gcu.txt (line 27)) (1.1.1)\n", + "Requirement already satisfied: urllib3>=1.26 in /usr/local/lib/python3.10/dist-packages (from modelscope->-r requirements-gcu.txt (line 32)) (2.0.7)\n", + "Collecting importlib-metadata<8.8.0,>=6.0 (from opentelemetry-api>=1.24.0->-r requirements-gcu.txt (line 34))\n", + " Downloading importlib_metadata-8.7.1-py3-none-any.whl (27 kB)\n", + "Collecting zipp>=3.20 (from importlib-metadata<8.8.0,>=6.0->opentelemetry-api>=1.24.0->-r requirements-gcu.txt (line 34))\n", + " Downloading zipp-3.23.1-py3-none-any.whl (10 kB)\n", + "Collecting opentelemetry-semantic-conventions==0.62b1 (from opentelemetry-sdk>=1.24.0->-r requirements-gcu.txt (line 35))\n", + " Downloading opentelemetry_semantic_conventions-0.62b1-py3-none-any.whl (231 kB)\n", + "Collecting opentelemetry-instrumentation==0.62b1 (from opentelemetry-instrumentation-redis->-r requirements-gcu.txt (line 36))\n", + " Downloading opentelemetry_instrumentation-0.62b1-py3-none-any.whl (34 kB)\n", + "Requirement already satisfied: wrapt>=1.12.1 in /usr/local/lib/python3.10/dist-packages (from opentelemetry-instrumentation-redis->-r requirements-gcu.txt (line 36)) (1.16.0)\n", + "Collecting opentelemetry-instrumentation-dbapi==0.62b1 (from opentelemetry-instrumentation-mysql->-r requirements-gcu.txt (line 37))\n", + " Downloading opentelemetry_instrumentation_dbapi-0.62b1-py3-none-any.whl (14 kB)\n", + "Collecting opentelemetry-exporter-otlp-proto-grpc==1.41.1 (from opentelemetry-exporter-otlp->-r requirements-gcu.txt (line 39))\n", + " Downloading opentelemetry_exporter_otlp_proto_grpc-1.41.1-py3-none-any.whl (20 kB)\n", + "Collecting opentelemetry-exporter-otlp-proto-http==1.41.1 (from opentelemetry-exporter-otlp->-r requirements-gcu.txt (line 39))\n", + " Downloading opentelemetry_exporter_otlp_proto_http-1.41.1-py3-none-any.whl (22 kB)\n", + "Requirement already satisfied: googleapis-common-protos~=1.57 in /usr/local/lib/python3.10/dist-packages (from opentelemetry-exporter-otlp-proto-grpc==1.41.1->opentelemetry-exporter-otlp->-r requirements-gcu.txt (line 39)) (1.70.0)\n", + "Collecting opentelemetry-exporter-otlp-proto-common==1.41.1 (from opentelemetry-exporter-otlp-proto-grpc==1.41.1->opentelemetry-exporter-otlp->-r requirements-gcu.txt (line 39))\n", + " Downloading opentelemetry_exporter_otlp_proto_common-1.41.1-py3-none-any.whl (18 kB)\n", + "Collecting opentelemetry-proto==1.41.1 (from opentelemetry-exporter-otlp-proto-grpc==1.41.1->opentelemetry-exporter-otlp->-r requirements-gcu.txt (line 39))\n", + " Downloading opentelemetry_proto-1.41.1-py3-none-any.whl (72 kB)\n", + "Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->huggingface_hub>=0.19.2->paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (3.4.3)\n", + "Collecting opentelemetry-instrumentation-asgi==0.62b1 (from opentelemetry-instrumentation-fastapi->-r requirements-gcu.txt (line 40))\n", + " Downloading opentelemetry_instrumentation_asgi-0.62b1-py3-none-any.whl (17 kB)\n", + "Collecting opentelemetry-util-http==0.62b1 (from opentelemetry-instrumentation-fastapi->-r requirements-gcu.txt (line 40))\n", + " Downloading opentelemetry_util_http-0.62b1-py3-none-any.whl (9.3 kB)\n", + "Collecting asgiref~=3.0 (from opentelemetry-instrumentation-asgi==0.62b1->opentelemetry-instrumentation-fastapi->-r requirements-gcu.txt (line 40))\n", + " Downloading asgiref-3.11.1-py3-none-any.whl (24 kB)\n", + "Collecting prettytable (from aistudio_sdk->-r requirements-gcu.txt (line 46))\n", + " Downloading prettytable-3.17.0-py3-none-any.whl (34 kB)\n", + "Collecting mooncake-transfer-engine<0.4.0,>=0.3.7 (from p2pstore->-r requirements-gcu.txt (line 47))\n", + " Downloading mooncake_transfer_engine-0.3.10.post2-cp310-cp310-manylinux_2_35_x86_64.whl (41.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m41.1/41.1 MB\u001b[0m \u001b[31m36.1 MB/s\u001b[0m \u001b[33m0:00:01\u001b[0m eta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: aiohttp in /usr/local/lib/python3.10/dist-packages (from mooncake-transfer-engine<0.4.0,>=0.3.7->p2pstore->-r requirements-gcu.txt (line 47)) (3.13.0)\n", + "Collecting apache-tvm-ffi<0.2,>=0.1.3 (from flashinfer-python-paddle->-r requirements-gcu.txt (line 49))\n", + " Downloading apache_tvm_ffi-0.1.11-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.8 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.8/2.8 MB\u001b[0m \u001b[31m102.1 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: ninja in /usr/local/lib/python3.10/dist-packages (from flashinfer-python-paddle->-r requirements-gcu.txt (line 49)) (1.13.0)\n", + "Collecting nvidia-cudnn-frontend>=1.13.0 (from flashinfer-python-paddle->-r requirements-gcu.txt (line 49))\n", + " Downloading nvidia_cudnn_frontend-1.23.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.1/3.1 MB\u001b[0m \u001b[31m105.2 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting onnx (from -r requirements-gcu.txt (line 58))\n", + " Downloading onnx-1.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.0 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m16.0/16.0 MB\u001b[0m \u001b[31m45.3 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m eta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25hCollecting onnxoptimizer==0.3.13 (from paddle2onnx->-r requirements-gcu.txt (line 55))\n", + " Downloading onnxoptimizer-0.3.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (678 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m678.1/678.1 kB\u001b[0m \u001b[31m73.1 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting polygraphy>=0.49.20 (from paddle2onnx->-r requirements-gcu.txt (line 55))\n", + " Downloading polygraphy-0.49.26-py2.py3-none-any.whl (372 kB)\n", + "Collecting cuda-bindings~=13.2.0 (from cuda-python>=11.8.0->nvidia-cutlass==4.2.0.0->flash_mask @ https://paddle-qa.bj.bcebos.com/ernie/flash_mask-4.0.post20260128-py3-none-any.whl->-r requirements-gcu.txt (line 50))\n", + " Downloading cuda_bindings-13.2.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m6.3/6.3 MB\u001b[0m \u001b[31m33.0 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting cuda-pathfinder~=1.1 (from cuda-python>=11.8.0->nvidia-cutlass==4.2.0.0->flash_mask @ https://paddle-qa.bj.bcebos.com/ernie/flash_mask-4.0.post20260128-py3-none-any.whl->-r requirements-gcu.txt (line 50))\n", + " Downloading cuda_pathfinder-1.5.4-py3-none-any.whl (51 kB)\n", + "Requirement already satisfied: pyarrow>=21.0.0 in /usr/local/lib/python3.10/dist-packages (from datasets>=3.0.0->paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (21.0.0)\n", + "Requirement already satisfied: xxhash in /usr/local/lib/python3.10/dist-packages (from datasets>=3.0.0->paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (3.6.0)\n", + "Requirement already satisfied: aiohappyeyeballs>=2.5.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->mooncake-transfer-engine<0.4.0,>=0.3.7->p2pstore->-r requirements-gcu.txt (line 47)) (2.6.1)\n", + "Requirement already satisfied: aiosignal>=1.4.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->mooncake-transfer-engine<0.4.0,>=0.3.7->p2pstore->-r requirements-gcu.txt (line 47)) (1.4.0)\n", + "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->mooncake-transfer-engine<0.4.0,>=0.3.7->p2pstore->-r requirements-gcu.txt (line 47)) (25.4.0)\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from aiohttp->mooncake-transfer-engine<0.4.0,>=0.3.7->p2pstore->-r requirements-gcu.txt (line 47)) (1.8.0)\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.10/dist-packages (from aiohttp->mooncake-transfer-engine<0.4.0,>=0.3.7->p2pstore->-r requirements-gcu.txt (line 47)) (6.7.0)\n", + "Requirement already satisfied: propcache>=0.2.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->mooncake-transfer-engine<0.4.0,>=0.3.7->p2pstore->-r requirements-gcu.txt (line 47)) (0.4.1)\n", + "Requirement already satisfied: yarl<2.0,>=1.17.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->mooncake-transfer-engine<0.4.0,>=0.3.7->p2pstore->-r requirements-gcu.txt (line 47)) (1.22.0)\n", + "Requirement already satisfied: blinker>=1.9.0 in /usr/local/lib/python3.10/dist-packages (from flask>=1.1.1->visualdl->-r requirements-gcu.txt (line 23)) (1.9.0)\n", + "Collecting itsdangerous>=2.2.0 (from flask>=1.1.1->visualdl->-r requirements-gcu.txt (line 23))\n", + " Downloading itsdangerous-2.2.0-py3-none-any.whl (16 kB)\n", + "Collecting werkzeug>=3.1.0 (from flask>=1.1.1->visualdl->-r requirements-gcu.txt (line 23))\n", + " Downloading werkzeug-3.1.8-py3-none-any.whl (226 kB)\n", + "Requirement already satisfied: Babel>=2.12 in /usr/local/lib/python3.10/dist-packages (from Flask-Babel>=3.0.0->visualdl->-r requirements-gcu.txt (line 23)) (2.17.0)\n", + "Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich>=10.11.0->typer<1.0,>=0.12->gradio->-r requirements-gcu.txt (line 21)) (3.0.0)\n", + "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich>=10.11.0->typer<1.0,>=0.12->gradio->-r requirements-gcu.txt (line 21)) (2.19.2)\n", + "Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich>=10.11.0->typer<1.0,>=0.12->gradio->-r requirements-gcu.txt (line 21)) (0.1.2)\n", + "Requirement already satisfied: joblib>=1.2.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn->paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (1.5.2)\n", + "Requirement already satisfied: threadpoolctl>=3.1.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn->paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (3.6.0)\n", + "INFO: pip is looking at multiple versions of transformers to determine which version is compatible with other requirements. This could take a while.\n", + "Collecting transformers>=4.55.1 (from paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13))\n", + " Downloading transformers-5.7.0-py3-none-any.whl (10.5 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.5/10.5 MB\u001b[0m \u001b[31m38.5 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0meta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25h Downloading transformers-5.6.2-py3-none-any.whl (10.4 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.4/10.4 MB\u001b[0m \u001b[31m35.0 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0meta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25h Downloading transformers-5.6.1-py3-none-any.whl (10.4 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.4/10.4 MB\u001b[0m \u001b[31m37.3 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0meta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25h Downloading transformers-5.6.0-py3-none-any.whl (10.4 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.4/10.4 MB\u001b[0m \u001b[31m45.7 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0mm0:00:01\u001b[0m\n", + "\u001b[?25h Downloading transformers-5.5.4-py3-none-any.whl (10.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.2/10.2 MB\u001b[0m \u001b[31m36.2 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0meta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25h Downloading transformers-5.5.3-py3-none-any.whl (10.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.2/10.2 MB\u001b[0m \u001b[31m35.0 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0meta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25h Downloading transformers-5.5.2-py3-none-any.whl (10.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.2/10.2 MB\u001b[0m \u001b[31m30.7 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0meta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25hINFO: pip is still looking at multiple versions of transformers to determine which version is compatible with other requirements. This could take a while.\n", + " Downloading transformers-5.5.1-py3-none-any.whl (10.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.2/10.2 MB\u001b[0m \u001b[31m34.4 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0meta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25h Downloading transformers-5.5.0-py3-none-any.whl (10.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.2/10.2 MB\u001b[0m \u001b[31m32.4 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0meta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25h Downloading transformers-5.4.0-py3-none-any.whl (10.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.1/10.1 MB\u001b[0m \u001b[31m39.8 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0meta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25h Downloading transformers-5.3.0-py3-none-any.whl (10.7 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.7/10.7 MB\u001b[0m \u001b[31m36.0 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0meta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25h Downloading transformers-5.2.0-py3-none-any.whl (10.4 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.4/10.4 MB\u001b[0m \u001b[31m19.4 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0meta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25hINFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.\n", + " Downloading transformers-5.1.0-py3-none-any.whl (10.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.3/10.3 MB\u001b[0m \u001b[31m37.0 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0meta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25h Downloading transformers-5.0.0-py3-none-any.whl (10.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.1/10.1 MB\u001b[0m \u001b[31m31.3 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0meta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25h Downloading transformers-4.57.6-py3-none-any.whl (12.0 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m12.0/12.0 MB\u001b[0m \u001b[31m49.8 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m eta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25h Downloading transformers-4.57.5-py3-none-any.whl (12.0 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m12.0/12.0 MB\u001b[0m \u001b[31m41.6 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0meta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25h Downloading transformers-4.57.4-py3-none-any.whl (12.0 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m12.0/12.0 MB\u001b[0m \u001b[31m39.9 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0meta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25h Downloading transformers-4.57.3-py3-none-any.whl (12.0 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m12.0/12.0 MB\u001b[0m \u001b[31m40.7 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0meta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25h Downloading transformers-4.57.2-py3-none-any.whl (12.0 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m12.0/12.0 MB\u001b[0m \u001b[31m38.3 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0meta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25h Downloading transformers-4.57.1-py3-none-any.whl (12.0 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m12.0/12.0 MB\u001b[0m \u001b[31m44.6 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0meta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25h Downloading transformers-4.56.2-py3-none-any.whl (11.6 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m11.6/11.6 MB\u001b[0m \u001b[31m40.0 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0meta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25h Downloading transformers-4.56.1-py3-none-any.whl (11.6 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m11.6/11.6 MB\u001b[0m \u001b[31m43.9 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0meta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25h Downloading transformers-4.56.0-py3-none-any.whl (11.6 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m11.6/11.6 MB\u001b[0m \u001b[31m47.9 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m eta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25h Downloading transformers-4.55.4-py3-none-any.whl (11.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m11.3/11.3 MB\u001b[0m \u001b[31m40.2 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0meta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25hCollecting distlib<1,>=0.3.7 (from virtualenv>=20.10.0->pre-commit->-r requirements-gcu.txt (line 2))\n", + " Downloading distlib-0.4.0-py2.py3-none-any.whl (469 kB)\n", + "Collecting filelock (from huggingface_hub>=0.19.2->paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13))\n", + " Downloading filelock-3.29.0-py3-none-any.whl (39 kB)\n", + "Collecting python-discovery>=1.2.2 (from virtualenv>=20.10.0->pre-commit->-r requirements-gcu.txt (line 2))\n", + " Downloading python_discovery-1.3.0-py3-none-any.whl (33 kB)\n", + "Requirement already satisfied: pycryptodome>=3.8.0 in /usr/local/lib/python3.10/dist-packages (from bce-python-sdk->visualdl->-r requirements-gcu.txt (line 23)) (3.23.0)\n", + "Requirement already satisfied: future>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from bce-python-sdk->visualdl->-r requirements-gcu.txt (line 23)) (1.0.0)\n", + "Collecting crc32c>=2.2.post0 (from bce-python-sdk->visualdl->-r requirements-gcu.txt (line 23))\n", + " Downloading crc32c-2.8-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (79 kB)\n", + "Collecting pycryptodomex>=3.8 (from blobfile->paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13))\n", + " Downloading pycryptodomex-3.23.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.3/2.3 MB\u001b[0m \u001b[31m89.4 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: lxml>=4.9 in /usr/local/lib/python3.10/dist-packages (from blobfile->paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (6.0.2)\n", + "Collecting contourpy>=1.0.1 (from matplotlib->visualdl->-r requirements-gcu.txt (line 23))\n", + " Downloading contourpy-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (325 kB)\n", + "Collecting cycler>=0.10 (from matplotlib->visualdl->-r requirements-gcu.txt (line 23))\n", + " Downloading cycler-0.12.1-py3-none-any.whl (8.3 kB)\n", + "Collecting fonttools>=4.22.0 (from matplotlib->visualdl->-r requirements-gcu.txt (line 23))\n", + " Downloading fonttools-4.62.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.9 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m4.9/4.9 MB\u001b[0m \u001b[31m45.7 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting kiwisolver>=1.3.1 (from matplotlib->visualdl->-r requirements-gcu.txt (line 23))\n", + " Downloading kiwisolver-1.5.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.6 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.6/1.6 MB\u001b[0m \u001b[31m99.5 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting pyparsing>=3 (from matplotlib->visualdl->-r requirements-gcu.txt (line 23))\n", + " Downloading pyparsing-3.3.2-py3-none-any.whl (122 kB)\n", + "Requirement already satisfied: antlr4-python3-runtime==4.9.* in /usr/local/lib/python3.10/dist-packages (from omegaconf->paddleformers @ https://paddle-qa.bj.bcebos.com/ernie/paddleformers-0.4.0.post20251222-py3-none-any.whl->-r requirements-gcu.txt (line 13)) (4.9.3)\n", + "Requirement already satisfied: wcwidth in /usr/local/lib/python3.10/dist-packages (from prettytable->aistudio_sdk->-r requirements-gcu.txt (line 46)) (0.2.14)\n", + "Building wheels for collected packages: zmq, etcd3, seqeval, GPUtil\n", + " Building wheel for zmq (pyproject.toml) ... \u001b[?25ldone\n", + "\u001b[?25h Created wheel for zmq: filename=zmq-0.0.0-py3-none-any.whl size=1087 sha256=b647f77aa4df6614f98e2913530e785140befd09e3a797a751187dd7e9fb3788\n", + " Stored in directory: /root/.cache/pip/wheels/a0/9b/71/f213dbdd687f02a09ce56ff361d70bf53a52c40ea1dec83a7e\n", + " Building wheel for etcd3 (pyproject.toml) ... \u001b[?25ldone\n", + "\u001b[?25h Created wheel for etcd3: filename=etcd3-0.12.0-py2.py3-none-any.whl size=42976 sha256=6582e16705c965bbe426078f17b35cf0700d5b6aeb8d69eb6528e767bddc89cf\n", + " Stored in directory: /root/.cache/pip/wheels/af/6a/31/b3873f849acccce0fa4237ad9bbb7bf3162c97a6b2c0c2522e\n", + " Building wheel for seqeval (pyproject.toml) ... \u001b[?25ldone\n", + "\u001b[?25h Created wheel for seqeval: filename=seqeval-1.2.2-py3-none-any.whl size=16252 sha256=14b84e66a0c67943f61611a94823e1e86f5cda695bd9f4655c51e8f84997f32d\n", + " Stored in directory: /root/.cache/pip/wheels/ad/55/48/11993919789e3db76fca2c12510d879a640dd8dc6d43b94d4e\n", + " Building wheel for GPUtil (pyproject.toml) ... \u001b[?25ldone\n", + "\u001b[?25h Created wheel for GPUtil: filename=gputil-1.4.0-py3-none-any.whl size=7437 sha256=87d6eb99f57bb20e50c27a99175ba76765071ad1fb28148307cb7384a456fc77\n", + " Stored in directory: /root/.cache/pip/wheels/05/b0/4c/05b15fd60dd684e9919b665fa244c5c740f92e0893dcba5685\n", + "Successfully built zmq etcd3 seqeval GPUtil\n", + "\u001b[33mWARNING: Error parsing dependencies of mlnx-tools: Invalid version: '-5.2.0-'\u001b[0m\u001b[33m\n", + "\u001b[0mInstalling collected packages: xlwt, use_triton_in_paddle, GPUtil, distlib, arctic_inference, zmq, zipp, yapf, werkzeug, vcs-versioning, uvicorn, treelib, tenacity, setuptools, safetensors, rarfile, pyparsing, pynvml, pyflakes, pycryptodomex, pybind11-global, pybind11, proglog, prettytable, polygraphy, opentelemetry-util-http, opentelemetry-proto, onnx, nvidia-cudnn-frontend, nodeenv, mccabe, kiwisolver, itsdangerous, identify, gunicorn, fonttools, filelock, dill, decord, cycler, cuda-pathfinder, crc32c, contourpy, colorlog, colorama, cfgv, asgiref, apache-tvm-ffi, aiozmq, triton, tool_helpers, setuptools-scm, python-discovery, pydot, paddlefsl, opentelemetry-exporter-otlp-proto-common, onnxoptimizer, multiprocess, moviepy, matplotlib, importlib-metadata, flask, flake8, fast_dataindex, etcd3, cuda-bindings, blobfile, bce-python-sdk, virtualenv, seqeval, paddle2onnx, opentelemetry-api, Flask-Babel, cuda-python, aistudio_sdk, visualdl, transformers, pre-commit, opentelemetry-semantic-conventions, nvidia-cutlass-dsl, nvidia-cutlass, mooncake-transfer-engine, p2pstore, opentelemetry-sdk, opentelemetry-instrumentation, flashinfer-python-paddle, flash_mask, paddleformers, opentelemetry-instrumentation-redis, opentelemetry-instrumentation-logging, opentelemetry-instrumentation-dbapi, opentelemetry-instrumentation-asgi, opentelemetry-exporter-otlp-proto-http, opentelemetry-exporter-otlp-proto-grpc, opentelemetry-distro, opentelemetry-instrumentation-mysql, opentelemetry-instrumentation-fastapi, opentelemetry-exporter-otlp\n", + "\u001b[2K Attempting uninstall: zipp━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/98\u001b[0m [distlib]\n", + "\u001b[2K Found existing installation: zipp 1.0.0━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/98\u001b[0m [distlib]\n", + "\u001b[2K Uninstalling zipp-1.0.0:━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/98\u001b[0m [distlib]\n", + "\u001b[2K Successfully uninstalled zipp-1.0.0━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 3/98\u001b[0m [distlib]\n", + "\u001b[2K Attempting uninstall: werkzeug━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 7/98\u001b[0m [yapf]\n", + "\u001b[2K Found existing installation: Werkzeug 3.0.3━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 7/98\u001b[0m [yapf]\n", + "\u001b[2K Uninstalling Werkzeug-3.0.3:━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 7/98\u001b[0m [yapf]\n", + "\u001b[2K Successfully uninstalled Werkzeug-3.0.3━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 7/98\u001b[0m [yapf]\n", + "\u001b[2K Attempting uninstall: uvicorn━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 9/98\u001b[0m [vcs-versioning]\n", + "\u001b[2K Found existing installation: uvicorn 0.37.0━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 9/98\u001b[0m [vcs-versioning]\n", + "\u001b[2K Uninstalling uvicorn-0.37.0:━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 9/98\u001b[0m [vcs-versioning]\n", + "\u001b[2K Successfully uninstalled uvicorn-0.37.0━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 9/98\u001b[0m [vcs-versioning]\n", + "\u001b[2K Attempting uninstall: setuptools━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m 9/98\u001b[0m [vcs-versioning]\n", + "\u001b[2K Found existing installation: setuptools 82.0.1━━━━━━━━━━━━\u001b[0m \u001b[32m 9/98\u001b[0m [vcs-versioning]\n", + "\u001b[2K Uninstalling setuptools-82.0.1:━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/98\u001b[0m [setuptools]\n", + "\u001b[2K Successfully uninstalled setuptools-82.0.1━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/98\u001b[0m [setuptools]\n", + "\u001b[2K Attempting uninstall: safetensors━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/98\u001b[0m [setuptools]\n", + "\u001b[2K Found existing installation: safetensors 0.6.2━━━━━━━━━━━━\u001b[0m \u001b[32m13/98\u001b[0m [setuptools]\n", + "\u001b[2K Uninstalling safetensors-0.6.2:━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/98\u001b[0m [setuptools]\n", + "\u001b[2K Successfully uninstalled safetensors-0.6.2━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/98\u001b[0m [setuptools]\n", + "\u001b[2K Attempting uninstall: pyparsing━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/98\u001b[0m [setuptools]\n", + "\u001b[2K Found existing installation: pyparsing 2.4.7━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/98\u001b[0m [setuptools]\n", + "\u001b[2K Uninstalling pyparsing-2.4.7:━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/98\u001b[0m [setuptools]\n", + "\u001b[2K Successfully uninstalled pyparsing-2.4.7━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13/98\u001b[0m [setuptools]\n", + "\u001b[2K Attempting uninstall: onnx[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m24/98\u001b[0m [polygraphy]ex]\n", + "\u001b[2K Found existing installation: onnx 1.10.1━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m24/98\u001b[0m [polygraphy]\n", + "\u001b[2K Uninstalling onnx-1.10.1:\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m27/98\u001b[0m [onnx]y]\n", + "\u001b[2K Successfully uninstalled onnx-1.10.1━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m27/98\u001b[0m [onnx]\n", + "\u001b[2K Attempting uninstall: filelock\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m35/98\u001b[0m [fonttools]]n-frontend]\n", + "\u001b[2K Found existing installation: filelock 3.20.0━━━━━━━━━━━━━━\u001b[0m \u001b[32m35/98\u001b[0m [fonttools]\n", + "\u001b[2K Uninstalling filelock-3.20.0:[90m━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m35/98\u001b[0m [fonttools]\n", + "\u001b[2K Successfully uninstalled filelock-3.20.0━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m35/98\u001b[0m [fonttools]\n", + "\u001b[2K Attempting uninstall: dill91m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m36/98\u001b[0m [filelock]\n", + "\u001b[2K Found existing installation: dill 0.4.0━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m36/98\u001b[0m [filelock]\n", + "\u001b[2K Uninstalling dill-0.4.0:\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m36/98\u001b[0m [filelock]\n", + "\u001b[2K Successfully uninstalled dill-0.4.0━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m36/98\u001b[0m [filelock]\n", + "\u001b[2K Attempting uninstall: tritonm\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m47/98\u001b[0m [apache-tvm-ffi]\n", + "\u001b[2K Found existing installation: triton 3.2.0━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m47/98\u001b[0m [apache-tvm-ffi]\n", + "\u001b[2K Uninstalling triton-3.2.0:0m╺\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m47/98\u001b[0m [apache-tvm-ffi]\n", + "\u001b[2K Successfully uninstalled triton-3.2.0[90m━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m49/98\u001b[0m [triton]ffi]\n", + "\u001b[2K Attempting uninstall: multiprocess90m╺\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m54/98\u001b[0m [paddlefsl]\n", + "\u001b[2K Found existing installation: multiprocess 0.70.16━━━━━━━━━\u001b[0m \u001b[32m54/98\u001b[0m [paddlefsl]\n", + "\u001b[2K Uninstalling multiprocess-0.70.16:0m\u001b[90m━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m54/98\u001b[0m [paddlefsl]\n", + "\u001b[2K Successfully uninstalled multiprocess-0.70.16━━━━━━━━━━━\u001b[0m \u001b[32m54/98\u001b[0m [paddlefsl]\n", + "\u001b[2K Attempting uninstall: importlib-metadata\u001b[0m\u001b[90m━━━━━━━━━━━━━━━\u001b[0m \u001b[32m59/98\u001b[0m [matplotlib]\n", + "\u001b[2K Found existing installation: importlib-metadata 4.6.4━━━━━\u001b[0m \u001b[32m59/98\u001b[0m [matplotlib]\n", + "\u001b[2K Uninstalling importlib-metadata-4.6.4:\u001b[90m━━━━━━━━━━━━━━━\u001b[0m \u001b[32m59/98\u001b[0m [matplotlib]\n", + "\u001b[2K Successfully uninstalled importlib-metadata-4.6.4━━━━━━━━━━━\u001b[0m \u001b[32m60/98\u001b[0m [importlib-metadata]\n", + "\u001b[2K Attempting uninstall: transformers━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m \u001b[32m75/98\u001b[0m [visualdl]nx]dk]\n", + "\u001b[2K Found existing installation: transformers 4.53.3m━━━━━━━━━\u001b[0m \u001b[32m75/98\u001b[0m [visualdl]\n", + "\u001b[2K Uninstalling transformers-4.53.3:━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m76/98\u001b[0m [transformers]\n", + "\u001b[2K Successfully uninstalled transformers-4.53.3[0m\u001b[90m━━━━━━━━\u001b[0m \u001b[32m76/98\u001b[0m [transformers]\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m98/98\u001b[0m [opentelemetry-exporter-otlp]ers]hon-paddle]\n", + "\u001b[1A\u001b[2K\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", + "nemo-text-processing 1.0.2 requires setuptools>=65.5.1, but you have setuptools 62.3.0 which is incompatible.\n", + "tensorboard 2.3.0 requires google-auth<2,>=1.6.3, but you have google-auth 2.41.1 which is incompatible.\n", + "thinc 8.3.6 requires numpy<3.0.0,>=2.0.0, but you have numpy 1.26.4 which is incompatible.\n", + "triton-gcu 0.9.20250624.1 requires triton==3.2.0; platform_machine != \"aarch64\", but you have triton 3.3.0 which is incompatible.\n", + "vllm-gcu 0.8.0+3.4.20250704 requires transformers==4.48.2, but you have transformers 4.55.4 which is incompatible.\n", + "xinference 1.7.0.post1+gcu20250807.0.g70546266.dirty requires click<8.2.0, but you have click 8.3.0 which is incompatible.\u001b[0m\u001b[31m\n", + "\u001b[0mSuccessfully installed Flask-Babel-4.0.0 GPUtil-1.4.0 aiozmq-1.0.0 aistudio_sdk-0.3.8 apache-tvm-ffi-0.1.11 arctic_inference-0.1.3 asgiref-3.11.1 bce-python-sdk-0.9.71 blobfile-3.2.0 cfgv-3.5.0 colorama-0.4.6 colorlog-6.10.1 contourpy-1.3.2 crc32c-2.8 cuda-bindings-13.2.0 cuda-pathfinder-1.5.4 cuda-python-13.2.0 cycler-0.12.1 decord-0.6.0 dill-0.3.4 distlib-0.4.0 etcd3-0.12.0 fast_dataindex-0.1.2 filelock-3.29.0 flake8-7.3.0 flash_mask-4.0 flashinfer-python-paddle-0.4.1.1 flask-3.1.3 fonttools-4.62.1 gunicorn-25.0.3 identify-2.6.19 importlib-metadata-8.7.1 itsdangerous-2.2.0 kiwisolver-1.5.0 matplotlib-3.10.9 mccabe-0.7.0 mooncake-transfer-engine-0.3.10.post2 moviepy-2.2.1 multiprocess-0.70.12.2 nodeenv-1.10.0 nvidia-cudnn-frontend-1.23.0 nvidia-cutlass-4.2.0.0 nvidia-cutlass-dsl-4.3.0 onnx-1.17.0 onnxoptimizer-0.3.13 opentelemetry-api-1.41.1 opentelemetry-distro-0.62b1 opentelemetry-exporter-otlp-1.41.1 opentelemetry-exporter-otlp-proto-common-1.41.1 opentelemetry-exporter-otlp-proto-grpc-1.41.1 opentelemetry-exporter-otlp-proto-http-1.41.1 opentelemetry-instrumentation-0.62b1 opentelemetry-instrumentation-asgi-0.62b1 opentelemetry-instrumentation-dbapi-0.62b1 opentelemetry-instrumentation-fastapi-0.62b1 opentelemetry-instrumentation-logging-0.62b1 opentelemetry-instrumentation-mysql-0.62b1 opentelemetry-instrumentation-redis-0.62b1 opentelemetry-proto-1.41.1 opentelemetry-sdk-1.41.1 opentelemetry-semantic-conventions-0.62b1 opentelemetry-util-http-0.62b1 p2pstore-0.1.15 paddle2onnx-2.1.0 paddleformers-0.4.0.post20251222 paddlefsl-1.1.0 polygraphy-0.49.26 pre-commit-4.6.0 prettytable-3.17.0 proglog-0.1.12 pybind11-3.0.4 pybind11-global-3.0.4 pycryptodomex-3.23.0 pydot-4.0.1 pyflakes-3.4.0 pynvml-13.0.1 pyparsing-3.3.2 python-discovery-1.3.0 rarfile-4.2 safetensors-0.7.0 seqeval-1.2.2 setuptools-62.3.0 setuptools-scm-10.0.5 tenacity-9.1.4 tool_helpers-0.1.2 transformers-4.55.4 treelib-1.8.0 triton-3.3.0 use_triton_in_paddle-0.1.0 uvicorn-0.46.0 vcs-versioning-1.1.1 virtualenv-21.3.1 visualdl-2.5.3 werkzeug-3.1.8 xlwt-1.3.0 yapf-0.43.0 zipp-3.23.1 zmq-0.0.0\n", + "\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\u001b[0m\u001b[33m\n", + "\u001b[0mLooking in indexes: https://www.paddlepaddle.org.cn/packages/stable/gcu/, https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simplels\n", + "Collecting fastdeploy\n", + " Using cached fastdeploy-2.0.0a0-py3-none-any.whl (3.4 MB)\n", + "Requirement already satisfied: setuptools<80.0,>=62.3.0 in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (62.3.0)\n", + "Requirement already satisfied: pre-commit in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (4.6.0)\n", + "Requirement already satisfied: yapf in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (0.43.0)\n", + "Requirement already satisfied: flake8 in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (7.3.0)\n", + "Requirement already satisfied: ruamel.yaml in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (0.18.15)\n", + "Requirement already satisfied: zmq in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (0.0.0)\n", + "Requirement already satisfied: aiozmq in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (1.0.0)\n", + "Requirement already satisfied: openai in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (2.2.0)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (4.67.1)\n", + "Requirement already satisfied: pynvml in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (13.0.1)\n", + "Requirement already satisfied: uvicorn in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (0.46.0)\n", + "Requirement already satisfied: fastapi in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (0.118.2)\n", + "Collecting paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl (from fastdeploy)\n", + " Downloading paddleformers-0.0.0.post20250620-py3-none-any.whl (1.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.1/1.1 MB\u001b[0m \u001b[31m6.2 MB/s\u001b[0m \u001b[33m0:00:00\u001b[0m eta \u001b[36m0:00:01\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: redis in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (6.4.0)\n", + "Requirement already satisfied: etcd3 in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (0.12.0)\n", + "Requirement already satisfied: httpx in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (0.28.1)\n", + "Requirement already satisfied: tool-helpers in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (0.1.2)\n", + "Requirement already satisfied: cupy-cuda12x in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (13.6.0)\n", + "Requirement already satisfied: pybind11[global] in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (3.0.4)\n", + "Requirement already satisfied: tabulate in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (0.9.0)\n", + "Requirement already satisfied: gradio in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (5.22.0)\n", + "Requirement already satisfied: xlwt in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (1.3.0)\n", + "Requirement already satisfied: visualdl in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (2.5.3)\n", + "Requirement already satisfied: setuptools-scm>=8 in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (10.0.5)\n", + "Requirement already satisfied: prometheus-client in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (0.23.1)\n", + "Requirement already satisfied: decord in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (0.6.0)\n", + "Requirement already satisfied: moviepy in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (2.2.1)\n", + "Requirement already satisfied: triton==3.3 in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (3.3.0)\n", + "Requirement already satisfied: crcmod in /usr/local/lib/python3.10/dist-packages (from fastdeploy) (1.7)\n", + "Requirement already satisfied: jieba in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (0.42.1)\n", + "Requirement already satisfied: blobfile in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (3.2.0)\n", + "Requirement already satisfied: colorlog in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (6.10.1)\n", + "Requirement already satisfied: colorama in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (0.4.6)\n", + "Requirement already satisfied: seqeval in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (1.2.2)\n", + "Requirement already satisfied: dill<0.3.5 in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (0.3.4)\n", + "Requirement already satisfied: multiprocess<=0.70.12.2 in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (0.70.12.2)\n", + "Requirement already satisfied: datasets>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (4.1.1)\n", + "Requirement already satisfied: paddlefsl in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (1.1.0)\n", + "Requirement already satisfied: sentencepiece in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (0.2.1)\n", + "Requirement already satisfied: huggingface_hub>=0.19.2 in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (0.35.3)\n", + "Requirement already satisfied: onnx>=1.10.0 in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (1.17.0)\n", + "Requirement already satisfied: protobuf>=3.20.2 in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (6.32.1)\n", + "Requirement already satisfied: paddle2onnx in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (2.1.0)\n", + "Requirement already satisfied: Flask-Babel in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (4.0.0)\n", + "Requirement already satisfied: typer in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (0.19.2)\n", + "Requirement already satisfied: rich in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (13.9.4)\n", + "Requirement already satisfied: safetensors in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (0.7.0)\n", + "Requirement already satisfied: fast_dataindex>=0.1.1 in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (0.1.2)\n", + "Requirement already satisfied: aistudio-sdk>=0.3.0 in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (0.3.8)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (3.1.6)\n", + "Requirement already satisfied: regex in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (2025.9.18)\n", + "Requirement already satisfied: numpy<=1.26.4 in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (1.26.4)\n", + "Requirement already satisfied: tiktoken in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (0.12.0)\n", + "Requirement already satisfied: ml_dtypes in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (0.5.1)\n", + "Requirement already satisfied: tokenizers<0.22,>=0.21 in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (0.21.4)\n", + "Requirement already satisfied: omegaconf in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (2.3.0)\n", + "Requirement already satisfied: einops>=0.7.0 in /usr/local/lib/python3.10/dist-packages (from paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (0.8.1)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from huggingface_hub>=0.19.2->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (3.29.0)\n", + "Requirement already satisfied: fsspec>=2023.5.0 in /usr/local/lib/python3.10/dist-packages (from huggingface_hub>=0.19.2->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (2024.6.1)\n", + "Requirement already satisfied: packaging>=20.9 in /usr/local/lib/python3.10/dist-packages (from huggingface_hub>=0.19.2->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (25.0)\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.10/dist-packages (from huggingface_hub>=0.19.2->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (6.0.1)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from huggingface_hub>=0.19.2->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (2.32.5)\n", + "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.10/dist-packages (from huggingface_hub>=0.19.2->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (4.14.1)\n", + "Requirement already satisfied: hf-xet<2.0.0,>=1.1.3 in /usr/local/lib/python3.10/dist-packages (from huggingface_hub>=0.19.2->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (1.1.10)\n", + "Requirement already satisfied: psutil in /usr/local/lib/python3.10/dist-packages (from aistudio-sdk>=0.3.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (7.1.0)\n", + "Requirement already satisfied: bce-python-sdk in /usr/local/lib/python3.10/dist-packages (from aistudio-sdk>=0.3.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (0.9.71)\n", + "Requirement already satisfied: prettytable in /usr/local/lib/python3.10/dist-packages (from aistudio-sdk>=0.3.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (3.17.0)\n", + "Requirement already satisfied: click in /usr/local/lib/python3.10/dist-packages (from aistudio-sdk>=0.3.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (8.3.0)\n", + "Requirement already satisfied: pyarrow>=21.0.0 in /usr/local/lib/python3.10/dist-packages (from datasets>=2.0.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (21.0.0)\n", + "Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from datasets>=2.0.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (2.2.2)\n", + "Requirement already satisfied: xxhash in /usr/local/lib/python3.10/dist-packages (from datasets>=2.0.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (3.6.0)\n", + "Requirement already satisfied: aiohttp!=4.0.0a0,!=4.0.0a1 in /usr/local/lib/python3.10/dist-packages (from fsspec[http]<=2025.9.0,>=2023.1.0->datasets>=2.0.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (3.13.0)\n", + "Requirement already satisfied: aiohappyeyeballs>=2.5.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.9.0,>=2023.1.0->datasets>=2.0.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (2.6.1)\n", + "Requirement already satisfied: aiosignal>=1.4.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.9.0,>=2023.1.0->datasets>=2.0.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (1.4.0)\n", + "Requirement already satisfied: async-timeout<6.0,>=4.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.9.0,>=2023.1.0->datasets>=2.0.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (5.0.1)\n", + "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.9.0,>=2023.1.0->datasets>=2.0.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (25.4.0)\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.9.0,>=2023.1.0->datasets>=2.0.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (1.8.0)\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.9.0,>=2023.1.0->datasets>=2.0.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (6.7.0)\n", + "Requirement already satisfied: propcache>=0.2.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.9.0,>=2023.1.0->datasets>=2.0.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (0.4.1)\n", + "Requirement already satisfied: yarl<2.0,>=1.17.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.9.0,>=2023.1.0->datasets>=2.0.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (1.22.0)\n", + "Requirement already satisfied: idna>=2.0 in /usr/local/lib/python3.10/dist-packages (from yarl<2.0,>=1.17.0->aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]<=2025.9.0,>=2023.1.0->datasets>=2.0.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (2.8)\n", + "Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->huggingface_hub>=0.19.2->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (3.4.3)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests->huggingface_hub>=0.19.2->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (2.0.7)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests->huggingface_hub>=0.19.2->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (2025.7.14)\n", + "Requirement already satisfied: vcs-versioning>=1.0.0.dev0 in /usr/local/lib/python3.10/dist-packages (from setuptools-scm>=8->fastdeploy) (1.1.1)\n", + "Requirement already satisfied: tomli>=1 in /usr/local/lib/python3.10/dist-packages (from setuptools-scm>=8->fastdeploy) (2.3.0)\n", + "Requirement already satisfied: pyzmq!=17.1.2,>=13.1 in /usr/local/lib/python3.10/dist-packages (from aiozmq->fastdeploy) (27.1.0)\n", + "Requirement already satisfied: pycryptodome>=3.8.0 in /usr/local/lib/python3.10/dist-packages (from bce-python-sdk->aistudio-sdk>=0.3.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (3.23.0)\n", + "Requirement already satisfied: future>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from bce-python-sdk->aistudio-sdk>=0.3.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (1.0.0)\n", + "Requirement already satisfied: six>=1.4.0 in /usr/lib/python3/dist-packages (from bce-python-sdk->aistudio-sdk>=0.3.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (1.16.0)\n", + "Requirement already satisfied: crc32c>=2.2.post0 in /usr/local/lib/python3.10/dist-packages (from bce-python-sdk->aistudio-sdk>=0.3.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (2.8)\n", + "Requirement already satisfied: pycryptodomex>=3.8 in /usr/local/lib/python3.10/dist-packages (from blobfile->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (3.23.0)\n", + "Requirement already satisfied: lxml>=4.9 in /usr/local/lib/python3.10/dist-packages (from blobfile->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (6.0.2)\n", + "Requirement already satisfied: fastrlock>=0.5 in /usr/local/lib/python3.10/dist-packages (from cupy-cuda12x->fastdeploy) (0.8.3)\n", + "Requirement already satisfied: grpcio>=1.27.1 in /usr/local/lib/python3.10/dist-packages (from etcd3->fastdeploy) (1.64.1)\n", + "Requirement already satisfied: tenacity>=6.1.0 in /usr/local/lib/python3.10/dist-packages (from etcd3->fastdeploy) (9.1.4)\n", + "Requirement already satisfied: starlette<0.49.0,>=0.40.0 in /usr/local/lib/python3.10/dist-packages (from fastapi->fastdeploy) (0.48.0)\n", + "Requirement already satisfied: pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4 in /usr/local/lib/python3.10/dist-packages (from fastapi->fastdeploy) (2.12.0)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.10/dist-packages (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi->fastdeploy) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.41.1 in /usr/local/lib/python3.10/dist-packages (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi->fastdeploy) (2.41.1)\n", + "Requirement already satisfied: typing-inspection>=0.4.2 in /usr/local/lib/python3.10/dist-packages (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi->fastdeploy) (0.4.2)\n", + "Requirement already satisfied: anyio<5,>=3.6.2 in /usr/local/lib/python3.10/dist-packages (from starlette<0.49.0,>=0.40.0->fastapi->fastdeploy) (4.11.0)\n", + "Requirement already satisfied: exceptiongroup>=1.0.2 in /usr/local/lib/python3.10/dist-packages (from anyio<5,>=3.6.2->starlette<0.49.0,>=0.40.0->fastapi->fastdeploy) (1.3.0)\n", + "Requirement already satisfied: sniffio>=1.1 in /usr/local/lib/python3.10/dist-packages (from anyio<5,>=3.6.2->starlette<0.49.0,>=0.40.0->fastapi->fastdeploy) (1.3.1)\n", + "Requirement already satisfied: mccabe<0.8.0,>=0.7.0 in /usr/local/lib/python3.10/dist-packages (from flake8->fastdeploy) (0.7.0)\n", + "Requirement already satisfied: pycodestyle<2.15.0,>=2.14.0 in /usr/local/lib/python3.10/dist-packages (from flake8->fastdeploy) (2.14.0)\n", + "Requirement already satisfied: pyflakes<3.5.0,>=3.4.0 in /usr/local/lib/python3.10/dist-packages (from flake8->fastdeploy) (3.4.0)\n", + "Requirement already satisfied: Babel>=2.12 in /usr/local/lib/python3.10/dist-packages (from Flask-Babel->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (2.17.0)\n", + "Requirement already satisfied: Flask>=2.0 in /usr/local/lib/python3.10/dist-packages (from Flask-Babel->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (3.1.3)\n", + "Requirement already satisfied: pytz>=2022.7 in /usr/local/lib/python3.10/dist-packages (from Flask-Babel->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (2025.2)\n", + "Requirement already satisfied: blinker>=1.9.0 in /usr/local/lib/python3.10/dist-packages (from Flask>=2.0->Flask-Babel->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (1.9.0)\n", + "Requirement already satisfied: itsdangerous>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from Flask>=2.0->Flask-Babel->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (2.2.0)\n", + "Requirement already satisfied: markupsafe>=2.1.1 in /usr/local/lib/python3.10/dist-packages (from Flask>=2.0->Flask-Babel->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (3.0.2)\n", + "Requirement already satisfied: werkzeug>=3.1.0 in /usr/local/lib/python3.10/dist-packages (from Flask>=2.0->Flask-Babel->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (3.1.8)\n", + "Requirement already satisfied: aiofiles<24.0,>=22.0 in /usr/local/lib/python3.10/dist-packages (from gradio->fastdeploy) (23.2.1)\n", + "Requirement already satisfied: ffmpy in /usr/local/lib/python3.10/dist-packages (from gradio->fastdeploy) (0.6.2)\n", + "Requirement already satisfied: gradio-client==1.8.0 in /usr/local/lib/python3.10/dist-packages (from gradio->fastdeploy) (1.8.0)\n", + "Requirement already satisfied: groovy~=0.1 in /usr/local/lib/python3.10/dist-packages (from gradio->fastdeploy) (0.1.2)\n", + "Requirement already satisfied: orjson~=3.0 in /usr/local/lib/python3.10/dist-packages (from gradio->fastdeploy) (3.11.3)\n", + "Requirement already satisfied: pillow<12.0,>=8.0 in /usr/local/lib/python3.10/dist-packages (from gradio->fastdeploy) (11.3.0)\n", + "Requirement already satisfied: pydub in /usr/local/lib/python3.10/dist-packages (from gradio->fastdeploy) (0.25.1)\n", + "Requirement already satisfied: python-multipart>=0.0.18 in /usr/local/lib/python3.10/dist-packages (from gradio->fastdeploy) (0.0.20)\n", + "Requirement already satisfied: ruff>=0.9.3 in /usr/local/lib/python3.10/dist-packages (from gradio->fastdeploy) (0.14.0)\n", + "Requirement already satisfied: safehttpx<0.2.0,>=0.1.6 in /usr/local/lib/python3.10/dist-packages (from gradio->fastdeploy) (0.1.6)\n", + "Requirement already satisfied: semantic-version~=2.0 in /usr/local/lib/python3.10/dist-packages (from gradio->fastdeploy) (2.10.0)\n", + "Requirement already satisfied: tomlkit<0.14.0,>=0.12.0 in /usr/local/lib/python3.10/dist-packages (from gradio->fastdeploy) (0.13.3)\n", + "Requirement already satisfied: websockets<16.0,>=10.0 in /usr/local/lib/python3.10/dist-packages (from gradio-client==1.8.0->gradio->fastdeploy) (15.0.1)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas->datasets>=2.0.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (2.9.0.post0)\n", + "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.10/dist-packages (from pandas->datasets>=2.0.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (2025.2)\n", + "Requirement already satisfied: shellingham>=1.3.0 in /usr/local/lib/python3.10/dist-packages (from typer->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (1.5.4)\n", + "Requirement already satisfied: httpcore==1.* in /usr/local/lib/python3.10/dist-packages (from httpx->fastdeploy) (1.0.9)\n", + "Requirement already satisfied: h11>=0.16 in /usr/local/lib/python3.10/dist-packages (from httpcore==1.*->httpx->fastdeploy) (0.16.0)\n", + "Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (3.0.0)\n", + "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (2.19.2)\n", + "Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (0.1.2)\n", + "Requirement already satisfied: decorator<6.0,>=4.0.2 in /usr/local/lib/python3.10/dist-packages (from moviepy->fastdeploy) (5.1.1)\n", + "Requirement already satisfied: imageio<3.0,>=2.5 in /usr/local/lib/python3.10/dist-packages (from moviepy->fastdeploy) (2.37.0)\n", + "Requirement already satisfied: imageio_ffmpeg>=0.2.0 in /usr/local/lib/python3.10/dist-packages (from moviepy->fastdeploy) (0.6.0)\n", + "Requirement already satisfied: proglog<=1.0.0 in /usr/local/lib/python3.10/dist-packages (from moviepy->fastdeploy) (0.1.12)\n", + "Requirement already satisfied: python-dotenv>=0.10 in /usr/local/lib/python3.10/dist-packages (from moviepy->fastdeploy) (1.1.1)\n", + "Requirement already satisfied: antlr4-python3-runtime==4.9.* in /usr/local/lib/python3.10/dist-packages (from omegaconf->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (4.9.3)\n", + "Requirement already satisfied: distro<2,>=1.7.0 in /usr/lib/python3/dist-packages (from openai->fastdeploy) (1.7.0)\n", + "Requirement already satisfied: jiter<1,>=0.4.0 in /usr/local/lib/python3.10/dist-packages (from openai->fastdeploy) (0.11.0)\n", + "Requirement already satisfied: onnxoptimizer==0.3.13 in /usr/local/lib/python3.10/dist-packages (from paddle2onnx->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (0.3.13)\n", + "Requirement already satisfied: polygraphy>=0.49.20 in /usr/local/lib/python3.10/dist-packages (from paddle2onnx->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (0.49.26)\n", + "Requirement already satisfied: cfgv>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from pre-commit->fastdeploy) (3.5.0)\n", + "Requirement already satisfied: identify>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from pre-commit->fastdeploy) (2.6.19)\n", + "Requirement already satisfied: nodeenv>=0.11.1 in /usr/local/lib/python3.10/dist-packages (from pre-commit->fastdeploy) (1.10.0)\n", + "Requirement already satisfied: virtualenv>=20.10.0 in /usr/local/lib/python3.10/dist-packages (from pre-commit->fastdeploy) (21.3.1)\n", + "Requirement already satisfied: distlib<1,>=0.3.7 in /usr/local/lib/python3.10/dist-packages (from virtualenv>=20.10.0->pre-commit->fastdeploy) (0.4.0)\n", + "Requirement already satisfied: platformdirs<5,>=3.9.1 in /usr/local/lib/python3.10/dist-packages (from virtualenv>=20.10.0->pre-commit->fastdeploy) (4.5.0)\n", + "Requirement already satisfied: python-discovery>=1.2.2 in /usr/local/lib/python3.10/dist-packages (from virtualenv>=20.10.0->pre-commit->fastdeploy) (1.3.0)\n", + "Requirement already satisfied: wcwidth in /usr/local/lib/python3.10/dist-packages (from prettytable->aistudio-sdk>=0.3.0->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (0.2.14)\n", + "Requirement already satisfied: pybind11-global==3.0.4 in /usr/local/lib/python3.10/dist-packages (from pybind11[global]->fastdeploy) (3.0.4)\n", + "Requirement already satisfied: nvidia-ml-py>=12.0.0 in /usr/local/lib/python3.10/dist-packages (from pynvml->fastdeploy) (13.580.82)\n", + "Requirement already satisfied: ruamel.yaml.clib>=0.2.7 in /usr/local/lib/python3.10/dist-packages (from ruamel.yaml->fastdeploy) (0.2.14)\n", + "Requirement already satisfied: scikit-learn>=0.21.3 in /usr/local/lib/python3.10/dist-packages (from seqeval->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (1.7.2)\n", + "Requirement already satisfied: scipy>=1.8.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn>=0.21.3->seqeval->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (1.15.3)\n", + "Requirement already satisfied: joblib>=1.2.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn>=0.21.3->seqeval->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (1.5.2)\n", + "Requirement already satisfied: threadpoolctl>=3.1.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn>=0.21.3->seqeval->paddleformers @ https://paddlenlp.bj.bcebos.com/wheel/b9cc3ca0a391f908d5c3b28dd1886d278c432a31/paddleformers-0.0.0.post20250620-py3-none-any.whl->fastdeploy) (3.6.0)\n", + "Requirement already satisfied: matplotlib in /usr/local/lib/python3.10/dist-packages (from visualdl->fastdeploy) (3.10.9)\n", + "Requirement already satisfied: rarfile in /usr/local/lib/python3.10/dist-packages (from visualdl->fastdeploy) (4.2)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->visualdl->fastdeploy) (1.3.2)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib->visualdl->fastdeploy) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->visualdl->fastdeploy) (4.62.1)\n", + "Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->visualdl->fastdeploy) (1.5.0)\n", + "Requirement already satisfied: pyparsing>=3 in /usr/local/lib/python3.10/dist-packages (from matplotlib->visualdl->fastdeploy) (3.3.2)\n", + "\u001b[33mWARNING: Error parsing dependencies of mlnx-tools: Invalid version: '-5.2.0-'\u001b[0m\u001b[33m\n", + "\u001b[0mInstalling collected packages: paddleformers, fastdeploy\n", + "\u001b[2K Attempting uninstall: paddleformers\n", + "\u001b[2K Found existing installation: paddleformers 0.4.0.post20251222\n", + "\u001b[2K Uninstalling paddleformers-0.4.0.post20251222:\n", + "\u001b[2K Successfully uninstalled paddleformers-0.4.0.post20251222\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2/2\u001b[0m [fastdeploy]2\u001b[0m [fastdeploy]\n", + "\u001b[1A\u001b[2KSuccessfully installed fastdeploy-2.0.0a0 paddleformers-0.0.0.post20250620\n", + "\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\u001b[0m\u001b[33m\n", + "\u001b[0m\u001b[33m⚠️ Warning: 'huggingface-cli download' is deprecated. Use 'hf download' instead.\u001b[0m\n", + "Fetching 10 files: 100%|██████████████████████| 10/10 [00:00<00:00, 2146.52it/s]\n", + "/data/baidu/ERNIE-4.5-0.3B-Paddle\n" + ] + } + ], + "source": [ + "# 安装 FastDeploy\n", + "\n", + "!python -m pip install --upgrade pip setuptools wheel\n", + "\n", + "!python -m pip install -r requirements-gcu.txt --extra-index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simplels\n", + "!python -m pip install fastdeploy -i https://www.paddlepaddle.org.cn/packages/stable/gcu/ --extra-index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simplels\n", + "\n", + "# 下载 ERNIE-4.5-0.3B-Paddle 模型\n", + "\n", + "!huggingface-cli download baidu/ERNIE-4.5-0.3B-Paddle --local-dir baidu/ERNIE-4.5-0.3B-Paddle\n", + "\n", + "!export ENABLE_V1_KVCACHE_SCHEDULER=1\n", + "\n", + "# 下面这个环境变量主要是为了绕过单卡的一个小bug。\n", + "!export CUDA_VISIBLE_DEVICES=0\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. 导入依赖" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import re\n", + "import time\n", + "import openai\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. 加载模型" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.1 启动 FastDeploy OpenAI API Server\n", + "\n", + "需要先启动 FastDeploy 的 OpenAI 兼容 API Server。该服务通过子进程启动,提供与 OpenAI 兼容的 HTTP 接口。" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "端口 8180 未被占用,可以直接启动。\n", + "FastDeploy OpenAI API Server 启动中... (PID: 31668)\n", + "服务地址: http://0.0.0.0:8180/v1\n", + "请等待服务就绪后再继续执行后续 Cell。\n" + ] + } + ], + "source": [ + "# ========== 启动 FastDeploy OpenAI API Server ==========\n", + "# 通过子进程启动 fastdeploy 的 openai api_server。\n", + "# 运行本 Cell 会:\n", + "# 1. 检查端口是否已被占用,若占用则杀死占用进程\n", + "# 2. 启动 fastdeploy 服务\n", + "\n", + "import subprocess\n", + "import os\n", + "import time\n", + "import socket\n", + "import signal\n", + "\n", + "# FastDeploy OpenAI API Server 配置\n", + "FD_MODEL = \"baidu/ERNIE-4.5-0.3B-Paddle\"\n", + "FD_HOST = \"0.0.0.0\"\n", + "FD_PORT = 8180\n", + "FD_METRICS_PORT = 8181\n", + "FD_WORKER_QUEUE_PORT = 8182\n", + "FD_MAX_MODEL_LEN = 32768\n", + "FD_MAX_NUM_SEQS = 32\n", + "FD_NUM_GPU_BLOCKS_OVERRIDE = 4896\n", + "\n", + "# ---------- Step 1: 检查并释放被占用的端口 ----------\n", + "def is_port_in_use(port):\n", + " \"\"\"检查指定端口是否被占用\"\"\"\n", + " with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:\n", + " return s.connect_ex((\"127.0.0.1\", port)) == 0\n", + "\n", + "def kill_process_on_port(port):\n", + " \"\"\"查找并杀死占用指定端口的进程\"\"\"\n", + " try:\n", + " result = subprocess.run(\n", + " [\"lsof\", \"-t\", \"-i\", f\":{port}\"],\n", + " capture_output=True, text=True\n", + " )\n", + " pids = result.stdout.strip().split('\\n')\n", + " for pid_str in pids:\n", + " pid_str = pid_str.strip()\n", + " if pid_str:\n", + " pid = int(pid_str)\n", + " print(f\"端口 {port} 被进程 PID={pid} 占用,正在终止...\")\n", + " os.kill(pid, signal.SIGKILL)\n", + " time.sleep(1)\n", + " print(f\"进程 PID={pid} 已终止。\")\n", + " except (subprocess.CalledProcessError, FileNotFoundError, ValueError, ProcessLookupError):\n", + " try:\n", + " subprocess.run([\"fuser\", \"-k\", f\"{port}/tcp\"], capture_output=True)\n", + " print(f\"已通过 fuser 终止占用端口 {port} 的进程。\")\n", + " except FileNotFoundError:\n", + " print(f\"警告:无法终止占用端口 {port} 的进程(lsof/fuser 均不可用)。\")\n", + "\n", + "if is_port_in_use(FD_PORT):\n", + " print(f\"端口 {FD_PORT} 已被占用,需要先释放。\")\n", + " kill_process_on_port(FD_PORT)\n", + " time.sleep(2)\n", + " if is_port_in_use(FD_PORT):\n", + " print(f\"警告:端口 {FD_PORT} 仍被占用,启动可能失败!\")\n", + " else:\n", + " print(f\"端口 {FD_PORT} 已释放。\")\n", + "else:\n", + " print(f\"端口 {FD_PORT} 未被占用,可以直接启动。\")\n", + "\n", + "# ---------- Step 2: 设置环境变量并启动服务 ----------\n", + "os.environ[\"ENABLE_V1_KVCACHE_SCHEDULER\"] = \"1\"\n", + "os.environ[\"CUDA_VISIBLE_DEVICES\"] = \"0\"\n", + "\n", + "fd_server_cmd = [\n", + " \"python\", \"-m\", \"fastdeploy.entrypoints.openai.api_server\",\n", + " \"--model\", FD_MODEL,\n", + " \"--host\", FD_HOST,\n", + " \"--port\", str(FD_PORT),\n", + " \"--metrics-port\", str(FD_METRICS_PORT),\n", + " \"--engine-worker-queue-port\", str(FD_WORKER_QUEUE_PORT),\n", + " \"--max-model-len\", str(FD_MAX_MODEL_LEN),\n", + " \"--max-num-seqs\", str(FD_MAX_NUM_SEQS),\n", + " \"--num-gpu-blocks-override\", str(FD_NUM_GPU_BLOCKS_OVERRIDE),\n", + "]\n", + "\n", + "fd_server_process = subprocess.Popen(\n", + " fd_server_cmd,\n", + " stdout=subprocess.PIPE,\n", + " stderr=subprocess.PIPE,\n", + ")\n", + "print(f\"FastDeploy OpenAI API Server 启动中... (PID: {fd_server_process.pid})\")\n", + "print(f\"服务地址: http://{FD_HOST}:{FD_PORT}/v1\")\n", + "print(\"请等待服务就绪后再继续执行后续 Cell。\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "OpenAI client created, connecting to http://0.0.0.0:8180/v1\n" + ] + } + ], + "source": [ + "MODEL_PATH = \"baidu/ERNIE-4.5-0.3B-Paddle\"\n", + "\n", + "FD_HOST = \"0.0.0.0\"\n", + "FD_PORT = 8180\n", + "client = openai.Client(\n", + " base_url=f\"http://{FD_HOST}:{FD_PORT}/v1\",\n", + " api_key=\"null\"\n", + ")\n", + "print(f\"OpenAI client created, connecting to http://{FD_HOST}:{FD_PORT}/v1\")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. 游戏常量与配置" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# 难度系数映射\n", + "DIFFICULTY_MULTIPLIERS = {1: 1.0, 2: 1.2, 3: 1.5, 4: 2.0, 5: 2.5}\n", + "\n", + "# 难度对应的时间限制(秒)\n", + "DIFFICULTY_TIME_LIMITS = {1: 30, 2: 25, 3: 20, 4: 18, 5: 15}\n", + "\n", + "# 难度对应的英文句子目标词数\n", + "DIFFICULTY_SENTENCE_LENGTH = {1: 10, 2: 20, 3: 30, 4: 40, 5: 50}\n", + "\n", + "# 基础分\n", + "BASE_SCORE = 10\n", + "\n", + "# 剩余时间奖励系数\n", + "TIME_BONUS_FACTOR = 0.5\n", + "\n", + "# 连击奖励\n", + "STREAK_BONUS = 2\n", + "\n", + "# 限时模式默认题数\n", + "TIMED_MODE_QUESTIONS = 10\n", + "\n", + "# 题目生成最大重试次数\n", + "MAX_RETRIES = 2\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4. 题目生成与解析" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "import random\n", + "\n", + "\n", + "def build_sentence_prompt(difficulty: int) -> str:\n", + " \"\"\"构建让大模型生成英文句子的 Prompt\"\"\"\n", + " target_len = DIFFICULTY_SENTENCE_LENGTH.get(difficulty, 12)\n", + " prompt = f\"\"\"请生成一句约 {target_len} 个词的英文句子。\"\"\"\n", + " return prompt\n", + "\n", + "\n", + "def generate_sentence(difficulty: int) -> str:\n", + " \"\"\"调用大模型生成一句英文,带重试机制\"\"\"\n", + " prompt = build_sentence_prompt(difficulty)\n", + " for attempt in range(MAX_RETRIES + 1):\n", + " try:\n", + " response = client.chat.completions.create(\n", + " model=\"null\",\n", + " messages=[{\"role\": \"user\", \"content\": prompt}],\n", + " temperature=0.8,\n", + " top_p=0.95,\n", + " max_tokens=128,\n", + " stream=False,\n", + " )\n", + " text = response.choices[0].message.content.strip()\n", + "\n", + " # 基本校验:非空且至少有4个词\n", + " if text and len(text.split()) >= 4:\n", + " return text\n", + " print(f\"generate_sentence: invalid output (attempt {attempt + 1}): {text[:80]}\")\n", + " except Exception as e:\n", + " print(f\"generate_sentence: error (attempt {attempt + 1}): {e}\")\n", + " return \"\"\n", + "\n", + "\n", + "def get_synonyms(word: str) -> list:\n", + " \"\"\"调用大模型获取一个单词的两个同义词/近义词,带重试机制\"\"\"\n", + " import json\n", + " prompt = f\"\"\"请为英文单词 \"{word}\" 提供 5 个同义词或近义词。以 json 格式返回\n", + "{{\n", + " \"synonyms\": [\n", + " ]\n", + "}}\"\"\"\n", + " for attempt in range(MAX_RETRIES + 1):\n", + " try:\n", + " response = client.chat.completions.create(\n", + " model=\"null\",\n", + " messages=[{\"role\": \"user\", \"content\": prompt}],\n", + " temperature=0.6,\n", + " top_p=0.9,\n", + " max_tokens=128,\n", + " stream=False,\n", + " )\n", + " text = response.choices[0].message.content.strip()\n", + " \n", + " # 解析:从 JSON 中提取 synonyms 列表\n", + " try:\n", + " data = json.loads(text)\n", + " syns = data.get(\"synonyms\", [])\n", + " except json.JSONDecodeError:\n", + " # 如果 JSON 解析失败,尝试从文本中提取 JSON 部分\n", + " match = re.search(r'\\{[\\s\\S]*?\\}', text)\n", + " if match:\n", + " try:\n", + " data = json.loads(match.group())\n", + " syns = data.get(\"synonyms\", [])\n", + " except json.JSONDecodeError:\n", + " syns = []\n", + " else:\n", + " syns = []\n", + " # 过滤掉和原词相同的,并确保是字符串\n", + " syns = [w for w in syns if isinstance(w, str) and w.lower() != word.lower()]\n", + " # 成功获取至少2个同义词则返回\n", + " if len(syns) >= 2:\n", + " return random.sample(syns, 2)\n", + " print(f\"get_synonyms('{word}'): not enough synonyms (got {len(syns)}, attempt {attempt + 1})\")\n", + " except Exception as e:\n", + " print(f\"get_synonyms('{word}'): error (attempt {attempt + 1}): {e}\")\n", + " return []\n", + "\n", + "\n", + "def pick_cloze_word(sentence: str) -> tuple:\n", + " \"\"\"\n", + " 从句子中选取一个适合作为完形填空空白的单词。\n", + " 返回 (word, index) 或 None。\n", + " 优先选择实词(名词、动词、形容词、副词),跳过冠词、介词、连词等。\n", + " \"\"\"\n", + " # 常见虚词列表,这些词不适合作为完形填空的空白\n", + " skip_words = {\n", + " 'a', 'an', 'the', 'is', 'are', 'was', 'were', 'be', 'been', 'being',\n", + " 'am', 'do', 'does', 'did', 'have', 'has', 'had', 'having',\n", + " 'will', 'would', 'shall', 'should', 'can', 'could', 'may', 'might', 'must',\n", + " 'i', 'you', 'he', 'she', 'it', 'we', 'they', 'me', 'him', 'her', 'us', 'them',\n", + " 'my', 'your', 'his', 'its', 'our', 'their', 'mine', 'yours', 'hers', 'ours',\n", + " 'this', 'that', 'these', 'those',\n", + " 'in', 'on', 'at', 'to', 'for', 'of', 'with', 'by', 'from', 'up', 'down',\n", + " 'out', 'off', 'over', 'under', 'about', 'into', 'through', 'after', 'before',\n", + " 'between', 'among', 'during', 'until', 'since',\n", + " 'and', 'or', 'but', 'not', 'nor', 'so', 'yet', 'if', 'then',\n", + " 'as', 'than', 'when', 'while', 'where', 'how', 'what', 'which', 'who',\n", + " 'very', 'too', 'also', 'just', 'only', 'even', 'still', 'already',\n", + " 'no', 'yes', 'all', 'each', 'every', 'both', 'any', 'some',\n", + " 'here', 'there', 'now', 'never', 'always', 'often',\n", + " }\n", + "\n", + " # 分词并保留原始位置信息\n", + " words = []\n", + " for match in re.finditer(r\"[a-zA-Z']+\", sentence):\n", + " words.append((match.group(), match.start(), match.end()))\n", + "\n", + " # 筛选适合的词(长度>=3的实词,不在虚词列表中)\n", + " candidates = [(w, s, e) for w, s, e in words\n", + " if w.lower() not in skip_words and len(w) >= 3]\n", + "\n", + " if not candidates:\n", + " # 退而求其次:选长度>=2的词\n", + " candidates = [(w, s, e) for w, s, e in words\n", + " if w.lower() not in skip_words and len(w) >= 2]\n", + "\n", + " if not candidates:\n", + " return None\n", + "\n", + " # 随机选一个\n", + " chosen = random.choice(candidates)\n", + " return chosen[0], chosen[1], chosen[2]\n", + "\n", + "\n", + "def build_cloze_question(sentence: str, word: str, start: int, end: int, synonyms: list) -> tuple:\n", + " \"\"\"\n", + " 构建完形填空题目。\n", + " 使用 start/end 精确替换被选中的单词,避免句子中有重复词时替换错位置。\n", + " 返回 (question_text, options_list, answer)\n", + " \"\"\"\n", + " answer = word\n", + " # 确保有3个选项\n", + " options = [answer]\n", + " for syn in synonyms:\n", + " if syn.lower() != answer.lower() and syn not in options:\n", + " options.append(syn)\n", + " # 如果同义词不够,补充占位\n", + " while len(options) < 3:\n", + " options.append(f\"option{len(options)}\")\n", + " options = options[:3]\n", + " # 随机打乱选项顺序\n", + " random.shuffle(options)\n", + "\n", + " # 使用位置信息精确替换被选中的单词\n", + " options_str = ', '.join(options)\n", + " question_text = sentence[:start] + f'[{options_str}]' + sentence[end:]\n", + "\n", + " return question_text, options, answer\n", + "\n", + "\n", + "def get_question(difficulty: int):\n", + " \"\"\"生成完形填空题目,带重试机制\"\"\"\n", + " for attempt in range(MAX_RETRIES + 1):\n", + " try:\n", + " # Step 1: 生成英文句子\n", + " sentence = generate_sentence(difficulty)\n", + " \n", + " # 去掉可能的引号包裹\n", + " sentence = sentence.strip('\"\\'')\n", + " if not sentence or len(sentence.split()) < 4:\n", + " print(f\"Generated sentence too short (attempt {attempt + 1}): {sentence[:80]}\")\n", + " continue\n", + "\n", + " # Step 2: 选取一个词作为空白\n", + " pick_result = pick_cloze_word(sentence)\n", + " \n", + " if pick_result is None:\n", + " print(f\"No suitable cloze word found (attempt {attempt + 1})\")\n", + " continue\n", + " word, start, end = pick_result\n", + "\n", + " # Step 3: 用大模型获取同义词\n", + " synonyms = get_synonyms(word)\n", + " \n", + " if len(synonyms) < 2:\n", + " print(f\"Not enough synonyms for '{word}' (got {len(synonyms)}, attempt {attempt + 1})\")\n", + " continue\n", + "\n", + " # Step 4: 构建完形填空题\n", + " question_text, options, answer = build_cloze_question(sentence, word, start, end, synonyms)\n", + " return question_text, options, answer\n", + "\n", + " except Exception as e:\n", + " print(f\"Error generating question (attempt {attempt + 1}): {e}\")\n", + " return None\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 5. 游戏状态管理" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "class GameState:\n", + " \"\"\"管理游戏的全局状态\"\"\"\n", + "\n", + " def __init__(self):\n", + " self.reset()\n", + "\n", + " def reset(self):\n", + " self.score = 0\n", + " self.difficulty = 1\n", + " self.streak = 0\n", + " self.mode = \"arcade\" # arcade / timed\n", + " self.remaining_questions = TIMED_MODE_QUESTIONS\n", + " self.total_correct = 0\n", + " self.current_question = None # (question_text, options, answer)\n", + " self.game_active = False\n", + " self.start_time = 0\n", + "\n", + " def get_time_limit(self) -> int:\n", + " \"\"\"获取当前难度对应的时间限制\"\"\"\n", + " return DIFFICULTY_TIME_LIMITS.get(min(self.difficulty, 5), 15)\n", + "\n", + " def calculate_score(self, time_remaining: float) -> int:\n", + " \"\"\"计算单题得分\"\"\"\n", + " diff_key = min(self.difficulty, 5)\n", + " multiplier = DIFFICULTY_MULTIPLIERS[diff_key]\n", + " time_bonus = time_remaining * TIME_BONUS_FACTOR\n", + " streak_bonus = self.streak * STREAK_BONUS\n", + " total = int(BASE_SCORE * multiplier + time_bonus + streak_bonus)\n", + " return max(total, 1)\n", + "\n", + "\n", + "game = GameState()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "## 6. 简单交互测试(Cell 逐行执行)\n", + "\n", + "以下部分不使用 Gradio,通过逐个 Cell 执行来体验游戏流程。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 6.1 选择游戏模式并初始化" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Game started! Mode: Arcade (闯关模式)\n", + "Difficulty: 1 | Time Limit: 30s\n" + ] + } + ], + "source": [ + "# 选择模式:\"arcade\" 或 \"timed\"\n", + "GAME_MODE = \"arcade\"\n", + "\n", + "game.reset()\n", + "game.mode = GAME_MODE\n", + "game.game_active = True\n", + "\n", + "mode_label = \"Arcade (闯关模式)\" if game.mode == \"arcade\" else \"Timed (限时模式)\"\n", + "print(f\"Game started! Mode: {mode_label}\")\n", + "print(f\"Difficulty: {game.difficulty} | Time Limit: {game.get_time_limit()}s\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 6.2 生成第一道题" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**注意** 如果 Fastdeploy 还没有启动起来,会出现 `Connection error`,需要等待一段时间后重试" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Difficulty: 1 | Time Limit: 30s\n", + "\n", + "Question: Snowflakes dance in the frost with efficiency and ___, as we wander the realm of winter's embrace.\n", + "\n", + "Options:\n", + " 1. merit\n", + " 2. grace\n", + " 3. favor\n" + ] + } + ], + "source": [ + "question_data = get_question(game.difficulty)\n", + "\n", + "if question_data is None:\n", + " print(\"Failed to generate question. Please re-run this cell.\")\n", + "else:\n", + " game.current_question = question_data\n", + " game.start_time = time.time()\n", + "\n", + " q_text, options, answer = question_data\n", + " display_text = re.sub(r'\\[[^\\]]+\\]', '___', q_text)\n", + "\n", + " print(f\"Difficulty: {game.difficulty} | Time Limit: {game.get_time_limit()}s\")\n", + " print(f\"\\nQuestion: {display_text}\")\n", + " print(f\"\\nOptions:\")\n", + " for i, opt in enumerate(options, 1):\n", + " print(f\" {i}. {opt}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 6.3 答题\n", + "\n", + "将 `YOUR_ANSWER` 修改为你选择的答案(必须是选项之一),然后运行此 Cell。" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Correct! +17 points (Time bonus: 2.9s remaining)\n", + "\n", + "Score: 35 | Streak: 2 | Difficulty: 3\n" + ] + } + ], + "source": [ + "# 将下面的值改为你选择的答案\n", + "YOUR_ANSWER = \"something\" # 例如: \"years\"\n", + "\n", + "if not game.game_active or game.current_question is None:\n", + " print(\"Game is not active. Please initialize first (run 6.1 and 6.2).\")\n", + "elif YOUR_ANSWER == \"\":\n", + " print(\"Please set YOUR_ANSWER to one of the options, then re-run this cell.\")\n", + "else:\n", + " q_text, options, correct_answer = game.current_question\n", + " elapsed = time.time() - game.start_time\n", + " time_remaining = max(game.get_time_limit() - elapsed, 0)\n", + "\n", + " is_correct = (YOUR_ANSWER == correct_answer)\n", + "\n", + " if is_correct:\n", + " game.streak += 1\n", + " earned = game.calculate_score(time_remaining)\n", + " game.score += earned\n", + " game.total_correct += 1\n", + " print(f\"Correct! +{earned} points (Time bonus: {time_remaining:.1f}s remaining)\")\n", + " if game.difficulty < 5:\n", + " game.difficulty += 1\n", + " else:\n", + " print(f\"Wrong! The correct answer is: {correct_answer}\")\n", + " if game.mode == \"arcade\":\n", + " game.game_active = False\n", + " print(f\"\\n--- GAME OVER ---\")\n", + " print(f\"Final Score: {game.score} | Max Streak: {game.streak} | Difficulty Reached: {game.difficulty}\")\n", + " else:\n", + " game.streak = 0\n", + "\n", + " # 限时模式检查剩余题数\n", + " if game.mode == \"timed\" and game.game_active:\n", + " game.remaining_questions -= 1\n", + " if game.remaining_questions <= 0:\n", + " game.game_active = False\n", + " print(f\"\\n--- GAME OVER ---\")\n", + " print(f\"Final Score: {game.score} | Correct: {game.total_correct}/{TIMED_MODE_QUESTIONS}\")\n", + "\n", + " print(f\"\\nScore: {game.score} | Streak: {game.streak} | Difficulty: {game.difficulty}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 6.4 生成下一道题\n", + "\n", + "答对后运行此 Cell 生成下一题,然后回到 6.3 继续答题。" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Difficulty: 3 | Time Limit: 20s\n", + "\n", + "Question: The city's vibrant energy blossoms in the late afternoon, buzzing with life, a symphony of laughter and color. Time flies like a gentle breeze, ___ with it a blend of hope and anticipation.\n", + "\n", + "Options:\n", + " 1. carrying up\n", + " 2. carrying\n", + " 3. carried\n" + ] + } + ], + "source": [ + "if not game.game_active:\n", + " print(\"Game is over. Run 6.1 to start a new game.\")\n", + "else:\n", + " question_data = get_question(game.difficulty)\n", + "\n", + " if question_data is None:\n", + " print(\"Failed to generate question. Please re-run this cell.\")\n", + " else:\n", + " game.current_question = question_data\n", + " game.start_time = time.time()\n", + "\n", + " q_text, options, answer = question_data\n", + " display_text = re.sub(r'\\[[^\\]]+\\]', '___', q_text)\n", + "\n", + " remaining_info = f\" | Remaining: {game.remaining_questions}\" if game.mode == \"timed\" else \"\"\n", + " print(f\"Difficulty: {game.difficulty} | Time Limit: {game.get_time_limit()}s{remaining_info}\")\n", + " print(f\"\\nQuestion: {display_text}\")\n", + " print(f\"\\nOptions:\")\n", + " for i, opt in enumerate(options, 1):\n", + " print(f\" {i}. {opt}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 6.5 查看当前游戏状态" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mode: Arcade | Status: Active\n", + "Score: 35 | Streak: 2 | Difficulty: 3\n" + ] + } + ], + "source": [ + "mode_label = \"Arcade\" if game.mode == \"arcade\" else \"Timed\"\n", + "status = \"Active\" if game.game_active else \"Game Over\"\n", + "\n", + "print(f\"Mode: {mode_label} | Status: {status}\")\n", + "print(f\"Score: {game.score} | Streak: {game.streak} | Difficulty: {game.difficulty}\")\n", + "if game.mode == \"timed\":\n", + " print(f\"Remaining Questions: {game.remaining_questions} | Correct: {game.total_correct}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "## 7. Gradio 应用\n", + "\n", + "以下部分构建完整的 Gradio Web 界面。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import gradio as gr" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 7.1 Gradio 回调函数" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def start_game(mode_choice):\n", + " \"\"\"初始化游戏\"\"\"\n", + " game.reset()\n", + " game.mode = mode_choice\n", + " game.game_active = True\n", + "\n", + " question_data = get_question(game.difficulty)\n", + " if question_data is None:\n", + " return (\n", + " \"Failed to generate question. Please try again.\",\n", + " gr.update(visible=False), gr.update(visible=False), gr.update(visible=False),\n", + " \"\", \"\", \"\", \"\", \"\"\n", + " )\n", + "\n", + " game.current_question = question_data\n", + " game.start_time = time.time()\n", + "\n", + " q_text, options, answer = question_data\n", + " display_text = re.sub(r'\\[[^\\]]+\\]', '___', q_text)\n", + "\n", + " mode_label = \"Arcade Mode\" if game.mode == \"arcade\" else \"Timed Mode\"\n", + " info = f\"Mode: {mode_label} | Difficulty: {game.difficulty} | Time Limit: {game.get_time_limit()}s\"\n", + "\n", + " return (\n", + " display_text,\n", + " gr.update(value=options[0], visible=True),\n", + " gr.update(value=options[1], visible=True),\n", + " gr.update(value=options[2], visible=True),\n", + " str(game.score), str(game.streak), str(game.difficulty),\n", + " info, \"\"\n", + " )\n", + "\n", + "\n", + "def handle_answer(selected_option):\n", + " \"\"\"处理用户答题\"\"\"\n", + " if not game.game_active or game.current_question is None:\n", + " return (\n", + " \"Game is not active. Please start a new game.\",\n", + " gr.update(visible=False), gr.update(visible=False), gr.update(visible=False),\n", + " \"\", \"\", \"\", \"\", \"\"\n", + " )\n", + "\n", + " q_text, options, correct_answer = game.current_question\n", + " elapsed = time.time() - game.start_time\n", + " time_remaining = max(game.get_time_limit() - elapsed, 0)\n", + "\n", + " is_correct = (selected_option == correct_answer)\n", + "\n", + " if is_correct:\n", + " game.streak += 1\n", + " earned = game.calculate_score(time_remaining)\n", + " game.score += earned\n", + " game.total_correct += 1\n", + " feedback = f\"Correct! +{earned} points (Time bonus: {time_remaining:.1f}s)\"\n", + " if game.difficulty < 5:\n", + " game.difficulty += 1\n", + " else:\n", + " feedback = f\"Wrong! The correct answer is: {correct_answer}\"\n", + " if game.mode == \"arcade\":\n", + " game.game_active = False\n", + " summary = (\n", + " f\"\\n--- GAME OVER ---\\n\"\n", + " f\"Final Score: {game.score} | Max Streak: {game.streak} | \"\n", + " f\"Difficulty Reached: {game.difficulty}\"\n", + " )\n", + " return (\n", + " feedback + summary,\n", + " gr.update(visible=False), gr.update(visible=False), gr.update(visible=False),\n", + " str(game.score), str(game.streak), str(game.difficulty),\n", + " \"Game Over\", \"\"\n", + " )\n", + " else:\n", + " game.streak = 0\n", + "\n", + " if game.mode == \"timed\":\n", + " game.remaining_questions -= 1\n", + " if game.remaining_questions <= 0:\n", + " game.game_active = False\n", + " summary = (\n", + " f\"\\n--- ALL QUESTIONS DONE ---\\n\"\n", + " f\"Final Score: {game.score} | Correct: {game.total_correct}/{TIMED_MODE_QUESTIONS}\"\n", + " )\n", + " return (\n", + " feedback + summary,\n", + " gr.update(visible=False), gr.update(visible=False), gr.update(visible=False),\n", + " str(game.score), str(game.streak), str(game.difficulty),\n", + " \"Game Over\", \"\"\n", + " )\n", + "\n", + " question_data = get_question(game.difficulty)\n", + " if question_data is None:\n", + " game.game_active = False\n", + " return (\n", + " feedback + \"\\nFailed to generate next question. Game ended.\",\n", + " gr.update(visible=False), gr.update(visible=False), gr.update(visible=False),\n", + " str(game.score), str(game.streak), str(game.difficulty),\n", + " \"Error\", \"\"\n", + " )\n", + "\n", + " game.current_question = question_data\n", + " game.start_time = time.time()\n", + "\n", + " new_q_text, new_options, _ = question_data\n", + " display_text = re.sub(r'\\[[^\\]]+\\]', '___', new_q_text)\n", + "\n", + " mode_label = \"Arcade\" if game.mode == \"arcade\" else \"Timed\"\n", + " remaining_info = f\" | Remaining: {game.remaining_questions}\" if game.mode == \"timed\" else \"\"\n", + " info = f\"{mode_label} | Diff: {game.difficulty} | Time: {game.get_time_limit()}s{remaining_info}\"\n", + "\n", + " return (\n", + " display_text,\n", + " gr.update(value=new_options[0], visible=True),\n", + " gr.update(value=new_options[1], visible=True),\n", + " gr.update(value=new_options[2], visible=True),\n", + " str(game.score), str(game.streak), str(game.difficulty),\n", + " info, feedback\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 7.2 构建 Gradio 界面" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "with gr.Blocks(title=\"English Cloze Challenge\", theme=gr.themes.Soft()) as demo:\n", + " gr.Markdown(\"# English Cloze Challenge\")\n", + " gr.Markdown(\"Select a game mode and answer cloze questions to earn points!\")\n", + "\n", + " with gr.Row():\n", + " with gr.Column(scale=1):\n", + " mode_radio = gr.Radio(\n", + " choices=[\"arcade\", \"timed\"],\n", + " value=\"arcade\",\n", + " label=\"Game Mode\",\n", + " info=\"Arcade: game over on wrong answer | Timed: answer 10 questions\"\n", + " )\n", + " start_btn = gr.Button(\"Start Game\", variant=\"primary\")\n", + "\n", + " with gr.Column(scale=2):\n", + " info_text = gr.Textbox(label=\"Game Info\", interactive=False)\n", + " feedback_text = gr.Textbox(label=\"Feedback\", interactive=False)\n", + "\n", + " gr.Markdown(\"---\")\n", + "\n", + " question_display = gr.Textbox(label=\"Question\", lines=3, interactive=False)\n", + "\n", + " with gr.Row():\n", + " opt1_btn = gr.Button(\"Option 1\", visible=False)\n", + " opt2_btn = gr.Button(\"Option 2\", visible=False)\n", + " opt3_btn = gr.Button(\"Option 3\", visible=False)\n", + "\n", + " gr.Markdown(\"---\")\n", + "\n", + " with gr.Row():\n", + " score_display = gr.Textbox(label=\"Score\", value=\"0\", interactive=False)\n", + " streak_display = gr.Textbox(label=\"Streak\", value=\"0\", interactive=False)\n", + " diff_display = gr.Textbox(label=\"Difficulty\", value=\"1\", interactive=False)\n", + "\n", + " # --- Event bindings ---\n", + "\n", + " start_btn.click(\n", + " fn=start_game,\n", + " inputs=[mode_radio],\n", + " outputs=[\n", + " question_display,\n", + " opt1_btn, opt2_btn, opt3_btn,\n", + " score_display, streak_display, diff_display,\n", + " info_text, feedback_text\n", + " ]\n", + " )\n", + "\n", + " for btn in [opt1_btn, opt2_btn, opt3_btn]:\n", + " btn.click(\n", + " fn=handle_answer,\n", + " inputs=[btn],\n", + " outputs=[\n", + " question_display,\n", + " opt1_btn, opt2_btn, opt3_btn,\n", + " score_display, streak_display, diff_display,\n", + " info_text, feedback_text\n", + " ]\n", + " )\n", + "\n", + "print(\"Gradio app built successfully!\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 7.3 启动 Gradio 应用" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "demo.launch(server_name=\"0.0.0.0\", server_port=7860, share=True)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/WeeklyReports/Hackathon_10th/ERNIEPartner/17_megemini/images/bad_case.png b/WeeklyReports/Hackathon_10th/ERNIEPartner/17_megemini/images/bad_case.png new file mode 100644 index 00000000..8c937663 Binary files /dev/null and b/WeeklyReports/Hackathon_10th/ERNIEPartner/17_megemini/images/bad_case.png differ diff --git a/WeeklyReports/Hackathon_10th/ERNIEPartner/17_megemini/images/cloze.png b/WeeklyReports/Hackathon_10th/ERNIEPartner/17_megemini/images/cloze.png new file mode 100644 index 00000000..45cfb747 Binary files /dev/null and b/WeeklyReports/Hackathon_10th/ERNIEPartner/17_megemini/images/cloze.png differ diff --git a/WeeklyReports/Hackathon_10th/ERNIEPartner/17_megemini/images/gcu.png b/WeeklyReports/Hackathon_10th/ERNIEPartner/17_megemini/images/gcu.png new file mode 100644 index 00000000..480efb75 Binary files /dev/null and b/WeeklyReports/Hackathon_10th/ERNIEPartner/17_megemini/images/gcu.png differ