TruncateTextColumn¶
使用 tokenizer 或字符数截断行。
TruncateTextColumn
是一个 Step
,它根据最大长度截断行。如果提供了 tokenizer
,则将使用 tokenizer 截断行,并且 max_length
将用作最大 token 数,否则将用作最大字符数。当人们想要将行截断到一定长度,以避免模型中由于长度引起的后续错误时,TruncateTextColumn
步骤非常有用。
属性¶
-
column:要截断的列。默认为
"text"
。 -
max_length:用于截断的最大长度。如果给定了
tokenizer
,则对应于 token 的数量,否则对应于字符的数量。默认为8192
。 -
tokenizer:要使用的 tokenizer 的名称。如果提供,将使用 tokenizer 截断行。默认为
None
。
输入和输出列¶
graph TD
subgraph Dataset
subgraph Columns
ICOL0[dynamic]
end
subgraph New columns
OCOL0[dynamic]
end
end
subgraph TruncateTextColumn
StepInput[Input Columns: dynamic]
StepOutput[Output Columns: dynamic]
end
ICOL0 --> StepInput
StepOutput --> OCOL0
StepInput --> StepOutput
输入¶
- dynamic(由
column
属性确定):要截断的列,默认为“text”。
输出¶
- dynamic(由
column
属性确定):截断后的列。
示例¶
将行截断为给定的 token 数量¶
from distilabel.steps import TruncateTextColumn
trunc = TruncateTextColumn(
tokenizer="meta-llama/Meta-Llama-3.1-70B-Instruct",
max_length=4,
column="text"
)
trunc.load()
result = next(
trunc.process(
[
{"text": "This is a sample text that is longer than 10 characters"}
]
)
)
# result
# [{'text': 'This is a sample'}]