# yaml-language-server: $schema=https://promptfoo.dev/config-schema.json
description: 'Claude Thinking Example'
prompts:
  - file://prompts.txt
providers:
  - id: anthropic:claude-sonnet-4-6
    config:
      stream: true # Required for thinking operations
      thinking:
        type: 'enabled'
        budget_tokens: 16000
      max_tokens: 32000
  - id: anthropic:messages:claude-sonnet-4-6
    config:
      stream: true # Required for thinking operations
      thinking:
        type: 'enabled'
        budget_tokens: 16000
      max_tokens: 32000
  # Claude Haiku 4.5 via AWS Bedrock
  - id: bedrock:us.anthropic.claude-haiku-4-5-20251001-v1:0
    config:
      temperature: 1 # Required when thinking is enabled on Bedrock
      stream: true # Required for thinking operations
      thinking:
        type: 'enabled'
        budget_tokens: 16000
      max_tokens: 32000

tests:
  - vars:
      question: |
        You have 8 identical balls, but one is slightly heavier than the others.
        Using a balance scale, what is the minimum number of weighings needed to
        find the heavier ball?
    assert:
      - type: llm-rubric
        value: |
          The answer should explain why 2 weighings are sufficient

  - vars:
      question: |
        A train leaves Boston at 8:00 AM traveling west at 100 mph. Another train
        leaves Chicago at 10:00 AM traveling east at 120 mph. If the distance
        between Boston and Chicago is 1000 miles, at what time will the trains meet?
    assert:
      - type: llm-rubric
        value: |
          The trains will meet at 1:38 PM.
