
Label Studio Enterprise 2.36.0 版本全解析Data Manager 批量列编辑、Custom Interfaces 沙箱与成员分析增强【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studio本指南以 Label Studio 开源仓库中 Label Studio Enterprise 2.36.0 版本发布说明 为核心结合仓库源码深入解析本次版本的核心新特性Data Manager 的 Add or Update Columns 批量列编辑、Custom Interfaces 沙箱的自建域名托管、Annotations 面板的垂直布局以及 Data Manager 过滤器与 Member Performance 分析的增强。读完本文你将掌握这些功能的操作方式、底层实现原理与适用前提如功能开关、角色权限与阈值配置能够在自己的 Label Studio Enterprise 部署中正确使用和验证它们。版本总览Label Studio Enterprise 2.36.0发布日期2026 年 8 月 20 日配套 Helm Chart 版本 2.0.7是一次以数据管理效率与审查工作流体验为核心的版本更新官方概括为 Bulk Data Manager column edits, Custom Interfaces sandbox, and improved member analytics。从源码与文档结构看本次版本的能力可归纳为四个层面层面新增/改进能力对应文档数据管理Data Manager 批量新增/更新任务数据列Add or Update Columnsmanage_data.md前端定制Custom Interfaces 沙箱支持部署在 Label Studio 同域名下interfaces.md审查体验Annotations 面板垂直布局Vertical layout支持过滤对比版本发布说明分析与协作Member Performance 支持千人规模团队、Data Manager 过滤器增强、Tab 锁定dashboard_members.md新特性一Data Manager 批量新增或更新任务数据列功能入口与使用方式Add or Update Columns是 2.36.0 在 Data Manager 中新增的动作Action。它的价值在于无需重新导入数据集即可为任务数据task data批量新增字段或跨大量任务更新已有字段的值。使用步骤打开项目进入Data Manager页面。通过过滤器或勾选复选框选中需要操作的任务可多选。点击顶部的操作下拉菜单选择Add or Update Columns。在弹出的对话框中Column选择一个现有列进行更新字段为select类型可搜索或直接输入一个新列名用于新增列creatable: True会显示 Add {value} column 选项。Type选择值的类型共三种String推荐字符串值。Number进阶以数值形式存储便于后续使用大于、小于等数值比较过滤器。Expression进阶通过表达式为不同任务生成不同的值。Value输入要写入的值或表达式。确认后当前页可见的任务会立即同步更新其余任务在后台任务中继续处理操作完成后需要手动刷新页面接口返回manual_refresh_required: True。底层实现与批量写入原理该功能的后端实现位于 label_studio/data_manager/actions/data_columns.py核心入口为add_data_fielddata_columns.py#L223-L252并以DataManagerAction的形式注册在actions列表中data_columns.py#L390-L404标题为 Add or Update Columnsorder: 1需要projects_change权限。请求校验由_validate_column_requestdata_columns.py#L27-L56完成几个关键点新增列名必须可查询若目标列不存在mode 为add列名必须通过is_queryable_column_name校验不允许包含UNQUERYABLE_COLUMN_NAME_CHARACTERS中的字符定义于 data_manager/column_names.py以保证新列能被 Data Manager 过滤和排序。值类型严格校验value_type仅支持String、Number、Expression三种且会尝试将输入值转换为对应 Python 类型转换失败则返回校验错误。数据库层面的批量写入区分两种数据库后端_set_data_value_in_batchesdata_columns.py#L59-L82PostgreSQL通过jsonb_set函数在 SQL 层面直接更新 JSON 字段配合Coalesce(F(data), ...)处理空数据避免逐条读取任务再写回。SQLite逐批读取任务、修改task.data字典后调用Task.objects.bulk_update批量写回。无论哪种后端处理都按批次进行批次大小由设置UPDATE_COLUMN_BATCH_SIZE控制默认 100见 core/settings/base.py#L728-L729目的是不超时地更新大数据集上的数据列。异步任务分级的巧妙设计对于大规模选择该功能采用同步当前页 后台异步补全的混合策略当目标任务数超过阈值ADD_OR_MODIFY_COLUMNS_ASYNC_THRESHOLD默认 100可通过同名环境变量覆盖见 core/settings/base.py#L726-L727时_stage_column_mutationdata_columns.py#L183-L220会先对当前页可见任务visibleTaskIds同步执行写入让界面立即反馈结果再通过start_job_async_or_sync将完整任务集mutation_scope序列化后的过滤器上下文提交到low优先级的后台队列执行job_timeout60 * 60。后台任务通过_reconstruct_mutation_querysetdata_columns.py#L138-L144以requestNone重建与交互式调用结果等价的查询集——源码注释明确指出request仅用于性能相关的 agreement 预过滤和注解者提示不会改变过滤器/选择匹配哪些任务因此后台重建结果是可靠的。新增列后_update_summary_for_new_columndata_columns.py#L123-L129会同步更新项目摘要中的all_data_columns与common_data_columns保证新列立即出现在可过滤/可排序列中。Expression 表达式语法当类型选择Expression时可以按command(arguments)形式为选中任务生成不同值。源码add_expressiondata_columns.py#L273-L339支持以下命令定义于add_data_field_examplesdata_columns.py#L264-L270表达式参数行为range(2)1 个整数从指定起始值开始为任务依次写入递增整数start, start1, ...sample()无为每个任务写入一个 0 到任务数之间的随机不重复样本random(1, 10)2 个整数为每个任务写入 [min, max] 区间内的随机整数choices([a,b], [1,2])值列表必选、权重列表可选按给定权重从值列表中随机抽取replace(old, new)2 个值若任务数据中存在该列则将其值中的子串old替换为new注意choices与replace的列表/字符串参数内部会先将逗号替换为分号再解析因此传入的数组字面量请按示例书写。非法表达式会抛出校验错误并提示可用命令列表。功能开关Feature Flag需要特别说明该功能受组织级功能开关控制。add_or_modify_columns_enableddata_columns.py#L23-L24检查fflag_utc_1012_add_or_modify_columns特性标志未开启时接口直接抛出PermissionDenied(Add or Update Columns is not enabled for this organization.)同时前端动作也会被hidden隐藏data_columns.py#L396。因此部署后若在 Data Manager 中看不到该动作请先确认组织已开启对应特性标志。新特性二Custom Interfaces 沙箱支持自有域名托管背景沙箱的安全边界Custom Interfaces自定义界面是 Label Studio Enterprise 中用于构建专用标注界面的功能。从 interfaces.md 可知Interfaces 以沙箱化模块的形式运行在 Label Studio 编辑器外壳editor shell内运行时强制一套严格契约仅限 React 源码默认封闭代码中可使用React及标准 hooksuseState、useRef、useEffect、useCallback、useMemo和少量getField辅助函数不能importnpm 包第三方库需打包进 Interface 或从白名单主机加载。纯 JavaScript JSX不支持 TypeScript模块在运行时编译求值必须导出默认组件及可选的辅助函数getResults、parseResults、outputSchema、inputSchema、paramsSchema、GridCell。默认无网络访问Interface 只能访问 Label Studio 服务器本身要调用外部服务需由 Owner/Admin 在Organization Settings Interfaces → API origins中将该来源加入白名单。持久化受限状态仅存在于一次标注会话期间需要保留的数据必须通过标注结果annotation results输出。2.36.0 的改进点此前Custom Interfaces 沙箱运行在独立域上导致依赖真实来源real origin的浏览器特性如摄像头、麦克风等权限类 API无法在沙箱内工作。2.36.0 起本地部署on-premises可以将 Custom Interfaces 沙箱托管在与 Label Studio 相同的域名下使这些需要真实来源的浏览器能力例如在自定义界面中采集图像、录音得以正常使用。适用前提!!! attention 功能可用性 Custom Interfaces 本身通过**功能开关feature flag**控制。需要联系 HumanSignal 账户团队为工作区开启后才能使用详见 interfaces.md。相关角色的权限矩阵同样来自 interfaces.mdOwner 与 Admin可以为任意工作区创建和编辑共享 Interfaces。Manager可以在其所属的工作区中创建和编辑共享 Interfaces。标注者与审查者无 Interfaces 功能访问权限。新特性三Annotations 面板垂直布局2.36.0 为审查者提供了新的Vertical Annotations panel layout垂直注解面板布局审查者可以在 Quick View快速查看中切换为垂直布局并借助过滤支持在同一视图中对比一个任务的多个标注annotations无需离开 Quick View 页面。该特性面向审查场景的痛点当同一任务存在多条标注多人标注或模型预测时横向排列的面板在屏幕宽度有限的情况下难以并行对比垂直布局将标注逐条纵向排布配合过滤可以只显示关心的标注例如只对比被拒绝的、或仅来自特定标注者的标注显著降低逐条比对时的上下文切换成本。新特性四Data Manager 过滤器增强2.36.0 对 Data Manager 的过滤能力做了两处重要增强基于标注结果的过滤器Filter annotation results新增针对**标注结果annotation results**的过滤器可以精确筛选包含特定标注标签的任务。与 Label Studio Community 版中对所有标注做非结构化文本搜索的弱语义不同Enterprise 版支持结构化的结果级过滤核心能力包括按任务中包含的具体标注标签筛选任务支持添加多行子过滤器并用AND/OR 逻辑组合。根据 manage_data.md 的说明以下控制标签的结果支持该过滤器所有Labels标签如Labels、ParagraphLabels等、Choices、Taxonomy、Rating。已知限制通过apiUrl加载的 Taxonomy参见 taxonomy 模板将无法被检测到即不会出现在该过滤器的可选标签中。用户类列支持多选Data Manager 中对Annotators标注者、Reviewers审查者、Comment authors评论作者等用户列的过滤从单选升级为支持同时选择多个用户。这意味着可以一次性过滤出由标注者 A 或 B 提交的任务与上述 AND/OR 逻辑组合后可以构建更精确的排程与质量排查视图。新特性五面向更大团队的 Member Performance 分析改进点Analytics Member Performance成员绩效仪表盘针对大规模团队做了多项增强按项目或工作区过滤成员支持将报表范围收窄到特定项目或工作区。一键全选支持一次选择所有成员避免在大团队中逐页勾选。最多 1,000 名成员报表规模上限提升至 1,000 名成员。表格可排序所有表头均可排序。隐藏无活动成员可以隐藏没有任何活动的成员聚焦活跃人力。与 Members 仪表盘的配套使用Member Performance 与项目内的 Members 仪表盘 是互补关系Members 仪表盘项目级提供Performance与Agreement Matrix两个页签前者分别展示标注者Annotation Summary与审查者Review Summary的指标表后者以热力图展示成员之间的两两一致性Agreement得分。Member Performance 仪表盘跨项目、跨时间用于查看成员在多个项目上的长期指标标注者的名字可点击跳转见 dashboard_members.md。Members 仪表盘的 Agreement Matrix 中单元格按一致性区间着色绿色 高≥ 66%、黄色 中等33%–66%、红色 低 33%点击任意单元格可跳转到 Data Manager 中两名成员都标注过的任务视图直接检查分歧dashboard_members.md。在 2.36.0 之后随着 Member Performance 容量上限提升到 1,000 人千人规模的团队也能在组织层面统一排查质量与产能问题。其他新增功能除上述主线能力外2.36.0 还包含以下增强Tab 锁定Manager 及以上角色可以锁定一个 Data Manager Tab防止其他用户修改其过滤器、列或视图设置——适合将特定 Tab 作为团队既定工作视图的场景。网格视图全选Data Manager 的 Grid view 支持一键选中所有已显示或已过滤的任务同时 Data Manager 以及 Organization/Project Members 表格中新增右键上下文菜单。Analytics KPI APIAnalytics KPI 接口已更新并补齐文档可用于配合 SDK 使用编程化地拉取 KPI 指标。Markdown 渲染Interface 与模板template的描述信息现在支持渲染 Markdown包括加粗文本、列表、行内代码与链接便于在配置中书写更丰富的说明。安全与可靠性官方发布说明指出本次版本继续进行平台加固包含依赖项安全更新dependency security updates、Bug 修复与可靠性改进。这类幕后工作虽不体现在功能列表上但对于生产部署尤其是 on-premises 环境的合规与稳定性至关重要升级时建议一并查阅升级指南确认兼容性。总结Label Studio Enterprise 2.36.0 的核心价值可以概括为三点数据治理效率借助 Add or Update Columns 动作后端实现于 label_studio/data_manager/actions/data_columns.py无需重导数据集即可批量新增/更新任务字段且通过同步当前页 后台异步补齐的分级策略与jsonb_set批量写入保证了大数据集下的响应速度。自定义界面落地Custom Interfaces 沙箱支持部署在 Label Studio 自有域名下解锁摄像头、麦克风等依赖真实来源的浏览器能力让自定义标注界面具备多媒体采集场景的可行性。大规模团队运营Member Performance 容量提升至 1,000 名成员、Data Manager 结果级过滤器与用户多选过滤、Tab 锁定等能力共同支撑更精细的任务筛选与更大规模的人力质量分析。升级与启用提示Add or Update Columns 与 Custom Interfaces 均受组织级功能开关控制前者为fflag_utc_1012_add_or_modify_columns部署验证时需先确认对应特性标志已开启批量写入的批次大小与异步阈值可通过UPDATE_COLUMN_BATCH_SIZE与ADD_OR_MODIFY_COLUMNS_ASYNC_THRESHOLD两个环境变量按项目规模调优默认均为 100。【免费下载链接】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),仅供参考