这是一个基于 Python 生态 ,采用 PyTorch 框架 和 HuggingFace 工具链 构建的中文医疗大语言模型项目#38
Open
chenziqi66 wants to merge 1 commit intoMediaBrain-SJTU:ming-moefrom
Open
这是一个基于 Python 生态 ,采用 PyTorch 框架 和 HuggingFace 工具链 构建的中文医疗大语言模型项目#38chenziqi66 wants to merge 1 commit intoMediaBrain-SJTU:ming-moefrom
chenziqi66 wants to merge 1 commit intoMediaBrain-SJTU:ming-moefrom
Conversation
请按照需求帮我配置一下这个项目的CI/CD 一. 核心需求目标 代码质量保障:确保每次提交的代码都符合项目规范,没有语法错误和依赖冲突 自动化测试:运行模型相关的自动化测试,确保模型功能正常 构建验证:验证项目包可以正常构建和安装 环境一致性:确保开发、测试、生产环境的依赖一致性 部署自动化:支持自动化部署到测试/生产环境(如果需要) 二. CI 流水线设计(代码提交时触发) 阶段1:代码检查与质量控制 阶段2:单元测试与功能测试 阶段3:构建验证 三.CD 流水线设计(合并到主分支时触发) 触发条件 : 代码合并到 main 或 master 分支 Tag 创建(如 v1.1.3 ) 执行步骤 : 1. 版本验证 :检查 pyproject.toml 中的版本号是否符合语义化规范 2. 包发布 : 发布到 PyPI(或私有包管理平台) 生成 Release Notes 3. 文档更新 :自动更新 API 文档(如果有) 4. 部署通知 :发送部署成功/失败通知到团队通讯工具 四:特殊场景配置需求 场景A:训练任务触发 触发条件 :修改 ming/train/ 目录下的文件 额外执行 : 1. 验证 DeepSpeed 配置文件格式( scripts/*.json ) 2. 运行训练脚本的 dry-run 模式(如果支持) 3. 检查 GPU/内存资源配置合理性 场景B:评估任务触发 触发条件 :修改 ming/eval/ 目录下的文件 额外执行 : 1. 验证评估数据集格式 2. 测试评估指标计算逻辑 场景C:服务部署触发 触发条件 :修改 ming/serve/ 目录下的文件 额外执行 : 1. 测试 FastAPI 服务启动 2. 测试 Gradio 界面可用性 3. 运行 API 接口测试 五、需要补充的前置条件 为了更好地实现 CI/CD,建议先补充: 1. 测试代码 :在 tests/ 目录下创建单元测试和集成测试 2. 测试脚本 :在 pyproject.toml 中配置测试命令 3. 日志配置 :确保 CI 环境能正常输出调试日志 4. 错误处理 :关键模块添加适当的错误处理和异常抛出
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
请按照需求帮我配置一下这个项目的CI/CD
一. 核心需求目标
代码质量保障:确保每次提交的代码都符合项目规范,没有语法错误和依赖冲突
自动化测试:运行模型相关的自动化测试,确保模型功能正常
构建验证:验证项目包可以正常构建和安装
环境一致性:确保开发、测试、生产环境的依赖一致性
部署自动化:支持自动化部署到测试/生产环境(如果需要)
二. CI 流水线设计(代码提交时触发)
阶段1:代码检查与质量控制
阶段2:单元测试与功能测试
阶段3:构建验证
三.CD 流水线设计(合并到主分支时触发)
触发条件 :
代码合并到 main 或 master 分支
Tag 创建(如 v1.1.3 ) 执行步骤 :
版本验证 :检查 pyproject.toml 中的版本号是否符合语义化规范
包发布 : 发布到 PyPI(或私有包管理平台)
生成 Release Notes
文档更新 :自动更新 API 文档(如果有)
部署通知 :发送部署成功/失败通知到团队通讯工具 四:特殊场景配置需求
场景A:训练任务触发
触发条件 :修改 ming/train/ 目录下的文件
额外执行 :
验证 DeepSpeed 配置文件格式( scripts/*.json )
运行训练脚本的 dry-run 模式(如果支持)
检查 GPU/内存资源配置合理性 场景B:评估任务触发 触发条件 :修改 ming/eval/ 目录下的文件 额外执行 :
验证评估数据集格式
测试评估指标计算逻辑 场景C:服务部署触发 触发条件 :修改 ming/serve/ 目录下的文件
额外执行 :
测试 FastAPI 服务启动
测试 Gradio 界面可用性
运行 API 接口测试 五、需要补充的前置条件
为了更好地实现 CI/CD,建议先补充:
测试代码 :在 tests/ 目录下创建单元测试和集成测试
测试脚本 :在 pyproject.toml 中配置测试命令
日志配置 :确保 CI 环境能正常输出调试日志
错误处理 :关键模块添加适当的错误处理和异常抛出