Bỏ qua đến nội dung chính

Generating test datasets

📖 Nội dung bài học

Họ phông chữ

Tóm tắt

Bắt đầu quy trình đánh giá prompt tùy chỉnh bằng cách xác định mục tiêu rõ ràng và tạo dữ liệu kiểm thử. Trong trường hợp này, bạn sẽ xây dựng một prompt giúp người dùng viết mã dành riêng cho AWS - hàm Python, cấu hình JSON hoặc biểu thức chính quy - mà không cần giải thích hoặc định dạng bổ sung.

Thiết lập mục tiêu

Prompt sẽ nhận mô tả tác vụ của người dùng và trả về một trong ba loại đầu ra:

  • Mã Python
  • Cấu hình JSON
  • Biểu thức chính quy

Yêu cầu chính là phản hồi chỉ chứa mã được yêu cầu mà không có tiêu đề, chân trang hoặc giải thích.

Bắt đầu với phiên bản đầu tiên đơn giản giúp mọi thứ dễ quản lý hơn. Mẫu prompt ban đầu rất đơn giản: "Vui lòng cung cấp giải pháp cho tác vụ sau: {task}"

Tạo bộ dữ liệu đánh giá

Một bộ dữ liệu đánh giá chứa các ví dụ đầu vào mà bạn sẽ cung cấp cho prompt của mình. Mỗi trường hợp kiểm thử được kết hợp với prompt của bạn và gửi đến Claude, cho phép bạn xem prompt hoạt động tốt như thế nào trong các tình huống khác nhau.

Bạn có thể tạo bộ dữ liệu theo hai cách:

  • Viết thủ công các trường hợp kiểm thử
  • Tự động tạo chúng bằng Claude

Để tạo tự động, việc dùng một model nhanh hơn như Haiku là hợp lý vì bạn đang tạo nhiều trường hợp kiểm thử.

Tạo dữ liệu kiểm thử bằng mã

Hàm tạo bộ dữ liệu dùng Claude để tạo các tình huống kiểm thử thực tế. Dưới đây là cấu trúc cơ bản:

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)

Cách tiếp cận này dùng kỹ thuật tin nhắn trợ lý được điền trước với các chuỗi dừng để trích xuất các phản hồi JSON sạch. Tin nhắn trợ lý bắt đầu bằng "json" và dừng ở dấu "" đóng, đảm bảo bạn nhận được dữ liệu được định dạng chính xác.

Lưu bộ dữ liệu của bạn

Sau khi tạo, hãy lưu bộ dữ liệu để tránh tạo lại liên tục:

dataset = generate_dataset()
with open("dataset.json", "w") as f:
    json.dump(dataset, f, indent=2)

Bộ dữ liệu được tạo sẽ tạo các tác vụ AWS thực tế như trích xuất ID tài khoản từ ARN, viết lược đồ JSON cho cấu hình EC2 và tạo mẫu regex cho tên bucket S3. Mặc dù ba trường hợp kiểm thử hoạt động cho việc phát triển ban đầu, việc đánh giá sản xuất sẽ cần nhiều ví dụ hơn với sự đa dạng lớn hơn.

Nền tảng này cung cấp cho bạn một quy trình lặp lại để tạo bộ dữ liệu đánh giá phù hợp với trường hợp sử dụng cụ thể của bạn, thiết lập các bước tiếp theo để chạy đánh giá và đo lường hiệu suất prompt.

Tải xuống

🔁 Bài học liên quan

📚 Nguồn & ghi nhận

Bài học có hữu ích không?

Góp ý / Báo lỗiPhát hiện sai sót hoặc có ý tưởng cải thiện?