
Label Studio Enterprise 2.3.1 发版深度解析全新 Helm Chart、评论系统列与项目复制能力【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studioLabel Studio Enterprise 2.3.1 是一次里程碑式的版本发布其核心亮点是推出同时适用于 Label Studio 社区版LS与企业版LSE的统一 Helm Chart并正式退役 MinIO 服务同时带来大量围绕数据管理、评论协作、项目复制与视频标注的可用性增强。本文以官方发布说明为骨架结合当前开源仓库的源码实现逐条拆解本版本的破坏性变更、新增功能、底层实现与关键修复帮助你评估升级影响并快速上手新能力。版本总览本版本以 New helm chart, multiple usability enhancements, including new Data Manager columns and the ability to duplicate projects 为发布核心涵盖三类变更破坏性变更Breaking changes影响升级路径与部署拓扑新功能与增强New features and enhancements共 49 项覆盖标注界面、数据管理、协作、机器学习后端与可视化Bug 修复Bug fixes超过 180 项覆盖标注器、数据管理、导出、认证与部署从仓库结构看本版本涉及的改动横跨 tasks 模块评论计数、任务复制、projects 模块项目复制、data_manager 模块Data Manager 新列与过滤以及 前端编辑器图片缩放预设、Taxonomy 键盘导航等核心代码域。破坏性变更部署拓扑的两大调整Nginx 迁移至 Sidecar 容器本版本将 Nginx 从独立进程/容器迁移为 sidecar 容器形态。这意味着反向代理与主应用容器同生命周期共存于同一 Pod 中简化了网络配置与证书管理。对用户的影响主要体现在升级后不再需要单独管理 Nginx 服务实例原有通过 Nginx 暴露的端口、静态资源与代理规则如部署脚本 10-configure-nginx.sh 中涉及的配置逻辑需要同步迁移到新的 sidecar 配置仓库中的 default.conf 与 uwsgi.ini 反映了应用进程与 Web 服务器解耦的部署思路升级时需确认新 Chart 的 sidecar 配置与其一致。MinIO 服务正式退役早在 LSE 2.2.9 已预告本版本终于移除 MinIO 服务。MinIO 曾用于对象存储退役后依赖 MinIO 的本地对象存储场景需迁移至受支持的持久化存储方案仓库中的 docker-compose.minio.yml 与 prometheus/minio 等 MinIO 相关文件仅适用于仍在使用旧版部署方式的场景新部署不应再引入社区版相关文档 decommission_minio.md 提供了完整的退役迁移指引建议在升级前完成数据迁移。新的统一 Helm Chart 与无停机迁移本版本发布了同时覆盖 Label Studio 社区版与企业版的统一 Helm Chart随 LSE 2.3.x 提供替换此前企业版专用的旧 Chart。新 Chart 的核心收益是一套 Chart 同时管理 LS 与 LSE降低运维成本支持无停机迁移迁移过程不需要业务中断可在滚动发布窗口内完成修复了 Google 项目 ID 仅包含数字时的 helm 支持问题见 Bug fixes 中的 helm: Fixed support for Google project ids with only digits in name。迁移路径建议先在测试环境用新 Chart 部署同版本 LSE验证 sidecar Nginx 与存储配置后再按官方迁移指南在生产环境滚动升级。由于本版本同时涉及 Nginx 拓扑变化与 MinIO 退役务必在迁移前完成存储数据的备份与导出。新功能与增强详解项目复制复制设置、任务与标注本版本引入项目复制能力用户可在界面上将已有项目连同设置、任务、标注整体复制同时在复制过程中以 indeterminate 状态显示进度对应修复项 Showed indeterminate loading when project duplication is in progress。复制过程中还会拷贝 Google source/target 存储配置Fixed duplicating process to copy Google source/target storage并将模板的全部项目设置复制到新项目Copied all project settings from template to new project。从源码结构看复制逻辑分布在 projects 模块 与 tasks 模块 中涉及任务与标注的深拷贝以及外键重映射相关迁移 0028_auto_20241107_1031.py 为复制功能补充了必要的数据库字段。使用建议适合用已有项目作为模板批量创建同构标注项目复制大项目时注意任务量对数据库写入的压力界面会显示进行中状态复制后的新项目与源项目完全独立后续标注互不影响。项目置顶Project Pinning新增项目置顶接口用户可将常用项目固定到列表顶部便于快速访问。配套修复包括 Allowed users to pin/unpin projects to more easily filter and find projects of interest 与 Fixed workspace filter for project list API确保置顶项目在不同工作区过滤条件下表现一致。Data Manager 评论列与评论系统增强本版本为评论系统新增了四个 Data Manager 列方便按评论维度筛选任务Comment count任务内含所有标注的评论总数Unresolved comment count未解决评论数Comment authors发表过评论的用户Last comment date最后一条评论的更新时间这些列的底层字段可以在 tasks/models.py 中直接看到实现comment_count models.IntegerField( _(comment count), default0, help_textNumber of comments in the task including all annotations, ) unresolved_comment_count models.IntegerField( _(unresolved comment count), default0, help_textNumber of unresolved comments in the task including all annotations, ) comment_authors models.ManyToManyField( users.User, related_nametasks_with_comments, help_textUsers who wrote comments, ) last_comment_updated_at models.DateTimeField( _(last comment updated at), nullTrue, defaultNone, help_textWhen the last comment was updated, )配套功能包括Reviewer 可将评论标记为已解决resolved评论的新增/编辑/删除能力Added edit/delete comment functionalitySubmit/Update/Skip/Accept/Reject 按钮的评论行为更新Data Manager 中按评论过滤任务并支持导出时携带 review counters修复 Export failed with review counters in filters相关数据库迁移见 tasks/migrations/0025_auto_20220721_0110.py 与 tasks/migrations/0026_auto_20220725_1705.py。转录按作者过滤与审查流增强Annotator 与 Reviewer 现在可以按作者名过滤转录视图配套修复 Fixed app crash with Author Filter for Paragraphs enabled 解决了该功能在段落场景下的崩溃问题。同时本版本还支持通知链接嵌入 Label Stream 与 Review Stream通知中直接附带标注链接为任务手动指定 Reviewermanual mode审查流历史在初始加载时保留Retained history on initial load of annotation review stream。图片缩放预设与定位控制图片标注界面新增尺寸预设可将图片缩放至适应视口fit或以原始尺寸显示original/auto在视口可用空间内并支持图片在视口内的垂直top/center/bottom与水平left/center/right定位。这些参数在编辑器 Image 标签中已实现为defaultZoom属性源码见 web/libs/editor/src/tags/object/Image/Image.js/** * param {auto|original|fit} [defaultZoomfit] - Specify the initial zoom of the image within the viewport while preserving its ratio. */ zoom: types.optional(types.boolean, true), negativezoom: types.optional(types.boolean, false),即Image标签可通过defaultZoomoriginal、defaultZoomfit等取值在标注配置中直接指定初始缩放模式。配套修复还包括 Fixed an issue when the image shrinks in certain cases 与 Fixed gaps on image borders on different screen sizes which may lead to slight region subpixel shifts。Taxonomy 键盘导航Taxonomy分类树组件支持完整的键盘操作Up/Down上下导航选项Right展开子树Space选中当前项同时修复了多行显示与交互问题并支持 taxonomy choice 的 aliasEnabled alias for taxonomy choice以及Taxonomy视图配置中的 selected 属性Fixed selected attribute in view configuration for Taxonomy。键盘事件处理相关实现位于前端编辑器组件 web/libs/editor/src/components/BottomBar/Controls.tsx 附近的控制组件中。音频与视频标注增强Audio/标签新增defaultZoom、defaultSpeed、defaultVolume三个属性用于设置初始缩放、播放速度与音量新增将音频与段落同步的选项支持按 chunk 位置播放Add option to synchronize audio with paragraphs allowing playback of chunk position视频分割场景支持更简单的帧跳转快捷键以及时间轴上帧的 scrubbingAllowed frames scrubbing on the timeline与播放头拖动Allowed video playhead/seeker scrubbingData Manager 新增视频类型支持与视频预览并列出受支持的视频格式不支持格式会给出明确报错Showed unsupported video format error messageLabeling Interface 新增 Video 设置可调整 hop size修复了高分辨率视频因缩放延迟导致边界框坐标损坏的问题Fixed an issue when high resolution videos produced bounding boxes with corrupted coordinates due to the zoom lag。数据可视化、标签与导出增强时序数据支持负值及更多可视化定制Allow negative timeseries data and additional customization options to visualization并修复大时序数据集y值显示错误Label weights标签权重设置区新增于Settings Quality用于质量指标计算配套修复标签变更后权重未重置的问题导出增强COCO 导出移除文件名中的项目编号、CONLL 导出修复 token 切分、YOLO/VOC 导出为空标注补充占位图Dashboard 数据支持日期与动作过滤并新增updated_by到 dashboard API。认证、组织与工作区LDAP 支持PosixGroupType邀请弹窗支持按邮箱邀请新增Resend与Revoke邀请按钮组织角色下拉为未激活用户显示状态指示器未激活用户在组织的Last Activity列显示Never而非邀请日期新增api/workspaces?user_emailxxxAPI返回指定用户的工作区列表Annotator 视角新增工作区分组展示仅显示其所属工作区。其他界面与体验增强Data Manager 支持拖拽自定义列顺序Annotator 的 Data Manager 过滤器在页面切换/刷新后保持对应修复 Fixed annotators data manager filters to persist through page reload标签折叠状态跨任务保持标签组顺序保持一致项目列表通过二次请求second request水合计数器显著提升列表加载性能修复项目列表卡片请求使用错误 Feature Flags 的问题区域列表Outliner支持滚动模式下的区域导航显示区域索引以区分区域标注历史项预览时禁用删除按钮避免误操作。关键 Bug 修复盘点多边形与区域编辑未闭合的多边形保存为草稿并保持打开状态移动时不再自动补全绘制过程中可通过 Ctrl/CmdZ 撤销刚设置的点Ctrl/CmdShiftZ 重做修复多边形完成绘制时被重复复制的问题锁定后的多边形不再显示可编辑锚点3 点 Bbox 在移除矩形标签后仍可正常使用Alt点击可删除点区域隐藏后再显示时选区不再丢失。标注与审查工作流跳过的任务应置于标注流末尾而非开头已取消的跳过操作保留原有历史审查流中垂直滚动行为与 Quick View、Label Stream 一致修复审查统计在指标变更后的重算问题修复 assigned tasks 的审查流。数据管理与过滤修复 Tasks per page 字段与显示任务数不同步修复 Data Manager 分页错误与 All Projects 分页断裂修复按空标签分组导致应用崩溃修复数字虚拟标签过滤的 URL 序列化问题修复 annotator 被停用后 Data Manager 崩溃的问题。安全与合规修复PyJWT漏洞清理日志避免敏感数据泄露服务器错误 API 响应不再暴露 stacktrace增加校验防止用户通过 URL 导入本地文件新增工作区成员唯一约束移除用户在 API 中被删除的能力Denied removing users by API登录会话 15 分钟无操作或 8 天后过期以先到者为准。标签配置与模板修复Repeater标签的配置校验、滚动与 Taxonomy 显示问题支持Repeater分页模式以提升性能DateTime标签支持日期、日期时间或年份的条件渲染移除对新数据字段的配置校验Removed validation for new data fields in label config修复!DOCTYPE标签导致的配置校验误报修复Control标签空toName问题。升级与使用建议评估部署拓扑变更Nginx 迁至 sidecar、MinIO 退役均属破坏性变更升级前务必阅读 decommission_minio.md 完成存储迁移并确认自定义 Nginx 配置在新 sidecar 形态下的兼容性。利用统一 Helm Chart 做无停机迁移在测试环境先行演练重点验证 Google 项目 ID 纯数字场景等已知边界情况。试用项目复制与置顶适合以模板化方式批量创建同构项目复制大项目时留意进度提示与数据库压力。配置评论列与评论协作在 Data Manager 中启用四个评论列结合 Resolve 机制建立 Reviewer 与 Annotator 的闭环沟通。调整标注界面新参数在标注配置中试用Image defaultZoomoriginal与Audio defaultSpeed... defaultVolume...并为 Taxonomy 标注者同步键盘导航快捷键。验证导出与质量指标升级后重新跑一遍 COCO/CONLL/YOLO/VOC 导出回归并确认 Label weights 设置在 Quality 下的计算符合预期。本版本横跨部署、协作、标注体验与数据管理四个维度是 LSE 2.3 系列中部署架构与协作能力双重升级的关键版本建议结合官方发布说明与当前仓库源码逐项验证后再推进生产升级。【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考