name: data-designer description: 在用户想要创建数据集、生成合成数据或构建数据生成流水线时使用。 argument-hint: [describe the dataset you want to generate] license: Apache-2.0 metadata: owner: DataDesigner
不要先探索工作空间。工作流的"学习"步骤会提供你需要的一切。
使用 Data Designer 库构建一个与以下描述匹配的合成数据集:
$ARGUMENTS
发现更多技能插件,请访问7w4.net。
如果用户暗示他们不想回答问题——例如,他们说"你来决定"、"你做主"、"做合理假设"、"直接构建"、"给我惊喜"等——则使用自动导航模式。否则,使用交互式模式(默认)。
只读取与所选模式匹配的工作流文件,然后按照它操作:
workflows/interactive.mdworkflows/autopilot.mdreferences/seed-datasets.md。references/person-sampling.md。sampler_type="category" 配合 params=dd.CategorySamplerParams(...)。prompt、system_prompt 和 expr 字段中的 Jinja2 模板: 使用 {{ column_name }} 引用列,使用 {{ column_name.field }} 引用嵌套字段。SamplerColumnConfig: 接受 params,而非 sampler_params。LLMJudgeColumnConfig 生成一个嵌套字典,其中每个评分名称映射到 {reasoning: str, score: int}。要获取数值评分,使用 .score 属性。例如,对于一个名为 quality 的评判器列,其评分名为 correctness,使用 {{ quality.correctness.score }}。使用 {{ quality.correctness }} 会返回完整字典,而非数值评分。data-designer CLI 未找到: 告知用户 data-designer 未在此环境中安装(需要 Python >= 3.10)。询问是否希望你创建虚拟环境并安装,或者他们自行安装。未经用户许可不要安装任何内容。在当前目录写入一个 Python 文件,其中包含返回 DataDesignerConfigBuilder 的 load_config_builder() 函数。合理命名文件(例如 customer_reviews.py)。使用 PEP 723 内联元数据声明依赖。
# /// script
# dependencies = [
# "data-designer", # always required
# "pydantic", # only if this script imports from pydantic
# # add additional dependencies here
# ]
# ///
import data_designer.config as dd
from pydantic import BaseModel, Field
# 当输出需要符合特定模式时使用 Pydantic 模型
class MyStructuredOutput(BaseModel):
field_one: str = Field(description="...")
field_two: int = Field(description="...")
# 当内置列类型不足时使用自定义生成器
@dd.custom_column_generator(
required_columns=["col_a"],
side_effect_columns=["extra_col"],
)
def generator_function(row: dict) -> dict:
# 在此添加依赖于 "col_a" 的自定义逻辑,并原地更新 row
row["name_in_custom_column_config"] = "custom value"
row["extra_col"] = "extra value"
return row
def load_config_builder() -> dd.DataDesignerConfigBuilder:
config_builder = dd.DataDesignerConfigBuilder()
# 种子数据集(仅在用户明确提到种子数据集路径时使用)
# config_builder.with_seed_dataset(dd.LocalFileSeedSource(path="path/to/seed.parquet"))
# config_builder.add_column(...)
# config_builder.add_processor(...)
return config_builder
仅在任务需要时才包含 Pydantic 模型、自定义生成器、种子数据集和额外依赖。
这个 Skill 质量较好,能有效帮助生成合成数据集。它在数据生成方面做得不错,生成的脚本正确率高,使用起来也比较安全。主要优点是能根据需求自动设计数据方案,操作流程清晰。不足之处是文档不够完善,缺少一些使用说明,另外在某些情况下响应效率还有优化空间。总体来说值得使用,但入手时可能需要多花点时间熟悉操作方式。