加载中

构建自定义提示评估工作流程首先要创建一个明确的目标并生成测试数据。在本例中,我们正在构建一个帮助用户编写AWS特定代码的提示——可以是Python函数、JSON配置,或正则表达式——不需要额外的解释或格式。

设置目标

该提示应接收用户的任务描述,并返回以下三种输出类型之一:

  • Python代码
  • JSON配置
  • 正则表达式

关键要求是响应应仅包含所请求的代码,不带标题、页脚或解释。

从一个简单的初始版本开始,可以让事情更易于管理。初始提示模板很简单:"请为以下任务提供解决方案:{task}"

创建评估数据集

评估数据集包含您将输入到提示中的输入示例。每个测试用例都会与您的提示结合并发送给Claude,让您了解该提示在不同场景下的表现如何。

您可以通过两种方式创建数据集:

  • 手动编写测试用例
  • 使用Claude自动生成

对于自动生成,使用像Haiku这样更快的模型是合理的,因为您要生成多个测试用例。

使用代码生成测试数据

数据集生成函数使用Claude来创建逼真的测试场景。以下是基本结构:

python
def generate_dataset():
    prompt = """
    Generate 3 AWS-related tasks that require Python, JSON, or Regex solutions.
    
    Focus on tasks that can be solved by writing a single Python function, 
    a single JSON object, or tasks that do not require writing much code.
    
    Example output:
    [
        {
            "task": "Description of task"
        },
        ...additional
    ]
    
    Please generate 3 objects.
    """
    
    messages = []
    add_user_message(messages, prompt)
    add_assistant_message(messages, "```json")
    text = chat(messages, stop_sequences=["```"])
    return json.loads(text)

这种方法使用预填充的assistant消息技术和停止序列来提取干净的JSON响应。assistant消息以"```json"开头,并在结束的"```"处停止,确保您获得格式正确的数据。 ## 保存您的数据集 生成后,保存数据集以避免不断重新生成: ``` dataset = generate_dataset() with open("dataset.json", "w") as f: json.dump(dataset, f, indent=2) ``` ` 生成的数据集创建了逼真的AWS任务,例如从ARN中提取账户ID、为EC2配置编写JSON模式,以及为S3存储桶名称创建正则表达式模式。虽然三个测试用例适用于初始开发,但生产环境评估需要更多具有更大多样性的示例。 这个基础为您提供了一个可重复的流程,用于创建与您特定用例相匹配的评估数据集,为运行评估和衡量提示性能的下一步做好准备。 `