添加运行管道的要求¶
当共享包含自定义 Step
或 Task
的 Pipeline
时,您可能希望添加运行它们所需的特定要求。 distilabel
将获取此需求列表,并在缺少任何需求时警告用户。
让我们通过一个示例来看看如何添加额外的要求。我们要做的第一件事是为我们的 CustomStep
添加要求。为此,我们使用 requirements
装饰器来指定步骤具有 nltk>=3.8
作为依赖项(我们可以使用 版本说明符)。此外,我们将在 Pipeline
级别指定我们需要 distilabel>=1.3.0
才能运行它。
from typing import List
from distilabel.steps import Step
from distilabel.steps.base import StepInput
from distilabel.typing import StepOutput
from distilabel.steps import LoadDataFromDicts
from distilabel.utils.requirements import requirements
from distilabel.pipeline import Pipeline
@requirements(["nltk"])
class CustomStep(Step):
@property
def inputs(self) -> List[str]:
return ["instruction"]
@property
def outputs(self) -> List[str]:
return ["response"]
def process(self, inputs: StepInput) -> StepOutput: # type: ignore
for input in inputs:
input["response"] = nltk.word_tokenize(input)
yield inputs
with Pipeline(
name="pipeline-with-requirements", requirements=["distilabel>=1.3.0"]
) as pipeline:
loader = LoadDataFromDicts(data=[{"instruction": "sample sentence"}])
step1 = CustomStep()
loader >> step1
if __name__ == "__main__":
pipeline.run()
一旦我们调用 pipeline.run()
,如果 Step
或 Pipeline
级别告知的任何要求缺失,将引发 ValueError
,告诉我们应该安装依赖项列表