重要

您正在查看 NeMo 2.0 文档。此版本对 API 和新库 NeMo Run 进行了重大更改。我们目前正在将 NeMo 1.0 的所有功能移植到 2.0。有关先前版本或 2.0 中尚不可用的功能的文档,请参阅 NeMo 24.07 文档

杂项#

class nemo_curator.Sequential(modules)#
@nemo_curator.utils.decorators.batched#

标记一个函数,使其接受 pandas 元素序列而不是单个元素

参数::

function – 接受批量元素的函数

class nemo_curator.AddId(
id_field,
id_prefix: str = 'doc_id',
start_index: int | None = None,
)#
call(
dataset: DocumentDataset,
) DocumentDataset#

对数据集执行任意操作

参数::

dataset (DocumentDataset) – 要操作的数据集

class nemo_curator.blend_datasets(
target_size: int,
datasets: List[DocumentDataset],
sampling_weights: List[float],
)#

将多个数据集组合成一个,每个数据集的数量不同。:param target_size: 结果数据集应包含的文档数量。

如果归一化权重不允许数据集均匀混合,则数据集的实际大小可能会略大。

参数::
  • datasets – 要组合在一起的所有数据集的列表

  • sampling_weights – 要分配给输入中每个数据集的权重列表。权重将在整个列表中归一化,作为采样过程的一部分。例如,如果数据集 1 的归一化采样权重为 0.02,则总样本的 2% 将从数据集 1 中采样。保证最终混合中数据集 i 中有 math.ceil(normalized_weight_i * target_size) 个元素。

class nemo_curator.Shuffle(seed: int | None = None, npartitions: int | None = None, partition_to_filename: ~typing.Callable[[int], str] = <function default_filename>, filename_col: str = 'file_name')#
call(
dataset: DocumentDataset,
) DocumentDataset#

对数据集执行任意操作

参数::

dataset (DocumentDataset) – 要操作的数据集

class nemo_curator.DocumentSplitter(
separator: str,
text_field: str = 'text',
segment_id_field: str = 'segment_id',
)#

根据分隔符将文档拆分为段落。每个段落都是一个新文档,并带有一个额外的列指示段落 ID。

要恢复原始文档,请确保在拆分之前每个文档都有唯一的 ID。

call(
dataset: DocumentDataset,
) DocumentDataset#

根据分隔符将文档拆分为段落,并添加一列指示段落 ID。

class nemo_curator.DocumentJoiner(
separator: str,
text_field: str = 'text',
segment_id_field: str = 'segment_id',
document_id_field: str = 'id',
drop_segment_id_field: bool = True,
max_length: int | None = None,
length_field: str | None = None,
)#

将具有相同 ID 的文档重新合并为一个文档。文档的顺序由额外的 segment_id 列决定。可以指定最大长度来限制合并文档的大小。

合并后的文档通过分隔符连接。

call(
dataset: DocumentDataset,
) DocumentDataset#

将文档重新合并为一个文档,同时保留所有原始字段。