入门
快速开始
大约十分钟内启动你的第一次优化运行。
本页介绍如何在大约十分钟内开始你的第一次运行。你需要登录、上传一个小数据集、填写向导的四个步骤,然后开始运行。示例会改进一个把客服消息归类到标签的提示词。
开始之前
你需要:
- 一个 Skynet 账户。
- 一个 CSV、JSON 或 Excel 文件(
.csv、.json、.xlsx或.xls)。每一行是一个用例。 - 一个或多个输入列,例如
message。 - 一个期望输出列,例如
label。
1. 登录
登录 Skynet,然后打开提交页面 /submit。
2. 任务
第一步是 任务。它会问“你想优化什么?”
- 在 目标 中写明什么是好的结果。用通俗的话,例如“把每条客服消息归类为 billing、bug 或 other。”
- 可选:在 背景 中添加有助于优化器的上下文。
- 在 工件类型 中选择 提示词。
- 在 起始版本 中粘贴你当前的提示词。
3. 输入
第二步是 输入。
- 选择 上传 CSV、JSON 或 Excel 文件,或选择 从库中选择 来使用已保存的数据集。
- 在 如何读取数据 下,为每一列指定角色:
- 输入:运行代码会收到这一列。
- 输出:期望值。指标会收到它。
- 跳过:Skynet 不使用这一列。
- 划分方式保持 使用推荐。对大多数数据集,划分为 70% 训练、15% 验证和 15% 测试。
完整规则请阅读数据集与划分。
4. 优化器
第三步是 优化器(“优化器、模型和预算”)。
- 优化器保持为 Auto。
- 选择一个 反思模型。优化器用它来编写新版本。此模型为必填项。
- 可选:选择一个 任务模型。你的运行代码会使用它。
- 在 预算 下,最大评分器运行次数 保持默认值 200。
如需选择特定引擎,请阅读引擎。
5. 指标和运行
最后一步是 指标和运行(“代码和指标”)。你需要编写两个文件。
from skynet import llm
def run(artifact, input):
return llm(artifact, input=input["message"])def score(input, output, expected=None):
want = expected["label"].strip().lower()
got = str(output).strip().lower()
if got == want:
return 1.0, {"feedback": "Correct label."}
return 0.0, {"feedback": f"Expected '{want}', got '{got}'."}artifact 是你的提示词的当前版本。input 包含一个用例的输入列。expected 包含输出列,以列名作为键。
然后在 契约检查 下选择 检查。检查会在沙箱中用 3 个样例用例运行你的代码和指标。它检查以下内容:
| 检查项 | 失败的情况 |
|---|---|
| 运行代码签名 | run.py 没有定义 run(artifact, input) |
| 指标签名 | metric.py 没有定义 score(input, output, expected=None) |
| 指标模型 | 指标模型不可用 |
| 在样例上运行代码 | 你的运行代码在某个样例用例上抛出错误 |
| 指标返回值 | score 没有返回有效的分数和反馈 |
6. 开始并观察
摘要页面显示“准备运行”。它的标签页有“常规”、“数据”、“模型”、“预算”和“奖励”。检查设置,然后开始优化。
从你的运行列表中打开这次运行即可观察进度。请阅读结果来理解分数和胜出的版本。