Compare commits
101 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 49ae371714 | |||
| af26204934 | |||
| 91f9e1be3e | |||
| 8c8d474b65 | |||
| d7749a0ad3 | |||
| b26e646d86 | |||
| d245218651 | |||
| 261529cbe4 | |||
| fdc00cbce3 | |||
| 9cb5767c46 | |||
| c7ff2b2a9e | |||
| 6177a4a97d | |||
| 4e8eb53deb | |||
| 772e3a7ebf | |||
| 728e3fefc8 | |||
| a0565e126f | |||
| ea410e34bf | |||
| 131c7034ef | |||
| 03b42b4d12 | |||
| 6f7801a38d | |||
| 8e7dda5416 | |||
| ddd030c8f8 | |||
| ceb4c547ce | |||
| 496e793f0b | |||
| 0d1cd44c98 | |||
| 917f37d356 | |||
| 4776134399 | |||
| 94e5d5d869 | |||
| 14ecf0d9a9 | |||
| d1ed396f6f | |||
| 2440ef0f3f | |||
| 5f01765001 | |||
| 5241410c37 | |||
| 80d306ff54 | |||
| 003b8f7dd2 | |||
| af4c8d0f76 | |||
| efa2af1033 | |||
| 5f67bfe137 | |||
| 9ae7ae42df | |||
| 3633849d5d | |||
| a0e59871c0 | |||
| 2f29d04f8e | |||
| 92a5a3f85f | |||
| c6336343d1 | |||
| f8c45b6ca8 | |||
| 6b86d65383 | |||
| 064e535664 | |||
| 635788d0d6 | |||
| 3d94def44a | |||
| 5bd9b61d85 | |||
| 01955aead7 | |||
| 0a9e3d75f2 | |||
| a3b2db18fa | |||
| 2d7e6656c8 | |||
| 91798bdeb0 | |||
| 73e0140dae | |||
| 36e52c80c4 | |||
| 7a606f9726 | |||
| f4cdc3dcbd | |||
| ebd9ce6664 | |||
| 268bd77ce6 | |||
| ab6ea3c131 | |||
| 860d6662c6 | |||
| d16538da96 | |||
| 8ce40a0410 | |||
| a9c7dbef22 | |||
| 12aadb0036 | |||
| 38ea3857a6 | |||
| 4f152856f3 | |||
| e69d24f4a8 | |||
| 955a0cc9a3 | |||
| 3966db6d2a | |||
| bf72877eac | |||
| 9a81fa6cc5 | |||
| 584600d72e | |||
| 955524658d | |||
| 12d6fcb530 | |||
| f6737b52ba | |||
| 30880cd45a | |||
| 7c47e957db | |||
| 106d6542fd | |||
| dd0c9488fc | |||
| 1f35993626 | |||
| 2b6987cc99 | |||
| 2a30f47df9 | |||
| 852e4f80dd | |||
| 46e81dda2e | |||
| c83a6977d4 | |||
| 306f591d3a | |||
| 4a617a480d | |||
| 9a9b3bb74e | |||
| 9e60077902 | |||
| c3d430a9c2 | |||
| d6cee16f3d | |||
| 3cfba40e1e | |||
| a736fd92ff | |||
| 5679cd21d2 | |||
| c58be56ad4 | |||
| 4d5e133a06 | |||
| df2a159b00 | |||
| 675fc86727 |
@@ -0,0 +1,32 @@
|
||||
name: Backport Merged Pull Request
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [closed]
|
||||
permissions:
|
||||
contents: write
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
# NOTE:
|
||||
# Microsoft requires rotating BOT_PAT every 3 months.
|
||||
# Log onto agent-lightning-bot account and rotate the PAT if needed.
|
||||
|
||||
jobs:
|
||||
backport:
|
||||
name: Backport pull request
|
||||
runs-on: ubuntu-latest
|
||||
# Don't run on closed unmerged pull requests
|
||||
if: github.event.pull_request.merged
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Create backport pull requests
|
||||
uses: korthout/backport-action@v3
|
||||
with:
|
||||
branch_name: 'backport/${pull_number}/${target_branch}'
|
||||
label_pattern: ^(stable/[^ ]+)$
|
||||
github_token: ${{ secrets.BOT_PAT }}
|
||||
add_labels: backport
|
||||
add_author_as_assignee: true
|
||||
git_committer_name: agent-lightning-bot
|
||||
# This email address is not monitored.
|
||||
git_committer_email: agl.msft@outlook.com
|
||||
@@ -8,27 +8,25 @@ on:
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
pull_request_target:
|
||||
types: [reopened, ready_for_review]
|
||||
repository_dispatch:
|
||||
types: [ci-apo, ci-all]
|
||||
|
||||
run-name: >-
|
||||
${{ github.event_name == 'repository_dispatch'
|
||||
&& format(
|
||||
'PR #{0} - Label {1} - {2}',
|
||||
github.event.client_payload.pull_number,
|
||||
github.event.client_payload.ci_label,
|
||||
github.event.client_payload.correlation_id
|
||||
)
|
||||
|| format('APO - {0}', github.event_name) }}
|
||||
|
||||
jobs:
|
||||
label-check:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
should-run: ${{ steps.evaluate.outputs.should-run }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Decide whether to run
|
||||
id: evaluate
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
const evaluateTrigger = require('./scripts/trigger_on_label.js');
|
||||
evaluateTrigger({ core, context, labelName: 'ci-apo' });
|
||||
|
||||
apo:
|
||||
needs: label-check
|
||||
if: needs.label-check.outputs.should-run == 'true'
|
||||
if: >
|
||||
github.event_name != 'repository_dispatch' ||
|
||||
github.event.action == 'ci-apo' ||
|
||||
github.event.action == 'ci-all'
|
||||
name: APO (Python ${{ matrix.python-version }}, ${{ matrix.setup-script }})
|
||||
# This job is run on GitHub hosted runners rather than self-hosted runners because it needs no GPU.
|
||||
runs-on: ubuntu-latest
|
||||
@@ -46,7 +44,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.number && format('refs/pull/{0}/merge', github.event.pull_request.number) || github.ref }}
|
||||
ref: ${{ github.event_name == 'repository_dispatch' && github.event.client_payload.pr_ref || (github.event.pull_request.number && format('refs/pull/{0}/merge', github.event.pull_request.number)) || github.ref }}
|
||||
- uses: astral-sh/setup-uv@v7
|
||||
with:
|
||||
enable-cache: true
|
||||
|
||||
@@ -8,27 +8,25 @@ on:
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
pull_request_target:
|
||||
types: [reopened, ready_for_review]
|
||||
repository_dispatch:
|
||||
types: [ci-calc-x, ci-all]
|
||||
|
||||
run-name: >-
|
||||
${{ github.event_name == 'repository_dispatch'
|
||||
&& format(
|
||||
'PR #{0} - Label {1} - {2}',
|
||||
github.event.client_payload.pull_number,
|
||||
github.event.client_payload.ci_label,
|
||||
github.event.client_payload.correlation_id
|
||||
)
|
||||
|| format('Calc-X - {0}', github.event_name) }}
|
||||
|
||||
jobs:
|
||||
label-check:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
should-run: ${{ steps.evaluate.outputs.should-run }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Decide whether to run
|
||||
id: evaluate
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
const evaluateTrigger = require('./scripts/trigger_on_label.js');
|
||||
evaluateTrigger({ core, context, labelName: 'ci-calc-x' });
|
||||
|
||||
calc-x:
|
||||
needs: label-check
|
||||
if: needs.label-check.outputs.should-run == 'true'
|
||||
if: >
|
||||
github.event_name != 'repository_dispatch' ||
|
||||
github.event.action == 'ci-calc-x' ||
|
||||
github.event.action == 'ci-all'
|
||||
name: Calc-X (Python ${{ matrix.python-version }}, ${{ matrix.setup-script }})
|
||||
runs-on: [self-hosted, 1ES.Pool=agl-runner-gpu]
|
||||
timeout-minutes: 90
|
||||
@@ -49,7 +47,7 @@ jobs:
|
||||
run: df -h
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.number && format('refs/pull/{0}/merge', github.event.pull_request.number) || github.ref }}
|
||||
ref: ${{ github.event_name == 'repository_dispatch' && github.event.client_payload.pr_ref || (github.event.pull_request.number && format('refs/pull/{0}/merge', github.event.pull_request.number)) || github.ref }}
|
||||
- uses: astral-sh/setup-uv@v7
|
||||
with:
|
||||
enable-cache: true
|
||||
@@ -156,16 +154,16 @@ jobs:
|
||||
|
||||
- name: Calc-X training with external store
|
||||
run: |
|
||||
set -ex
|
||||
set -euo pipefail
|
||||
source .venv/bin/activate
|
||||
cd examples/calc_x
|
||||
../../scripts/restart_ray.sh
|
||||
|
||||
agl store --port 4747 &
|
||||
sleep 5
|
||||
AGL_MANAGED_STORE=0 AGL_CURRENT_ROLE=runner python train_calc_agent.py --external-store-address http://localhost:4747 --val-file data/test_mini.parquet --ci &
|
||||
AGL_MANAGED_STORE=0 AGL_CURRENT_ROLE=runner python train_calc_agent.py --external-store-address http://localhost:4747 --val-file data/test_mini.parquet --ci-fast &
|
||||
sleep 5
|
||||
AGL_MANAGED_STORE=0 AGL_CURRENT_ROLE=algorithm python train_calc_agent.py --external-store-address http://localhost:4747 --val-file data/test_mini.parquet --ci
|
||||
AGL_MANAGED_STORE=0 AGL_CURRENT_ROLE=algorithm python train_calc_agent.py --external-store-address http://localhost:4747 --val-file data/test_mini.parquet --ci-fast
|
||||
|
||||
pkill -f agl && echo "SIGTERM sent to agl" || echo "No agl process found"
|
||||
while pgrep -f agl; do
|
||||
@@ -178,10 +176,30 @@ jobs:
|
||||
sleep 5
|
||||
done
|
||||
echo "train_calc_agent.py has finished."
|
||||
|
||||
sleep 10
|
||||
shell: bash
|
||||
env:
|
||||
WANDB_BASE_URL: ${{ secrets.MSR_WANDB_BASE_URL }}
|
||||
WANDB_API_KEY: ${{ secrets.MSR_WANDB_API_KEY }}
|
||||
id: calc_x_train_external_store
|
||||
|
||||
- name: Calc-X training with role-based environment variables
|
||||
run: |
|
||||
set -euo pipefail
|
||||
source .venv/bin/activate
|
||||
cd examples/calc_x
|
||||
../../scripts/restart_ray.sh
|
||||
|
||||
PYTHONUNBUFFERED=1 AGL_SERVER_HOST=127.0.0.1 AGL_SERVER_PORT=5858 AGL_CURRENT_ROLE=runner python train_calc_agent.py --val-file data/test_mini.parquet --ci-fast &
|
||||
sleep 5
|
||||
PYTHONUNBUFFERED=1 AGL_SERVER_HOST=0.0.0.0 AGL_SERVER_PORT=5858 AGL_CURRENT_ROLE=algorithm python train_calc_agent.py --val-file data/test_mini.parquet --ci-fast
|
||||
|
||||
pkill -f train_calc_agent.py && echo "SIGTERM sent to train_calc_agent.py" || echo "No train_calc_agent.py process found"
|
||||
while pgrep -f train_calc_agent.py; do
|
||||
echo "Waiting for train_calc_agent.py to finish..."
|
||||
sleep 5
|
||||
done
|
||||
echo "train_calc_agent.py has finished."
|
||||
shell: bash
|
||||
env:
|
||||
WANDB_BASE_URL: ${{ secrets.MSR_WANDB_BASE_URL }}
|
||||
WANDB_API_KEY: ${{ secrets.MSR_WANDB_API_KEY }}
|
||||
|
||||
@@ -8,27 +8,25 @@ on:
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
pull_request_target:
|
||||
types: [reopened, ready_for_review]
|
||||
repository_dispatch:
|
||||
types: [ci-compat, ci-all]
|
||||
|
||||
run-name: >-
|
||||
${{ github.event_name == 'repository_dispatch'
|
||||
&& format(
|
||||
'PR #{0} - Label {1} - {2}',
|
||||
github.event.client_payload.pull_number,
|
||||
github.event.client_payload.ci_label,
|
||||
github.event.client_payload.correlation_id
|
||||
)
|
||||
|| format('Backward Compatibility - {0}', github.event_name) }}
|
||||
|
||||
jobs:
|
||||
label-check:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
should-run: ${{ steps.evaluate.outputs.should-run }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Decide whether to run
|
||||
id: evaluate
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
const evaluateTrigger = require('./scripts/trigger_on_label.js');
|
||||
evaluateTrigger({ core, context, labelName: 'ci-compat' });
|
||||
|
||||
backward-compatibility:
|
||||
needs: label-check
|
||||
if: needs.label-check.outputs.should-run == 'true'
|
||||
if: >
|
||||
github.event_name != 'repository_dispatch' ||
|
||||
github.event.action == 'ci-compat' ||
|
||||
github.event.action == 'ci-all'
|
||||
name: Backward Compatibility (Python ${{ matrix.python-version }}, ${{ matrix.setup-script }})
|
||||
runs-on: [self-hosted, 1ES.Pool=agl-runner-gpu]
|
||||
timeout-minutes: 30
|
||||
@@ -47,7 +45,7 @@ jobs:
|
||||
run: df -h
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.number && format('refs/pull/{0}/merge', github.event.pull_request.number) || github.ref }}
|
||||
ref: ${{ github.event_name == 'repository_dispatch' && github.event.client_payload.pr_ref || (github.event.pull_request.number && format('refs/pull/{0}/merge', github.event.pull_request.number)) || github.ref }}
|
||||
- uses: astral-sh/setup-uv@v7
|
||||
with:
|
||||
enable-cache: true
|
||||
|
||||
@@ -8,27 +8,25 @@ on:
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
pull_request_target:
|
||||
types: [reopened, ready_for_review]
|
||||
repository_dispatch:
|
||||
types: [ci-spider, ci-all]
|
||||
|
||||
run-name: >-
|
||||
${{ github.event_name == 'repository_dispatch'
|
||||
&& format(
|
||||
'PR #{0} - Label {1} - {2}',
|
||||
github.event.client_payload.pull_number,
|
||||
github.event.client_payload.ci_label,
|
||||
github.event.client_payload.correlation_id
|
||||
)
|
||||
|| format('Spider - {0}', github.event_name) }}
|
||||
|
||||
jobs:
|
||||
label-check:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
should-run: ${{ steps.evaluate.outputs.should-run }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Decide whether to run
|
||||
id: evaluate
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
const evaluateTrigger = require('./scripts/trigger_on_label.js');
|
||||
evaluateTrigger({ core, context, labelName: 'ci-spider' });
|
||||
|
||||
spider:
|
||||
needs: label-check
|
||||
if: needs.label-check.outputs.should-run == 'true'
|
||||
if: >
|
||||
github.event_name != 'repository_dispatch' ||
|
||||
github.event.action == 'ci-spider' ||
|
||||
github.event.action == 'ci-all'
|
||||
name: Spider (Python ${{ matrix.python-version }}, ${{ matrix.setup-script }})
|
||||
runs-on: [self-hosted, 1ES.Pool=agl-runner-gpu]
|
||||
timeout-minutes: 60
|
||||
@@ -49,7 +47,7 @@ jobs:
|
||||
run: df -h
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.number && format('refs/pull/{0}/merge', github.event.pull_request.number) || github.ref }}
|
||||
ref: ${{ github.event_name == 'repository_dispatch' && github.event.client_payload.pr_ref || (github.event.pull_request.number && format('refs/pull/{0}/merge', github.event.pull_request.number)) || github.ref }}
|
||||
- uses: astral-sh/setup-uv@v7
|
||||
with:
|
||||
enable-cache: true
|
||||
|
||||
@@ -8,27 +8,25 @@ on:
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
pull_request_target:
|
||||
types: [reopened, ready_for_review]
|
||||
repository_dispatch:
|
||||
types: [ci-unsloth, ci-all]
|
||||
|
||||
run-name: >-
|
||||
${{ github.event_name == 'repository_dispatch'
|
||||
&& format(
|
||||
'PR #{0} - Label {1} - {2}',
|
||||
github.event.client_payload.pull_number,
|
||||
github.event.client_payload.ci_label,
|
||||
github.event.client_payload.correlation_id
|
||||
)
|
||||
|| format('Unsloth - {0}', github.event_name) }}
|
||||
|
||||
jobs:
|
||||
label-check:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
should-run: ${{ steps.evaluate.outputs.should-run }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Decide whether to run
|
||||
id: evaluate
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
const evaluateTrigger = require('./scripts/trigger_on_label.js');
|
||||
evaluateTrigger({ core, context, labelName: 'ci-unsloth' });
|
||||
|
||||
unsloth:
|
||||
needs: label-check
|
||||
if: needs.label-check.outputs.should-run == 'true'
|
||||
if: >
|
||||
github.event_name != 'repository_dispatch' ||
|
||||
github.event.action == 'ci-unsloth' ||
|
||||
github.event.action == 'ci-all'
|
||||
name: Unsloth (Python ${{ matrix.python-version }}, ${{ matrix.setup-script }})
|
||||
runs-on: [self-hosted, 1ES.Pool=agl-runner-gpu]
|
||||
timeout-minutes: 60
|
||||
@@ -48,7 +46,7 @@ jobs:
|
||||
run: df -h
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.number && format('refs/pull/{0}/merge', github.event.pull_request.number) || github.ref }}
|
||||
ref: ${{ github.event_name == 'repository_dispatch' && github.event.client_payload.pr_ref || (github.event.pull_request.number && format('refs/pull/{0}/merge', github.event.pull_request.number)) || github.ref }}
|
||||
- uses: astral-sh/setup-uv@v7
|
||||
with:
|
||||
enable-cache: true
|
||||
|
||||
@@ -0,0 +1,309 @@
|
||||
name: Issue Comment
|
||||
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
|
||||
permissions:
|
||||
pull-requests: write
|
||||
issues: write
|
||||
contents: write
|
||||
actions: read
|
||||
|
||||
jobs:
|
||||
dispatch:
|
||||
# Only run for comments on pull requests AND when the comment starts with "/ci"
|
||||
if: >
|
||||
github.event.issue.pull_request != null &&
|
||||
startsWith(github.event.comment.body, '/ci')
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
dispatched: ${{ steps.dispatch.outputs.dispatched }}
|
||||
event_types: ${{ steps.dispatch.outputs.event_types }}
|
||||
correlation_id: ${{ steps.dispatch.outputs.correlation_id }}
|
||||
trigger_comment_id: ${{ steps.dispatch.outputs.trigger_comment_id }}
|
||||
ack_comment_id: ${{ steps.ack.outputs.comment_id }}
|
||||
steps:
|
||||
- name: Guardrail — allow only members/collaborators
|
||||
id: guard
|
||||
uses: actions/github-script@v8
|
||||
with:
|
||||
script: |
|
||||
const allowed = ['MEMBER','OWNER','COLLABORATOR'];
|
||||
const assoc = context.payload.comment.author_association;
|
||||
if (!allowed.includes(assoc)) {
|
||||
core.notice(`Ignoring /ci from ${context.payload.comment.user.login} (author_association=${assoc}).`);
|
||||
core.setOutput('skip', 'true');
|
||||
}
|
||||
|
||||
- name: Trigger repository dispatch
|
||||
id: dispatch
|
||||
if: steps.guard.outputs.skip != 'true'
|
||||
uses: actions/github-script@v8
|
||||
with:
|
||||
script: |
|
||||
const owner = context.repo.owner;
|
||||
const repo = context.repo.repo;
|
||||
const pull_number = context.payload.issue.number;
|
||||
const comment = context.payload.comment;
|
||||
|
||||
// Fetch current PR state
|
||||
const { data: pr } = await github.rest.pulls.get({ owner, repo, pull_number });
|
||||
|
||||
// Add reaction so folks know we saw it
|
||||
try {
|
||||
await github.rest.reactions.createForIssueComment({
|
||||
owner,
|
||||
repo,
|
||||
comment_id: comment.id,
|
||||
content: 'rocket'
|
||||
});
|
||||
} catch (e) {
|
||||
core.info('Could not add reaction (likely due to permissions). Continuing.');
|
||||
}
|
||||
|
||||
const labels = (pr.labels ?? []).map(label => label.name);
|
||||
const directCiLabels = labels.filter(label => label.startsWith('ci-'));
|
||||
const hasCiAll = directCiLabels.includes('ci-all');
|
||||
const dedupe = new Set(
|
||||
directCiLabels.filter(label => label !== 'ci-all')
|
||||
);
|
||||
|
||||
if (!hasCiAll && dedupe.size === 0) {
|
||||
core.notice('No ci-* labels found on the pull request; nothing to dispatch.');
|
||||
core.setOutput('dispatched', 'false');
|
||||
core.setOutput('event_types', '');
|
||||
return;
|
||||
}
|
||||
|
||||
const correlation_id = `id-${comment.id}-${Date.now().toString(36)}`;
|
||||
|
||||
const clientPayload = {
|
||||
correlation_id,
|
||||
pull_number,
|
||||
pr_ref: `refs/pull/${pull_number}/merge`,
|
||||
pr_head_ref: pr.head.ref,
|
||||
pr_head_sha: pr.head.sha,
|
||||
pr_base_ref: pr.base.ref,
|
||||
pr_base_sha: pr.base.sha,
|
||||
trigger_comment_id: comment.id,
|
||||
trigger_comment_user: comment.user.login,
|
||||
};
|
||||
|
||||
const eventTypes = hasCiAll
|
||||
? ['ci-all']
|
||||
: Array.from(dedupe);
|
||||
for (const eventType of eventTypes) {
|
||||
await github.rest.repos.createDispatchEvent({
|
||||
owner,
|
||||
repo,
|
||||
event_type: eventType,
|
||||
client_payload: { ...clientPayload, ci_label: eventType }
|
||||
});
|
||||
core.notice(`Dispatched '${eventType}' event for PR #${pull_number}.`);
|
||||
}
|
||||
|
||||
core.setOutput('dispatched', 'true');
|
||||
core.setOutput('event_types', eventTypes.join(','));
|
||||
core.setOutput('correlation_id', correlation_id);
|
||||
core.setOutput('trigger_comment_id', String(comment.id));
|
||||
|
||||
- name: Acknowledge in thread (optional)
|
||||
if: steps.guard.outputs.skip != 'true' && steps.dispatch.outputs.dispatched == 'true'
|
||||
id: ack
|
||||
uses: actions/github-script@v8
|
||||
env:
|
||||
EVENT_TYPES: ${{ steps.dispatch.outputs.event_types }}
|
||||
CORRELATION_ID: ${{ steps.dispatch.outputs.correlation_id }}
|
||||
with:
|
||||
script: |
|
||||
const eventTypes = (process.env.EVENT_TYPES || '')
|
||||
.split(',')
|
||||
.map(label => label.trim())
|
||||
.filter(Boolean);
|
||||
const formatted = eventTypes.map(label => `\`repository_dispatch:${label}\``).join(', ');
|
||||
const { owner, repo } = context.repo;
|
||||
const issue_number = context.payload.issue.number;
|
||||
const body = [
|
||||
`✅ CI trigger requested by @${context.payload.comment.user.login}.`,
|
||||
`Fired ${formatted}.`,
|
||||
'',
|
||||
`_Collecting run links for correlation \`${process.env.CORRELATION_ID}\`…_`
|
||||
].join('\n');
|
||||
const { data: comment } = await github.rest.issues.createComment({
|
||||
owner, repo, issue_number,
|
||||
body
|
||||
});
|
||||
core.setOutput('comment_id', String(comment.id));
|
||||
|
||||
- name: Notify missing ci label
|
||||
if: steps.guard.outputs.skip != 'true' && steps.dispatch.outputs.dispatched != 'true'
|
||||
uses: actions/github-script@v8
|
||||
with:
|
||||
script: |
|
||||
const { owner, repo } = context.repo;
|
||||
const issue_number = context.payload.issue.number;
|
||||
await github.rest.issues.createComment({
|
||||
owner,
|
||||
repo,
|
||||
issue_number,
|
||||
body: `⚠️ CI trigger ignored because the pull request has no \`ci-*\` labels (e.g. \`ci-apo\`, \`ci-calc-x\`). Add the desired labels and try \`/ci\` again.`
|
||||
});
|
||||
|
||||
watch:
|
||||
needs: dispatch
|
||||
if: needs.dispatch.outputs.dispatched == 'true'
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 180
|
||||
steps:
|
||||
- name: Track dispatched runs and update comment
|
||||
uses: actions/github-script@v8
|
||||
env:
|
||||
CORRELATION_ID: ${{ needs.dispatch.outputs.correlation_id }}
|
||||
ACK_COMMENT_ID: ${{ needs.dispatch.outputs.ack_comment_id }}
|
||||
TRIGGER_COMMENT_ID: ${{ needs.dispatch.outputs.trigger_comment_id }}
|
||||
with:
|
||||
script: |
|
||||
const owner = context.repo.owner;
|
||||
const repo = context.repo.repo;
|
||||
const correlationId = process.env.CORRELATION_ID;
|
||||
if (!correlationId) {
|
||||
core.warning('No correlation id supplied; nothing to watch.');
|
||||
return;
|
||||
}
|
||||
|
||||
const ackCommentId = Number(process.env.ACK_COMMENT_ID || 0);
|
||||
if (!ackCommentId) {
|
||||
core.warning('No comment id available for updates; skipping watch.');
|
||||
return;
|
||||
}
|
||||
const triggerCommentId = Number(process.env.TRIGGER_COMMENT_ID || 0);
|
||||
if (!triggerCommentId) {
|
||||
core.warning('No trigger comment id available; skipping watch.');
|
||||
return;
|
||||
}
|
||||
|
||||
const prefix = `🚀 CI Watcher for correlation ${correlationId} triggered by comment ${triggerCommentId}`;
|
||||
core.notice(`Watching workflow runs for correlation '${correlationId}' using comment ${ackCommentId}.`);
|
||||
|
||||
function fmt(run) {
|
||||
const status = run.status;
|
||||
const conclusion = run.conclusion;
|
||||
const badge = status === 'completed'
|
||||
? (conclusion === 'success' ? '🟢' : conclusion === 'failure' ? '🔴' : '🟡')
|
||||
: (status === 'in_progress' ? '🟣' : '⚪️');
|
||||
const title = run.display_title || run.name || `run ${run.id}`;
|
||||
const statusText = status === 'completed' ? `${status}/${conclusion}` : status;
|
||||
return `- ${badge} [${title}](${run.html_url}) — \`${statusText}\``;
|
||||
}
|
||||
|
||||
const signatureOf = runs =>
|
||||
runs
|
||||
.map(run => `${run.id}:${run.status}/${run.conclusion || ''}`)
|
||||
.sort()
|
||||
.join('|');
|
||||
|
||||
const deadlineMs = Date.now() + 175 * 60 * 1000; // 175 minutes
|
||||
let found = [];
|
||||
|
||||
async function searchOnce() {
|
||||
const runs = await github.paginate(
|
||||
github.rest.actions.listWorkflowRunsForRepo,
|
||||
{ owner, repo, event: 'repository_dispatch', per_page: 100 }
|
||||
);
|
||||
const cutoff = new Date(Date.now() - 60 * 60 * 1000); // last hour
|
||||
return runs.filter(run => {
|
||||
const createdAt = new Date(run.created_at);
|
||||
const title = String(run.display_title || run.name || '');
|
||||
return createdAt >= cutoff && title.includes(correlationId);
|
||||
});
|
||||
}
|
||||
|
||||
while (Date.now() < deadlineMs) {
|
||||
found = await searchOnce();
|
||||
if (found.length > 0) {
|
||||
core.notice(`Discovered ${found.length} workflow run(s) for correlation '${correlationId}'.`);
|
||||
break;
|
||||
}
|
||||
core.notice(`No runs found yet for correlation '${correlationId}'; retrying shortly.`);
|
||||
await new Promise(res => setTimeout(res, 10000));
|
||||
}
|
||||
|
||||
if (found.length === 0) {
|
||||
core.notice(`Watcher timed out with no runs for correlation '${correlationId}'; notifying thread.`);
|
||||
await github.rest.issues.updateComment({
|
||||
owner,
|
||||
repo,
|
||||
comment_id: ackCommentId,
|
||||
body: [
|
||||
prefix,
|
||||
`⚠️ I couldn't find any workflow runs for correlation \`${correlationId}\`.`,
|
||||
`They may be delayed or misconfigured.`
|
||||
].join('\n')
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
const runIds = new Set(found.map(run => run.id));
|
||||
let lastSignature = '';
|
||||
|
||||
async function refreshRuns() {
|
||||
const ids = Array.from(runIds);
|
||||
const refreshed = [];
|
||||
for (const id of ids) {
|
||||
const { data } = await github.rest.actions.getWorkflowRun({
|
||||
owner,
|
||||
repo,
|
||||
run_id: id
|
||||
});
|
||||
refreshed.push(data);
|
||||
}
|
||||
return refreshed;
|
||||
}
|
||||
|
||||
async function updateCommentIfChanged(runs, allDone) {
|
||||
const signature = signatureOf(runs);
|
||||
if (signature === lastSignature) {
|
||||
// Run statuses unchanged; skipping comment update.
|
||||
return;
|
||||
}
|
||||
lastSignature = signature;
|
||||
core.notice(`Updating comment ${ackCommentId} with ${runs.length} run status entries (allDone=${allDone}).`);
|
||||
await github.rest.issues.updateComment({
|
||||
owner,
|
||||
repo,
|
||||
comment_id: ackCommentId,
|
||||
body: [
|
||||
prefix,
|
||||
`🏃♀️ Tracking ${runs.length} workflow run(s):`,
|
||||
'',
|
||||
...runs.map(fmt),
|
||||
'',
|
||||
allDone ? '✅ All runs completed.' : '_Still running…_'
|
||||
].join('\n')
|
||||
});
|
||||
}
|
||||
|
||||
await updateCommentIfChanged(found, found.every(run => run.status === 'completed'));
|
||||
|
||||
while (Date.now() < deadlineMs) {
|
||||
const latest = await searchOnce();
|
||||
for (const run of latest) {
|
||||
if (!runIds.has(run.id)) {
|
||||
runIds.add(run.id);
|
||||
core.notice(`Detected additional run ${run.id} (${run.name || run.display_title || 'unnamed'}) for correlation '${correlationId}'.`);
|
||||
}
|
||||
}
|
||||
const current = await refreshRuns();
|
||||
const allDone = current.every(run => run.status === 'completed');
|
||||
await updateCommentIfChanged(current, allDone);
|
||||
if (allDone) {
|
||||
core.notice(`All runs for correlation '${correlationId}' completed; stopping watcher.`);
|
||||
break;
|
||||
}
|
||||
await new Promise(res => setTimeout(res, 60000));
|
||||
}
|
||||
|
||||
if (Date.now() >= deadlineMs) {
|
||||
core.warning(`Watcher hit the deadline while monitoring correlation '${correlationId}'.`);
|
||||
}
|
||||
@@ -8,27 +8,25 @@ on:
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
pull_request_target:
|
||||
types: [reopened, ready_for_review]
|
||||
repository_dispatch:
|
||||
types: [ci-gpu, ci-all]
|
||||
|
||||
run-name: >-
|
||||
${{ github.event_name == 'repository_dispatch'
|
||||
&& format(
|
||||
'PR #{0} - Label {1} - {2}',
|
||||
github.event.client_payload.pull_number,
|
||||
github.event.client_payload.ci_label,
|
||||
github.event.client_payload.correlation_id
|
||||
)
|
||||
|| format('GPU Test - {0}', github.event_name) }}
|
||||
|
||||
jobs:
|
||||
label-check:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
should-run: ${{ steps.evaluate.outputs.should-run }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Decide whether to run
|
||||
id: evaluate
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
const evaluateTrigger = require('./scripts/trigger_on_label.js');
|
||||
evaluateTrigger({ core, context, labelName: 'ci-gpu' });
|
||||
|
||||
tests-full:
|
||||
needs: label-check
|
||||
if: needs.label-check.outputs.should-run == 'true'
|
||||
if: >
|
||||
github.event_name != 'repository_dispatch' ||
|
||||
github.event.action == 'ci-gpu' ||
|
||||
github.event.action == 'ci-all'
|
||||
name: GPU Test with Python ${{ matrix.python-version }} (${{ matrix.setup-script }})
|
||||
|
||||
runs-on: [self-hosted, 1ES.Pool=agl-runner-gpu]
|
||||
|
||||
@@ -5,9 +5,9 @@ permissions:
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
branches: [ main, stable/**/* ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
branches: [ main, stable/**/* ]
|
||||
workflow_dispatch:
|
||||
|
||||
schedule:
|
||||
@@ -41,6 +41,7 @@ jobs:
|
||||
--group torch-cpu \
|
||||
--group torch-stable \
|
||||
--group trl \
|
||||
--group tinker \
|
||||
--group agents \
|
||||
--no-default-groups
|
||||
if: matrix.setup == 'slow'
|
||||
|
||||
@@ -189,6 +189,9 @@ cython_debug/
|
||||
# you could uncomment the following to ignore the enitre vscode folder
|
||||
.vscode/
|
||||
|
||||
# Emacs backup files
|
||||
*~
|
||||
|
||||
# Ruff stuff:
|
||||
.ruff_cache/
|
||||
|
||||
|
||||
@@ -39,6 +39,7 @@ To start using Agent-lightning, check out our [documentation](https://microsoft.
|
||||
|
||||
## ⚡ Articles
|
||||
|
||||
- 10/22/2025 [No More Retokenization Drift: Returning Token IDs via the OpenAI Compatible API Matters in Agent RL](https://blog.vllm.ai/2025/10/22/agent-lightning.html) vLLM blog. See also [Zhihu writeup](https://zhuanlan.zhihu.com/p/1965067274642785725).
|
||||
- 8/11/2025 [Training AI Agents to Write and Self-correct SQL with Reinforcement Learning](https://medium.com/@yugez/training-ai-agents-to-write-and-self-correct-sql-with-reinforcement-learning-571ed31281ad) Medium.
|
||||
- 8/5/2025 [Agent Lightning: Train ANY AI Agents with Reinforcement Learning](https://arxiv.org/abs/2508.03680) arXiv paper.
|
||||
- 7/26/2025 [We discovered an approach to train any AI agent with RL, with (almost) zero code changes.](https://www.reddit.com/r/LocalLLaMA/comments/1m9m670/we_discovered_an_approach_to_train_any_ai_agent/) Reddit.
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
import logging
|
||||
import re
|
||||
from enum import Enum
|
||||
from typing import Any, Dict, List, Optional, Tuple, Union, cast
|
||||
@@ -14,6 +15,8 @@ from agentlightning.types import Span, SpanNames, Triplet
|
||||
|
||||
from .base import TraceAdapter
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class Transition(BaseModel):
|
||||
"""A single transition within a reinforcement learning trajectory.
|
||||
@@ -537,6 +540,7 @@ class TraceTree:
|
||||
dedup_llm_call: bool = True,
|
||||
reward_match: RewardMatchPolicy = RewardMatchPolicy.FIRST_OCCURRENCE,
|
||||
final_reward: Optional[float] = None,
|
||||
_skip_empty_token_spans: bool = False,
|
||||
) -> List[Triplet]:
|
||||
"""Convert the trace tree into a trajectory of [`Triplet`][agentlightning.Triplet] items.
|
||||
|
||||
@@ -561,11 +565,23 @@ class TraceTree:
|
||||
within_llm_call=False if dedup_llm_call else None,
|
||||
existing_llm_call_response_ids=set(),
|
||||
)
|
||||
id_transitions: List[Tuple[str, Triplet]] = []
|
||||
for llm_call, agent_name in llm_calls:
|
||||
id_transitions.append((llm_call.id, self.span_to_triplet(llm_call.span, agent_name)))
|
||||
|
||||
rewards = self.match_rewards(reward_match, [call for call, _ in llm_calls])
|
||||
id_transitions: List[Tuple[str, Triplet]] = []
|
||||
# We need to filter out the LLM calls with unrecorded token IDs
|
||||
filtered_llm_calls: List[Tuple[TraceTree, str]] = []
|
||||
for llm_call, agent_name in llm_calls:
|
||||
triplet = self.span_to_triplet(llm_call.span, agent_name)
|
||||
# This is a hot-fix for Tinker+CrewAI, which has some anonymous requests outside the trained agent.
|
||||
# TODO: We might need to reconsider this.
|
||||
if _skip_empty_token_spans and (
|
||||
not triplet.prompt.get("token_ids") or not triplet.response.get("token_ids")
|
||||
):
|
||||
logger.warning(f"Skipping LLM call with unrecorded token IDs: {triplet}")
|
||||
continue
|
||||
filtered_llm_calls.append((llm_call, agent_name))
|
||||
id_transitions.append((llm_call.id, triplet))
|
||||
|
||||
rewards = self.match_rewards(reward_match, [call for call, _ in filtered_llm_calls])
|
||||
transitions = [
|
||||
transition.model_copy(update={"reward": rewards.get(id, None)}) for id, transition in id_transitions
|
||||
]
|
||||
@@ -607,12 +623,14 @@ class TracerTraceToTriplet(TraceToTripletBase):
|
||||
agent_match: Optional[str] = None,
|
||||
exclude_llm_call_in_reward: bool = True,
|
||||
reward_match: RewardMatchPolicy = RewardMatchPolicy.FIRST_OCCURRENCE,
|
||||
_skip_empty_token_spans: bool = False,
|
||||
):
|
||||
self.repair_hierarchy = repair_hierarchy
|
||||
self.llm_call_match = llm_call_match
|
||||
self.agent_match = agent_match
|
||||
self.exclude_llm_call_in_reward = exclude_llm_call_in_reward
|
||||
self.reward_match = reward_match
|
||||
self._skip_empty_token_spans = _skip_empty_token_spans
|
||||
|
||||
def visualize(
|
||||
self,
|
||||
@@ -664,6 +682,7 @@ class TracerTraceToTriplet(TraceToTripletBase):
|
||||
agent_match=self.agent_match,
|
||||
exclude_llm_call_in_reward=self.exclude_llm_call_in_reward,
|
||||
reward_match=self.reward_match,
|
||||
_skip_empty_token_spans=self._skip_empty_token_spans,
|
||||
)
|
||||
return trajectory
|
||||
|
||||
|
||||
@@ -128,11 +128,13 @@ class Baseline(FastAlgorithm):
|
||||
# Attempts to adapt the spans using the adapter if provided
|
||||
try:
|
||||
adapter = self.get_adapter()
|
||||
except ValueError:
|
||||
logger.warning("No adapter set for MockAlgorithm. Skipping trace adaptation.")
|
||||
adapter = None
|
||||
if adapter is not None:
|
||||
spans = await store.query_spans(rollout_id=rollout_id, attempt_id="latest")
|
||||
transformed_data = adapter.adapt(spans)
|
||||
logger.info(f"[Rollout {rollout_id}] Adapted data: {transformed_data}")
|
||||
except ValueError:
|
||||
logger.warning("No adapter set for MockAlgorithm. Skipping trace adaptation.")
|
||||
|
||||
async def _enqueue_rollouts(
|
||||
self, dataset: Dataset[Any], train_indices: List[int], val_indices: List[int], resources_id: str
|
||||
|
||||
@@ -6,12 +6,15 @@ from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import asyncio
|
||||
import logging
|
||||
from typing import Iterable
|
||||
|
||||
from agentlightning.logging import configure_logger
|
||||
from agentlightning.store.client_server import LightningStoreServer
|
||||
from agentlightning.store.memory import InMemoryLightningStore
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def main(argv: Iterable[str] | None = None) -> int:
|
||||
parser = argparse.ArgumentParser(description="Run a LightningStore server")
|
||||
@@ -22,7 +25,11 @@ def main(argv: Iterable[str] | None = None) -> int:
|
||||
|
||||
store = InMemoryLightningStore()
|
||||
server = LightningStoreServer(store, host="0.0.0.0", port=args.port)
|
||||
asyncio.run(server.run_forever())
|
||||
try:
|
||||
asyncio.run(server.run_forever())
|
||||
except RuntimeError as exc:
|
||||
logger.error("LightningStore server failed to start: %s", exc, exc_info=True)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
|
||||
|
||||
@@ -149,6 +149,7 @@ def emit_reward(reward: float) -> ReadableSpan:
|
||||
if not isinstance(reward, float):
|
||||
raise ValueError(f"Reward must be a number, got: {type(reward)}")
|
||||
|
||||
# TODO: This should use the tracer from current context by tracer
|
||||
tracer = get_tracer()
|
||||
span = tracer.start_span(SpanNames.REWARD.value, attributes={"reward": reward})
|
||||
# Do nothing; it's just a number
|
||||
|
||||
@@ -44,9 +44,17 @@ def _patch_new_agentops():
|
||||
@no_type_check
|
||||
def _handle_chat_attributes_with_tokens(args=None, kwargs=None, return_value=None, **kws): # type: ignore
|
||||
attributes = _original_handle_chat_attributes(args=args, kwargs=kwargs, return_value=return_value, **kws)
|
||||
if return_value is not None and hasattr(return_value, "prompt_token_ids"):
|
||||
if (
|
||||
return_value is not None
|
||||
and hasattr(return_value, "prompt_token_ids")
|
||||
and return_value.prompt_token_ids is not None
|
||||
):
|
||||
attributes["prompt_token_ids"] = list(return_value.prompt_token_ids)
|
||||
if return_value is not None and hasattr(return_value, "response_token_ids"):
|
||||
if (
|
||||
return_value is not None
|
||||
and hasattr(return_value, "response_token_ids")
|
||||
and return_value.response_token_ids is not None
|
||||
):
|
||||
attributes["response_token_ids"] = list(return_value.response_token_ids[0])
|
||||
|
||||
# For LiteLLM Proxy (v0.2) with vLLM return_token_ids, response_token_ids now lives in choices
|
||||
@@ -55,27 +63,28 @@ def _patch_new_agentops():
|
||||
and hasattr(return_value, "choices")
|
||||
and return_value.choices
|
||||
and isinstance(return_value.choices, list)
|
||||
and len(return_value.choices) > 0
|
||||
):
|
||||
first_choice = return_value.choices[0]
|
||||
# Token IDs from "choices[0].token_ids"
|
||||
if "response_token_ids" not in attributes:
|
||||
if hasattr(first_choice, "token_ids"):
|
||||
if hasattr(first_choice, "token_ids") and first_choice.token_ids is not None:
|
||||
attributes["response_token_ids"] = list(first_choice.token_ids)
|
||||
# newer versions of OpenAI client SDK
|
||||
elif (
|
||||
hasattr(first_choice, "provider_specific_fields")
|
||||
and "token_ids" in first_choice.provider_specific_fields
|
||||
and first_choice.provider_specific_fields.get("token_ids") is not None
|
||||
):
|
||||
attributes["response_token_ids"] = list(first_choice.provider_specific_fields["token_ids"])
|
||||
|
||||
# log probability
|
||||
# This is temporarily. We need a unified conventions for classifying and naming logprobs.
|
||||
if hasattr(first_choice, "logprobs"):
|
||||
if first_choice.logprobs.content:
|
||||
# This is temporary. We need a unified convention for classifying and naming logprobs.
|
||||
if hasattr(first_choice, "logprobs") and first_choice.logprobs is not None:
|
||||
if hasattr(first_choice.logprobs, "content") and first_choice.logprobs.content is not None:
|
||||
attributes["logprobs.content"] = json.dumps(
|
||||
[logprob.model_dump() for logprob in first_choice.logprobs.content]
|
||||
)
|
||||
if first_choice.logprobs.refusal:
|
||||
if hasattr(first_choice.logprobs, "refusal") and first_choice.logprobs.refusal is not None:
|
||||
attributes["logprobs.refusal"] = json.dumps(
|
||||
[logprob.model_dump() for logprob in first_choice.logprobs.refusal]
|
||||
)
|
||||
@@ -89,9 +98,9 @@ def _patch_new_agentops():
|
||||
):
|
||||
json_data = return_value.http_response.json()
|
||||
if isinstance(json_data, dict):
|
||||
if "prompt_token_ids" in json_data:
|
||||
if json_data.get("prompt_token_ids") is not None:
|
||||
attributes["prompt_token_ids"] = list(json_data["prompt_token_ids"])
|
||||
if "response_token_ids" in json_data:
|
||||
if json_data.get("response_token_ids") is not None:
|
||||
attributes["response_token_ids"] = list(json_data["response_token_ids"][0])
|
||||
|
||||
return attributes
|
||||
|
||||
@@ -9,14 +9,14 @@ import threading
|
||||
import time
|
||||
import traceback
|
||||
from contextlib import suppress
|
||||
from typing import Any, Awaitable, Callable, Dict, List, Literal, Optional, Sequence, Union
|
||||
from typing import Any, Awaitable, Callable, Dict, List, Literal, Optional, Sequence
|
||||
|
||||
import aiohttp
|
||||
import uvicorn
|
||||
from fastapi import FastAPI, Request, Response
|
||||
from fastapi import Body, FastAPI, HTTPException, Request, Response
|
||||
from fastapi.responses import JSONResponse
|
||||
from opentelemetry.sdk.trace import ReadableSpan
|
||||
from pydantic import BaseModel, Field
|
||||
from pydantic import BaseModel, TypeAdapter
|
||||
|
||||
from agentlightning.types import (
|
||||
Attempt,
|
||||
@@ -35,9 +35,7 @@ from .base import UNSET, LightningStore, Unset
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class PydanticUnset(BaseModel):
|
||||
_type: Literal["UNSET"] = "UNSET"
|
||||
AGL_API_V1_PREFIX = "/agl/v1"
|
||||
|
||||
|
||||
class RolloutRequest(BaseModel):
|
||||
@@ -58,31 +56,29 @@ class WaitForRolloutsRequest(BaseModel):
|
||||
timeout: Optional[float] = None
|
||||
|
||||
|
||||
class RolloutId(BaseModel):
|
||||
class NextSequenceIdRequest(BaseModel):
|
||||
rollout_id: str
|
||||
attempt_id: str
|
||||
|
||||
|
||||
class AddResourcesRequest(BaseModel):
|
||||
resources: NamedResources
|
||||
class NextSequenceIdResponse(BaseModel):
|
||||
sequence_id: int
|
||||
|
||||
|
||||
class UpdateRolloutRequest(BaseModel):
|
||||
rollout_id: str
|
||||
input: Union[TaskInput, PydanticUnset] = Field(default_factory=PydanticUnset)
|
||||
mode: Union[Optional[Literal["train", "val", "test"]], PydanticUnset] = Field(default_factory=PydanticUnset)
|
||||
resources_id: Union[Optional[str], PydanticUnset] = Field(default_factory=PydanticUnset)
|
||||
status: Union[RolloutStatus, PydanticUnset] = Field(default_factory=PydanticUnset)
|
||||
config: Union[RolloutConfig, PydanticUnset] = Field(default_factory=PydanticUnset)
|
||||
metadata: Union[Dict[str, Any], PydanticUnset] = Field(default_factory=PydanticUnset)
|
||||
input: Optional[TaskInput] = None
|
||||
mode: Optional[Literal["train", "val", "test"]] = None
|
||||
resources_id: Optional[str] = None
|
||||
status: Optional[RolloutStatus] = None
|
||||
config: Optional[RolloutConfig] = None
|
||||
metadata: Optional[Dict[str, Any]] = None
|
||||
|
||||
|
||||
class UpdateAttemptRequest(BaseModel):
|
||||
rollout_id: str
|
||||
attempt_id: Union[str, Literal["latest"]]
|
||||
status: Union[AttemptStatus, PydanticUnset] = Field(default_factory=PydanticUnset)
|
||||
worker_id: Union[str, PydanticUnset] = Field(default_factory=PydanticUnset)
|
||||
last_heartbeat_time: Union[float, PydanticUnset] = Field(default_factory=PydanticUnset)
|
||||
metadata: Union[Dict[str, Any], PydanticUnset] = Field(default_factory=PydanticUnset)
|
||||
status: Optional[AttemptStatus] = None
|
||||
worker_id: Optional[str] = None
|
||||
last_heartbeat_time: Optional[float] = None
|
||||
metadata: Optional[Dict[str, Any]] = None
|
||||
|
||||
|
||||
class LightningStoreServer(LightningStore):
|
||||
@@ -109,6 +105,7 @@ class LightningStoreServer(LightningStore):
|
||||
self._uvicorn_server: uvicorn.Server | None = uvicorn.Server(self._uvicorn_config)
|
||||
|
||||
self._serving_thread: Optional[threading.Thread] = None
|
||||
self._server_start_exception: Optional[BaseException] = None
|
||||
|
||||
# Process-awareness:
|
||||
# LightningStoreServer holds a plain Python object (self.store) in one process
|
||||
@@ -167,35 +164,83 @@ class LightningStoreServer(LightningStore):
|
||||
logger.info(f"Starting server at {self.endpoint}")
|
||||
|
||||
uvicorn_server = self._uvicorn_server
|
||||
self._server_start_exception = None
|
||||
|
||||
def run_server_forever():
|
||||
asyncio.run(uvicorn_server.serve())
|
||||
try:
|
||||
asyncio.run(uvicorn_server.serve())
|
||||
except (SystemExit, Exception) as exc:
|
||||
logger.debug("LightningStore server thread exiting due to %s", exc, exc_info=exc)
|
||||
self._server_start_exception = exc
|
||||
|
||||
self._serving_thread = threading.Thread(target=run_server_forever, daemon=True)
|
||||
self._serving_thread.start()
|
||||
serving_thread = threading.Thread(target=run_server_forever, daemon=True)
|
||||
self._serving_thread = serving_thread
|
||||
serving_thread.start()
|
||||
|
||||
# Wait for /health to be available
|
||||
if not await self._server_health_check():
|
||||
# Wait for uvicorn to report that it has started before pinging /health.
|
||||
start_deadline = time.time() + 10
|
||||
while time.time() < start_deadline:
|
||||
if uvicorn_server.started:
|
||||
break
|
||||
if self._server_start_exception is not None or not serving_thread.is_alive():
|
||||
self._handle_failed_start()
|
||||
raise RuntimeError(self._format_start_failure_reason())
|
||||
await asyncio.sleep(0.05)
|
||||
else:
|
||||
self._handle_failed_start()
|
||||
raise RuntimeError("Server failed to start within the 10 seconds.")
|
||||
|
||||
# Wait for /health to be available once uvicorn reports started.
|
||||
if not await self._server_health_check():
|
||||
self._handle_failed_start()
|
||||
raise RuntimeError("Server failed to start within the 10 seconds.")
|
||||
|
||||
# If startup failed (e.g. port already in use), uvicorn never flips `started`
|
||||
# and the worker thread stops immediately. Guard against latching on to a
|
||||
# different process that happened to satisfy the health check.
|
||||
if not uvicorn_server.started or not serving_thread.is_alive() or self._server_start_exception is not None:
|
||||
self._handle_failed_start()
|
||||
failure_reason = self._format_start_failure_reason()
|
||||
raise RuntimeError(failure_reason)
|
||||
|
||||
async def _server_health_check(self) -> bool:
|
||||
"""Checks if the server is healthy."""
|
||||
current_time = time.time()
|
||||
while time.time() - current_time < 10:
|
||||
async with aiohttp.ClientSession() as session:
|
||||
with suppress(Exception):
|
||||
async with session.get(f"{self.endpoint}/health") as response:
|
||||
async with session.get(f"{self.endpoint}{AGL_API_V1_PREFIX}/health") as response:
|
||||
if response.status == 200:
|
||||
return True
|
||||
await asyncio.sleep(0.1)
|
||||
return False
|
||||
|
||||
def _handle_failed_start(self) -> None:
|
||||
"""Clean up thread state when startup fails."""
|
||||
if self._uvicorn_server is not None:
|
||||
self._uvicorn_server.should_exit = True
|
||||
if self._serving_thread is not None:
|
||||
# Thread already exited in most failure scenarios; join defensively.
|
||||
self._serving_thread.join(timeout=0.1)
|
||||
self._serving_thread = None
|
||||
|
||||
def _format_start_failure_reason(self) -> str:
|
||||
base_message = f"LightningStore server failed to start on {self.endpoint}."
|
||||
if isinstance(self._server_start_exception, SystemExit):
|
||||
return f"{base_message} Another process may already be using this port."
|
||||
if isinstance(self._server_start_exception, OSError):
|
||||
return f"{base_message} {self._server_start_exception.strerror}."
|
||||
if self._server_start_exception is not None:
|
||||
return f"{base_message} Reason: {self._server_start_exception}."
|
||||
return f"{base_message} Another process may already be using this port."
|
||||
|
||||
async def run_forever(self):
|
||||
"""Runs the FastAPI server indefinitely.
|
||||
|
||||
You need to call this method in the same process as the server was created in.
|
||||
"""
|
||||
assert self._uvicorn_server is not None
|
||||
uvicorn_server = self._uvicorn_server
|
||||
|
||||
async def _wait_till_healthy():
|
||||
health = await self._server_health_check()
|
||||
@@ -203,9 +248,30 @@ class LightningStoreServer(LightningStore):
|
||||
raise RuntimeError("Server did not become healthy within the 10 seconds.")
|
||||
logger.info("Store server is online at %s", self.endpoint)
|
||||
|
||||
async def _serve_capture():
|
||||
try:
|
||||
await uvicorn_server.serve()
|
||||
except KeyboardInterrupt:
|
||||
raise
|
||||
except (SystemExit, Exception) as exc:
|
||||
logger.debug("LightningStore server serve() raised %s", exc, exc_info=exc)
|
||||
self._server_start_exception = exc
|
||||
raise RuntimeError("LightningStore server failed to serve") from exc
|
||||
|
||||
# We run _wait_till_healthy and self._uvicorn_server.serve in parallel
|
||||
# until one of them raises an exception.
|
||||
await asyncio.gather(_wait_till_healthy(), self._uvicorn_server.serve())
|
||||
try:
|
||||
await asyncio.gather(_wait_till_healthy(), _serve_capture())
|
||||
except BaseException as exc:
|
||||
if isinstance(exc, KeyboardInterrupt):
|
||||
raise
|
||||
startup_failed = not uvicorn_server.started or isinstance(
|
||||
self._server_start_exception, (SystemExit, OSError)
|
||||
)
|
||||
if startup_failed:
|
||||
self._handle_failed_start()
|
||||
raise RuntimeError(self._format_start_failure_reason())
|
||||
raise
|
||||
|
||||
async def stop(self):
|
||||
"""Gracefully stops the running FastAPI server.
|
||||
@@ -237,30 +303,43 @@ class LightningStoreServer(LightningStore):
|
||||
"""Set up FastAPI routes for all store operations."""
|
||||
assert self.app is not None
|
||||
|
||||
@self.app.exception_handler(Exception)
|
||||
async def _app_exception_handler(request: Request, exc: Exception): # pyright: ignore[reportUnusedFunction]
|
||||
@self.app.middleware("http")
|
||||
async def _app_exception_handler( # pyright: ignore[reportUnusedFunction]
|
||||
request: Request, call_next: Callable[[Request], Awaitable[Response]]
|
||||
) -> Response:
|
||||
"""
|
||||
Convert unhandled application exceptions into 400 responses.
|
||||
Convert unhandled application exceptions into 500 responses.
|
||||
|
||||
Only covers /agl/v1 requests.
|
||||
|
||||
- Client needs a reliable signal to distinguish "app bug / bad request"
|
||||
from transport/session failures.
|
||||
- 400 here means "do not retry"; network issues will surface as aiohttp
|
||||
- 400 means "do not retry"; network issues will surface as aiohttp
|
||||
exceptions or 5xx and will be retried by the client shield.
|
||||
"""
|
||||
logger.exception("Unhandled application error", exc_info=exc)
|
||||
return JSONResponse(
|
||||
status_code=400,
|
||||
content={
|
||||
"detail": str(exc),
|
||||
"error_type": type(exc).__name__,
|
||||
"traceback": traceback.format_exc(),
|
||||
},
|
||||
)
|
||||
try:
|
||||
return await call_next(request)
|
||||
except Exception as exc:
|
||||
# decide whether to convert this into your 400 JSONResponse
|
||||
if request.url.path.startswith(AGL_API_V1_PREFIX):
|
||||
logger.exception("Unhandled application error", exc_info=exc)
|
||||
payload = {
|
||||
"detail": "Internal server error",
|
||||
"error_type": type(exc).__name__,
|
||||
"traceback": traceback.format_exc(),
|
||||
}
|
||||
# 500 so clients can decide to retry
|
||||
return JSONResponse(status_code=500, content=payload)
|
||||
# otherwise re-raise and let FastAPI/Starlette handle it (500 or other handlers)
|
||||
raise
|
||||
|
||||
@self.app.middleware("http")
|
||||
async def _log_time( # pyright: ignore[reportUnusedFunction]
|
||||
request: Request, call_next: Callable[[Request], Awaitable[Response]]
|
||||
):
|
||||
if not request.url.path.startswith("/agl/v1/"):
|
||||
return await call_next(request)
|
||||
|
||||
start = time.perf_counter()
|
||||
response = await call_next(request)
|
||||
duration = (time.perf_counter() - start) * 1000
|
||||
@@ -276,21 +355,11 @@ class LightningStoreServer(LightningStore):
|
||||
)
|
||||
return response
|
||||
|
||||
@self.app.get("/health")
|
||||
@self.app.get(AGL_API_V1_PREFIX + "/health")
|
||||
async def health(): # pyright: ignore[reportUnusedFunction]
|
||||
return {"status": "ok"}
|
||||
|
||||
@self.app.post("/start_rollout", response_model=AttemptedRollout)
|
||||
async def start_rollout(request: RolloutRequest): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.start_rollout(
|
||||
input=request.input,
|
||||
mode=request.mode,
|
||||
resources_id=request.resources_id,
|
||||
config=request.config,
|
||||
metadata=request.metadata,
|
||||
)
|
||||
|
||||
@self.app.post("/enqueue_rollout", response_model=Rollout)
|
||||
@self.app.post(AGL_API_V1_PREFIX + "/queues/rollouts/enqueue", status_code=201, response_model=Rollout)
|
||||
async def enqueue_rollout(request: RolloutRequest): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.enqueue_rollout(
|
||||
input=request.input,
|
||||
@@ -300,88 +369,121 @@ class LightningStoreServer(LightningStore):
|
||||
metadata=request.metadata,
|
||||
)
|
||||
|
||||
@self.app.get("/dequeue_rollout", response_model=Optional[AttemptedRollout])
|
||||
@self.app.post(AGL_API_V1_PREFIX + "/queues/rollouts/dequeue", response_model=Optional[AttemptedRollout])
|
||||
async def dequeue_rollout(): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.dequeue_rollout()
|
||||
|
||||
@self.app.post("/start_attempt", response_model=AttemptedRollout)
|
||||
async def start_attempt(request: RolloutId): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.start_attempt(request.rollout_id)
|
||||
@self.app.post(AGL_API_V1_PREFIX + "/rollouts", status_code=201, response_model=AttemptedRollout)
|
||||
async def start_rollout(request: RolloutRequest): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.start_rollout(
|
||||
input=request.input,
|
||||
mode=request.mode,
|
||||
resources_id=request.resources_id,
|
||||
config=request.config,
|
||||
metadata=request.metadata,
|
||||
)
|
||||
|
||||
@self.app.post("/query_rollouts", response_model=List[Rollout])
|
||||
async def query_rollouts(request: QueryRolloutsRequest): # pyright: ignore[reportUnusedFunction]
|
||||
@self.app.get(AGL_API_V1_PREFIX + "/rollouts", response_model=List[Rollout])
|
||||
async def query_rollouts(): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.query_rollouts()
|
||||
|
||||
@self.app.post(AGL_API_V1_PREFIX + "/rollouts/search", response_model=List[Rollout])
|
||||
async def search_rollouts(request: QueryRolloutsRequest): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.query_rollouts(status=request.status, rollout_ids=request.rollout_ids)
|
||||
|
||||
@self.app.get("/query_attempts/{rollout_id}", response_model=List[Attempt])
|
||||
async def query_attempts(rollout_id: str): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.query_attempts(rollout_id)
|
||||
|
||||
@self.app.get("/get_latest_attempt/{rollout_id}", response_model=Optional[Attempt])
|
||||
async def get_latest_attempt(rollout_id: str): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.get_latest_attempt(rollout_id)
|
||||
|
||||
@self.app.get("/get_rollout_by_id/{rollout_id}", response_model=Optional[Rollout])
|
||||
@self.app.get(AGL_API_V1_PREFIX + "/rollouts/{rollout_id}", response_model=Rollout)
|
||||
async def get_rollout_by_id(rollout_id: str): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.get_rollout_by_id(rollout_id)
|
||||
|
||||
@self.app.post("/add_resources", response_model=ResourcesUpdate)
|
||||
async def add_resources(resources: AddResourcesRequest): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.add_resources(resources.resources)
|
||||
def _get_mandatory_field_or_unset(request: BaseModel, field: str) -> Any:
|
||||
# If some fields are mandatory by the underlying store, but optional in the FastAPI,
|
||||
# we make sure it's set to non-null value or UNSET via this function.
|
||||
if field in request.model_fields_set:
|
||||
value = getattr(request, field)
|
||||
if value is None:
|
||||
raise HTTPException(status_code=400, detail=f"{field} is invalid; it cannot be a null value.")
|
||||
return value
|
||||
else:
|
||||
return UNSET
|
||||
|
||||
@self.app.post("/update_resources", response_model=ResourcesUpdate)
|
||||
async def update_resources(update: ResourcesUpdate): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.update_resources(update.resources_id, update.resources)
|
||||
@self.app.post(AGL_API_V1_PREFIX + "/rollouts/{rollout_id}", response_model=Rollout)
|
||||
async def update_rollout( # pyright: ignore[reportUnusedFunction]
|
||||
rollout_id: str, request: UpdateRolloutRequest = Body(...)
|
||||
):
|
||||
return await self.update_rollout(
|
||||
rollout_id=rollout_id,
|
||||
input=request.input if "input" in request.model_fields_set else UNSET,
|
||||
mode=request.mode if "mode" in request.model_fields_set else UNSET,
|
||||
resources_id=request.resources_id if "resources_id" in request.model_fields_set else UNSET,
|
||||
status=_get_mandatory_field_or_unset(request, "status"),
|
||||
config=_get_mandatory_field_or_unset(request, "config"),
|
||||
metadata=request.metadata if "metadata" in request.model_fields_set else UNSET,
|
||||
)
|
||||
|
||||
@self.app.get("/get_resources_by_id/{resources_id}", response_model=Optional[ResourcesUpdate])
|
||||
async def get_resources_by_id(resources_id: str): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.get_resources_by_id(resources_id)
|
||||
@self.app.post(
|
||||
AGL_API_V1_PREFIX + "/rollouts/{rollout_id}/attempts", status_code=201, response_model=AttemptedRollout
|
||||
)
|
||||
async def start_attempt(rollout_id: str): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.start_attempt(rollout_id)
|
||||
|
||||
@self.app.get("/get_latest_resources", response_model=Optional[ResourcesUpdate])
|
||||
@self.app.post(AGL_API_V1_PREFIX + "/rollouts/{rollout_id}/attempts/{attempt_id}", response_model=Attempt)
|
||||
async def update_attempt( # pyright: ignore[reportUnusedFunction]
|
||||
rollout_id: str, attempt_id: str, request: UpdateAttemptRequest = Body(...)
|
||||
):
|
||||
return await self.update_attempt(
|
||||
rollout_id=rollout_id,
|
||||
attempt_id=attempt_id,
|
||||
status=_get_mandatory_field_or_unset(request, "status"),
|
||||
worker_id=_get_mandatory_field_or_unset(request, "worker_id"),
|
||||
last_heartbeat_time=_get_mandatory_field_or_unset(request, "last_heartbeat_time"),
|
||||
metadata=_get_mandatory_field_or_unset(request, "metadata"),
|
||||
)
|
||||
|
||||
@self.app.get(AGL_API_V1_PREFIX + "/rollouts/{rollout_id}/attempts", response_model=List[Attempt])
|
||||
async def query_attempts(rollout_id: str): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.query_attempts(rollout_id)
|
||||
|
||||
@self.app.get(AGL_API_V1_PREFIX + "/rollouts/{rollout_id}/attempts/latest", response_model=Optional[Attempt])
|
||||
async def get_latest_attempt(rollout_id: str): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.get_latest_attempt(rollout_id)
|
||||
|
||||
@self.app.post(AGL_API_V1_PREFIX + "/resources", status_code=201, response_model=ResourcesUpdate)
|
||||
async def add_resources(resources: NamedResources): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.add_resources(resources)
|
||||
|
||||
@self.app.get(AGL_API_V1_PREFIX + "/resources/latest", response_model=Optional[ResourcesUpdate])
|
||||
async def get_latest_resources(): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.get_latest_resources()
|
||||
|
||||
@self.app.post("/add_span", response_model=Span)
|
||||
@self.app.post(AGL_API_V1_PREFIX + "/resources/{resources_id}", response_model=ResourcesUpdate)
|
||||
async def update_resources( # pyright: ignore[reportUnusedFunction]
|
||||
resources_id: str, resources: NamedResources
|
||||
):
|
||||
return await self.update_resources(resources_id, resources)
|
||||
|
||||
@self.app.get(AGL_API_V1_PREFIX + "/resources/{resources_id}", response_model=Optional[ResourcesUpdate])
|
||||
async def get_resources_by_id(resources_id: str): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.get_resources_by_id(resources_id)
|
||||
|
||||
@self.app.post(AGL_API_V1_PREFIX + "/spans", status_code=201, response_model=Span)
|
||||
async def add_span(span: Span): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.add_span(span)
|
||||
|
||||
@self.app.get("/get_next_span_sequence_id/{rollout_id}/{attempt_id}", response_model=int)
|
||||
async def get_next_span_sequence_id(rollout_id: str, attempt_id: str): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.get_next_span_sequence_id(rollout_id, attempt_id)
|
||||
|
||||
@self.app.post("/wait_for_rollouts", response_model=List[Rollout])
|
||||
async def wait_for_rollouts(request: WaitForRolloutsRequest): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.wait_for_rollouts(rollout_ids=request.rollout_ids, timeout=request.timeout)
|
||||
|
||||
@self.app.get("/query_spans/{rollout_id}", response_model=List[Span])
|
||||
@self.app.get(AGL_API_V1_PREFIX + "/spans", response_model=List[Span])
|
||||
async def query_spans( # pyright: ignore[reportUnusedFunction]
|
||||
rollout_id: str, attempt_id: Optional[str] = None
|
||||
rollout_id: str,
|
||||
attempt_id: Optional[str] = None,
|
||||
):
|
||||
return await self.query_spans(rollout_id, attempt_id)
|
||||
|
||||
@self.app.post("/update_rollout", response_model=Rollout)
|
||||
async def update_rollout(request: UpdateRolloutRequest): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.update_rollout(
|
||||
rollout_id=request.rollout_id,
|
||||
input=request.input if not isinstance(request.input, PydanticUnset) else UNSET,
|
||||
mode=request.mode if not isinstance(request.mode, PydanticUnset) else UNSET,
|
||||
resources_id=request.resources_id if not isinstance(request.resources_id, PydanticUnset) else UNSET,
|
||||
status=request.status if not isinstance(request.status, PydanticUnset) else UNSET,
|
||||
config=request.config if not isinstance(request.config, PydanticUnset) else UNSET,
|
||||
metadata=request.metadata if not isinstance(request.metadata, PydanticUnset) else UNSET,
|
||||
)
|
||||
@self.app.post(AGL_API_V1_PREFIX + "/spans/next", response_model=NextSequenceIdResponse)
|
||||
async def get_next_span_sequence_id(request: NextSequenceIdRequest): # pyright: ignore[reportUnusedFunction]
|
||||
sequence_id = await self.get_next_span_sequence_id(request.rollout_id, request.attempt_id)
|
||||
return NextSequenceIdResponse(sequence_id=sequence_id)
|
||||
|
||||
@self.app.post("/update_attempt", response_model=Attempt)
|
||||
async def update_attempt(request: UpdateAttemptRequest): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.update_attempt(
|
||||
rollout_id=request.rollout_id,
|
||||
attempt_id=request.attempt_id,
|
||||
status=request.status if not isinstance(request.status, PydanticUnset) else UNSET,
|
||||
worker_id=request.worker_id if not isinstance(request.worker_id, PydanticUnset) else UNSET,
|
||||
last_heartbeat_time=(
|
||||
request.last_heartbeat_time if not isinstance(request.last_heartbeat_time, PydanticUnset) else UNSET
|
||||
),
|
||||
metadata=request.metadata if not isinstance(request.metadata, PydanticUnset) else UNSET,
|
||||
)
|
||||
@self.app.post(AGL_API_V1_PREFIX + "/waits/rollouts", response_model=List[Rollout])
|
||||
async def wait_for_rollouts(request: WaitForRolloutsRequest): # pyright: ignore[reportUnusedFunction]
|
||||
return await self.wait_for_rollouts(rollout_ids=request.rollout_ids, timeout=request.timeout)
|
||||
|
||||
# Delegate methods
|
||||
async def _call_store_method(self, method_name: str, *args: Any, **kwargs: Any) -> Any:
|
||||
@@ -553,7 +655,7 @@ class LightningStoreClient(LightningStore):
|
||||
retry_delays: Sequence[float] = (1.0, 2.0, 5.0),
|
||||
health_retry_delays: Sequence[float] = (0.1, 0.2, 0.5),
|
||||
):
|
||||
self.server_address = server_address.rstrip("/")
|
||||
self.server_address = server_address.rstrip("/") + AGL_API_V1_PREFIX
|
||||
self._sessions: Dict[int, aiohttp.ClientSession] = {} # id(loop) -> ClientSession
|
||||
self._lock = threading.RLock()
|
||||
|
||||
@@ -647,6 +749,7 @@ class LightningStoreClient(LightningStore):
|
||||
path: str,
|
||||
*,
|
||||
json: Any | None = None,
|
||||
params: Dict[str, Any] | None = None,
|
||||
) -> Any:
|
||||
"""
|
||||
Make an HTTP request with:
|
||||
@@ -672,11 +775,11 @@ class LightningStoreClient(LightningStore):
|
||||
await asyncio.sleep(delay)
|
||||
try:
|
||||
http_call = getattr(session, method)
|
||||
async with http_call(url, json=json) as resp:
|
||||
async with http_call(url, json=json, params=params) as resp:
|
||||
resp.raise_for_status()
|
||||
return await resp.json()
|
||||
except aiohttp.ClientResponseError as cre:
|
||||
# Respect app-level 4xx as final (server marks app faults as 400)
|
||||
# Respect app-level 4xx as final
|
||||
# 4xx => application issue; do not retry (except 408 which is transient)
|
||||
logger.debug(f"ClientResponseError: {cre.status} {cre.message}", exc_info=True)
|
||||
if 400 <= cre.status < 500 and cre.status != 408:
|
||||
@@ -735,7 +838,7 @@ class LightningStoreClient(LightningStore):
|
||||
) -> AttemptedRollout:
|
||||
data = await self._request_json(
|
||||
"post",
|
||||
"/start_rollout",
|
||||
"/rollouts",
|
||||
json=RolloutRequest(
|
||||
input=input,
|
||||
mode=mode,
|
||||
@@ -756,7 +859,7 @@ class LightningStoreClient(LightningStore):
|
||||
) -> Rollout:
|
||||
data = await self._request_json(
|
||||
"post",
|
||||
"/enqueue_rollout",
|
||||
"/queues/rollouts/enqueue",
|
||||
json=RolloutRequest(
|
||||
input=input,
|
||||
mode=mode,
|
||||
@@ -779,9 +882,9 @@ class LightningStoreClient(LightningStore):
|
||||
server error, etc.), it logs the error and returns None immediately.
|
||||
"""
|
||||
session = await self._get_session()
|
||||
url = f"{self.server_address}/dequeue_rollout"
|
||||
url = f"{self.server_address}/queues/rollouts/dequeue"
|
||||
try:
|
||||
async with session.get(url) as resp:
|
||||
async with session.post(url) as resp:
|
||||
resp.raise_for_status()
|
||||
data = await resp.json()
|
||||
self._dequeue_was_successful = True
|
||||
@@ -798,26 +901,25 @@ class LightningStoreClient(LightningStore):
|
||||
async def start_attempt(self, rollout_id: str) -> AttemptedRollout:
|
||||
data = await self._request_json(
|
||||
"post",
|
||||
"/start_attempt",
|
||||
json=RolloutId(rollout_id=rollout_id).model_dump(),
|
||||
f"/rollouts/{rollout_id}/attempts",
|
||||
)
|
||||
return AttemptedRollout.model_validate(data)
|
||||
|
||||
async def query_rollouts(
|
||||
self, *, status: Optional[Sequence[RolloutStatus]] = None, rollout_ids: Optional[Sequence[str]] = None
|
||||
) -> List[Rollout]:
|
||||
data = await self._request_json(
|
||||
"post",
|
||||
"/query_rollouts",
|
||||
json=QueryRolloutsRequest(
|
||||
if status or rollout_ids:
|
||||
payload = QueryRolloutsRequest(
|
||||
status=list(status) if status else None,
|
||||
rollout_ids=list(rollout_ids) if rollout_ids else None,
|
||||
).model_dump(),
|
||||
)
|
||||
).model_dump(exclude_none=True)
|
||||
data = await self._request_json("post", "/rollouts/search", json=payload)
|
||||
else:
|
||||
data = await self._request_json("get", "/rollouts")
|
||||
return [Rollout.model_validate(item) for item in data]
|
||||
|
||||
async def query_attempts(self, rollout_id: str) -> List[Attempt]:
|
||||
data = await self._request_json("get", f"/query_attempts/{rollout_id}")
|
||||
data = await self._request_json("get", f"/rollouts/{rollout_id}/attempts")
|
||||
return [Attempt.model_validate(item) for item in data]
|
||||
|
||||
async def get_latest_attempt(self, rollout_id: str) -> Optional[Attempt]:
|
||||
@@ -835,7 +937,7 @@ class LightningStoreClient(LightningStore):
|
||||
If all retries fail, it logs the error and returns None instead of raising an exception.
|
||||
"""
|
||||
try:
|
||||
data = await self._request_json("get", f"/get_latest_attempt/{rollout_id}")
|
||||
data = await self._request_json("get", f"/rollouts/{rollout_id}/attempts/latest")
|
||||
return Attempt.model_validate(data) if data else None
|
||||
except Exception as e:
|
||||
logger.error(f"get_latest_attempt failed after all retries for rollout_id={rollout_id}: {e}", exc_info=True)
|
||||
@@ -856,22 +958,19 @@ class LightningStoreClient(LightningStore):
|
||||
If all retries fail, it logs the error and returns None instead of raising an exception.
|
||||
"""
|
||||
try:
|
||||
data = await self._request_json("get", f"/get_rollout_by_id/{rollout_id}")
|
||||
data = await self._request_json("get", f"/rollouts/{rollout_id}")
|
||||
return Rollout.model_validate(data) if data else None
|
||||
except Exception as e:
|
||||
logger.error(f"get_rollout_by_id failed after all retries for rollout_id={rollout_id}: {e}", exc_info=True)
|
||||
return None
|
||||
|
||||
async def add_resources(self, resources: NamedResources) -> ResourcesUpdate:
|
||||
request = AddResourcesRequest(resources=resources)
|
||||
data = await self._request_json("post", "/add_resources", json=request.model_dump())
|
||||
data = await self._request_json("post", "/resources", json=TypeAdapter(NamedResources).dump_python(resources))
|
||||
return ResourcesUpdate.model_validate(data)
|
||||
|
||||
async def update_resources(self, resources_id: str, resources: NamedResources) -> ResourcesUpdate:
|
||||
data = await self._request_json(
|
||||
"post",
|
||||
"/update_resources",
|
||||
json=ResourcesUpdate(resources_id=resources_id, resources=resources).model_dump(),
|
||||
"post", f"/resources/{resources_id}", json=TypeAdapter(NamedResources).dump_python(resources)
|
||||
)
|
||||
return ResourcesUpdate.model_validate(data)
|
||||
|
||||
@@ -890,7 +989,7 @@ class LightningStoreClient(LightningStore):
|
||||
If all retries fail, it logs the error and returns None instead of raising an exception.
|
||||
"""
|
||||
try:
|
||||
data = await self._request_json("get", f"/get_resources_by_id/{resources_id}")
|
||||
data = await self._request_json("get", f"/resources/{resources_id}")
|
||||
return ResourcesUpdate.model_validate(data) if data else None
|
||||
except Exception as e:
|
||||
logger.error(
|
||||
@@ -910,20 +1009,24 @@ class LightningStoreClient(LightningStore):
|
||||
If all retries fail, it logs the error and returns None instead of raising an exception.
|
||||
"""
|
||||
try:
|
||||
data = await self._request_json("get", "/get_latest_resources")
|
||||
data = await self._request_json("get", "/resources/latest")
|
||||
return ResourcesUpdate.model_validate(data) if data else None
|
||||
except Exception as e:
|
||||
logger.error(f"get_latest_resources failed after all retries: {e}", exc_info=True)
|
||||
return None
|
||||
|
||||
async def add_span(self, span: Span) -> Span:
|
||||
data = await self._request_json("post", "/add_span", json=span.model_dump(mode="json"))
|
||||
data = await self._request_json("post", "/spans", json=span.model_dump(mode="json"))
|
||||
return Span.model_validate(data)
|
||||
|
||||
async def get_next_span_sequence_id(self, rollout_id: str, attempt_id: str) -> int:
|
||||
data = await self._request_json("get", f"/get_next_span_sequence_id/{rollout_id}/{attempt_id}")
|
||||
# endpoint returns a plain JSON number
|
||||
return int(data)
|
||||
data = await self._request_json(
|
||||
"post",
|
||||
"/spans/next",
|
||||
json=NextSequenceIdRequest(rollout_id=rollout_id, attempt_id=attempt_id).model_dump(),
|
||||
)
|
||||
response = NextSequenceIdResponse.model_validate(data)
|
||||
return response.sequence_id
|
||||
|
||||
async def add_otel_span(
|
||||
self,
|
||||
@@ -960,7 +1063,7 @@ class LightningStoreClient(LightningStore):
|
||||
)
|
||||
data = await self._request_json(
|
||||
"post",
|
||||
"/wait_for_rollouts",
|
||||
"/waits/rollouts",
|
||||
json=WaitForRolloutsRequest(rollout_ids=rollout_ids, timeout=timeout).model_dump(),
|
||||
)
|
||||
return [Rollout.model_validate(item) for item in data]
|
||||
@@ -970,10 +1073,10 @@ class LightningStoreClient(LightningStore):
|
||||
rollout_id: str,
|
||||
attempt_id: str | Literal["latest"] | None = None,
|
||||
) -> List[Span]:
|
||||
path = f"/query_spans/{rollout_id}"
|
||||
params: Dict[str, str] = {"rollout_id": rollout_id}
|
||||
if attempt_id is not None:
|
||||
path += f"?attempt_id={attempt_id}"
|
||||
data = await self._request_json("get", path)
|
||||
params["attempt_id"] = attempt_id
|
||||
data = await self._request_json("get", "/spans", params=params)
|
||||
return [Span.model_validate(item) for item in data]
|
||||
|
||||
async def update_rollout(
|
||||
@@ -986,7 +1089,7 @@ class LightningStoreClient(LightningStore):
|
||||
config: RolloutConfig | Unset = UNSET,
|
||||
metadata: Optional[Dict[str, Any]] | Unset = UNSET,
|
||||
) -> Rollout:
|
||||
payload: Dict[str, Any] = {"rollout_id": rollout_id}
|
||||
payload: Dict[str, Any] = {}
|
||||
if not isinstance(input, Unset):
|
||||
payload["input"] = input
|
||||
if not isinstance(mode, Unset):
|
||||
@@ -1000,7 +1103,7 @@ class LightningStoreClient(LightningStore):
|
||||
if not isinstance(metadata, Unset):
|
||||
payload["metadata"] = metadata
|
||||
|
||||
data = await self._request_json("post", "/update_rollout", json=payload)
|
||||
data = await self._request_json("post", f"/rollouts/{rollout_id}", json=payload)
|
||||
return Rollout.model_validate(data)
|
||||
|
||||
async def update_attempt(
|
||||
@@ -1012,10 +1115,7 @@ class LightningStoreClient(LightningStore):
|
||||
last_heartbeat_time: float | Unset = UNSET,
|
||||
metadata: Optional[Dict[str, Any]] | Unset = UNSET,
|
||||
) -> Attempt:
|
||||
payload: Dict[str, Any] = {
|
||||
"rollout_id": rollout_id,
|
||||
"attempt_id": attempt_id,
|
||||
}
|
||||
payload: Dict[str, Any] = {}
|
||||
if not isinstance(status, Unset):
|
||||
payload["status"] = status
|
||||
if not isinstance(worker_id, Unset):
|
||||
@@ -1025,5 +1125,9 @@ class LightningStoreClient(LightningStore):
|
||||
if not isinstance(metadata, Unset):
|
||||
payload["metadata"] = metadata
|
||||
|
||||
data = await self._request_json("post", "/update_attempt", json=payload)
|
||||
data = await self._request_json(
|
||||
"post",
|
||||
f"/rollouts/{rollout_id}/attempts/{attempt_id}",
|
||||
json=payload,
|
||||
)
|
||||
return Attempt.model_validate(data)
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
# Changelog
|
||||
|
||||
## Agent-lightning v0.2.1 (10/30/2025)
|
||||
|
||||
Agent-lightning v0.2.1 is a stabilization release for v0.2.0. It introduces several bug fixes and new features, plus a number of unlisted CI improvements.
|
||||
|
||||
### Bug fixes
|
||||
|
||||
* Fix LiteLLM issues when restarting the proxy multiple times in the same process (#174 #206)
|
||||
* Fix LiteLLM model name selection when multiple servers use the same model (#197)
|
||||
* Fix store port conflict handling (#227)
|
||||
|
||||
### New Features
|
||||
|
||||
* Add trainer port option for client-server strategies (#198)
|
||||
|
||||
### Documentation
|
||||
|
||||
* Add tutorial for launching workers on separate machines (#213)
|
||||
* Add link to VERL framework (#210)
|
||||
* Add link to vLLM blog (#215)
|
||||
* Fix a couple of typos and avoid emacs backup files (#237)
|
||||
|
||||
### New Contributors
|
||||
|
||||
A warm welcome to our first-time contributors: @scott-vsi, @ddsfda99, @jeis4wpi 🎉
|
||||
|
||||
**Full Changelog**: https://github.com/microsoft/agent-lightning/compare/v0.2.0...v0.2.1
|
||||
|
||||
---
|
||||
|
||||
## Agent-lightning v0.2.0 (10/22/2025)
|
||||
|
||||
Agent-Lightning v0.2.0 introduces major framework improvements, new execution strategies, expanded documentation, and enhanced reliability across the agent training and deployment workflow. This release includes **78 pull requests** since v0.1.2.
|
||||
|
||||
### Core Enhancements
|
||||
|
||||
* **Lightning Store**: Added unified interface and implementation for Agent-lightning's core storage.
|
||||
* **Emitter**: Emitting any objects as spans to the store.
|
||||
* **Adapter** and **Tracer**: Adapting to OpenAI-like messages, and OpenTelemetry dummy tracer.
|
||||
* **LLM Proxy**: Added LLM Proxy as the first-class citizen in Agent-lightning.
|
||||
* **Agent Runner**: New version providing a more modular and robust runner design.
|
||||
* **Embedded Algorithms**: Algorithms are now embedded directly into trainers for simplicity.
|
||||
* **New Execution Strategies**: Introduced *Client-Server* and *Shared Memory* execution models.
|
||||
* **Trainer Updates**: Integrated v0.2 interfaces and FastAlgorithm validation.
|
||||
|
||||
### Documentation & Examples
|
||||
|
||||
* Revamped documentation with new guides for **agent creation**, **training**, **debugging**, and **store concepts**.
|
||||
* Improved quickstart tutorials, clarified installation and new deep-dive articles.
|
||||
* Added and updated examples: *SQL Agent*, *Calc-X*, *Local SFT*, *Search-R1*, and *APO algorithm*.
|
||||
|
||||
### Developer Experience
|
||||
|
||||
* Migrated build and CI pipelines to **1ES**, split workflows and aggregate badges for clarity.
|
||||
* Adopted **uv** as the dependency manager.
|
||||
* Added GPU-based pytest workflows for full test coverage.
|
||||
* Enhanced debugging UX, pre-commit configs, and linting (Pyright fixes, import sorting).
|
||||
|
||||
### Ecosystem & Integrations
|
||||
|
||||
* Added support for agents built with [**Agent-framework**](https://github.com/microsoft/agent-framework).
|
||||
* Added new community listings: [*DeepWerewolf*](https://github.com/af-74413592/DeepWerewolf) and [*AgentFlow*](https://agentflow.stanford.edu/).
|
||||
|
||||
### New Contributors
|
||||
|
||||
A warm welcome to our first-time contributors:
|
||||
@hzy46, @lunaqiu, @syeehyn, @linhx1999, @SiyunZhao, and @acured 🎉
|
||||
|
||||
**Full changelog:** [v0.1.2 → v0.2.0](https://github.com/microsoft/agent-lightning/compare/v0.1.2...v0.2.0)
|
||||
|
||||
---
|
||||
|
||||
## Agent-lightning v0.1.2 (08/12/2025)
|
||||
|
||||
### What's Changed
|
||||
* Add basic documentation in https://github.com/microsoft/agent-lightning/pull/33
|
||||
* RAG example by @wizardlancet in https://github.com/microsoft/agent-lightning/pull/21
|
||||
|
||||
### New Contributors
|
||||
* @wizardlancet made their first contribution in https://github.com/microsoft/agent-lightning/pull/21
|
||||
|
||||
**Full Changelog**: https://github.com/microsoft/agent-lightning/compare/v0.1.1...v0.1.2
|
||||
|
||||
---
|
||||
|
||||
## Agent-lightning v0.1.1 (08/06/2025)
|
||||
|
||||
### What's Changed
|
||||
* Disable HTTP tracer tests and bump to 0.1.1 in https://github.com/microsoft/agent-lightning/pull/26
|
||||
* Fix trainer bugs in v0.1 in https://github.com/microsoft/agent-lightning/pull/24
|
||||
|
||||
**Full Changelog**: https://github.com/microsoft/agent-lightning/compare/v0.1...v0.1.1
|
||||
|
||||
---
|
||||
|
||||
## Agent-lightning v0.1.0 (08/04/2025)
|
||||
|
||||
The first release of Agent-lightning!
|
||||
|
||||
- Turn your agent into an optimizable beast with **ZERO CODE CHANGE** (almost)! 💤
|
||||
- Build with **ANY** agent framework (LangChain, OpenAI Agent SDK, AutoGen, CrewAI, ...); or even WITHOUT agent framework (Python OpenAI). You name it! 🤖
|
||||
- **Selectively** optimize one or more agents in a multi-agent system. 🎯
|
||||
- Embraces Reinforcement Learning, Automatic Prompt Optimization and more **algorithms**. 🤗
|
||||
|
||||
Install via `pip install agentlightning`.
|
||||
@@ -496,7 +496,7 @@ flowchart TD
|
||||
Continuous learning keeps the algorithm loop running while runners report tasks and spans opportunistically. Key differences from batch mode:
|
||||
|
||||
1. The algorithm does not enqueue rollouts from a fixed dataset. Runners report tasks/rollouts and spans spontaneously.
|
||||
2. The algorithm can wait for rollouts with a expected set of rollout IDs, but more oftenly polls for new rollouts and spans or waits for a count to arrive.
|
||||
2. The algorithm can wait for rollouts with a expected set of rollout IDs, but more often polls for new rollouts and spans or waits for a count to arrive.
|
||||
3. The [`Runner`][agentlightning.Runner] processes one rollout at a time via [`step(task)`][agentlightning.Runner.step] instead of exhausting a task queue. It notifies the store when starting a rollout so the store records it.
|
||||
4. A user or higher-level loop controls which resources the next step uses and when to retry.
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ This documentation is organized into the following parts:
|
||||
|
||||
## Resources
|
||||
|
||||
- 10/22/2025 [No More Retokenization Drift: Returning Token IDs via the OpenAI Compatible API Matters in Agent RL](https://blog.vllm.ai/2025/10/22/agent-lightning.html) vLLM blog. See also [Zhihu writeup](https://zhuanlan.zhihu.com/p/1965067274642785725).
|
||||
- 8/11/2025 [Training AI Agents to Write and Self-correct SQL with Reinforcement Learning](https://medium.com/@yugez/training-ai-agents-to-write-and-self-correct-sql-with-reinforcement-learning-571ed31281ad) Medium.
|
||||
- 8/5/2025 [Agent Lightning: Train ANY AI Agents with Reinforcement Learning](https://arxiv.org/abs/2508.03680) arXiv paper.
|
||||
- 7/26/2025 [We discovered an approach to train any AI agent with RL, with (almost) zero code changes.](https://www.reddit.com/r/LocalLLaMA/comments/1m9m670/we_discovered_an_approach_to_train_any_ai_agent/) Reddit.
|
||||
|
||||
@@ -167,6 +167,39 @@ Set `AGL_SERVER_HOST` and `AGL_SERVER_PORT` if you prefer environment-based conf
|
||||
|
||||
Algorithms sometimes require heterogeneous computation resources, such as GPU accelerators, while runners sometimes require a specific environment to run because many agent frameworks are fragile in their dependencies. A role-based launch pattern helps you place the algorithm on a dedicated machine with more GPU memory, while runners can live on another machine with more flexible dependencies. This is possible via `AGL_CURRENT_ROLE="algorithm"` or `AGL_CURRENT_ROLE="runner"` environment variables. When running on different machines, you also need to set `AGL_SERVER_HOST` and `AGL_SERVER_PORT` to the IP address and port of the algorithm machine. You might recognize that this convention is very similar to `MASTER_ADDR` and `MASTER_PORT` in [PyTorch distributed training](https://docs.pytorch.org/docs/stable/notes/ddp.html).
|
||||
|
||||
### Launching Algorithm and Runner Roles on Separate Machines
|
||||
|
||||
When you want to stretch the algorithm onto a GPU-rich machine and keep rollout workers close to the data source (or on machines with a more permissive dependency stack), launch the same training script in different terminals with role-specific environment variables. The client–server strategy will route each process to the right side of the queue as long as they share the same `AGL_SERVER_HOST`/`AGL_SERVER_PORT` pair.
|
||||
|
||||
**1. Pick an address and port for the store.** Decide which machine will host the algorithm. Choose a TCP port that can be reached by the runner machines (for example, open it in your firewall configuration). In this example we will use `10.0.0.4:4747`.
|
||||
|
||||
**2. Start the algorithm process.** On the machine that should run the algorithm, expose the store by binding to all network interfaces and mark the role as `algorithm`.
|
||||
|
||||
```bash
|
||||
export AGL_SERVER_HOST=0.0.0.0
|
||||
export AGL_SERVER_PORT=4747
|
||||
export AGL_CURRENT_ROLE=algorithm
|
||||
|
||||
python train_calc_agent.py
|
||||
```
|
||||
|
||||
Leaving `AGL_MANAGED_STORE` unset (or setting it to `1`) lets the strategy create the [`LightningStoreServer`][agentlightning.LightningStoreServer] for you. Otherwise, you can use the method in the previous section to create a store on your own.
|
||||
|
||||
**3. Start rollout workers on remote machines.** Every runner machine should point to the algorithm host and declare itself as the `runner` role. You can start multiple processes per machine or repeat the command on additional hosts.
|
||||
|
||||
```bash
|
||||
export AGL_SERVER_HOST=10.0.0.4
|
||||
export AGL_SERVER_PORT=4747
|
||||
export AGL_CURRENT_ROLE=runner
|
||||
python train_calc_agent.py --n-runners 4
|
||||
```
|
||||
|
||||
The runner process automatically connects via [`LightningStoreClient`][agentlightning.LightningStoreClient]. Adjust `--n-runners` to spawn the desired number of worker processes on that machine.
|
||||
|
||||
**4. Scale out as needed.** Repeat step 3 on as many machines as you need. When you are done, stop the algorithm process. However, since the runners are on different machines, the strategy WILL NOT send a cooperative stop signal to the connected runners. So you need to kill the runners on your own.
|
||||
|
||||
This role-based launch mirrors what [`Trainer.fit`][agentlightning.Trainer.fit] does inside a single machine while letting you spread work across a fleet. Because every process shares the same training script, you keep a single source of truth for dataset loading, adapters, and tracers, but you can tune compute resources independently for the algorithm and rollout workers.
|
||||
|
||||
### Shared-memory Strategy
|
||||
|
||||
[`SharedMemoryExecutionStrategy`][agentlightning.SharedMemoryExecutionStrategy] keeps everything inside one process. The runner runs on the main thread (by default) while the algorithm lives on a Python thread guarded by [`LightningStoreThreaded`][agentlightning.LightningStoreThreaded].
|
||||
|
||||
@@ -11,9 +11,3 @@ unsloth/unsloth_training_checkpoints/
|
||||
apo/pomltrace/
|
||||
tinker/logs/
|
||||
tinker/crewai_*.html
|
||||
!tinker/logs/*_20251026.jsonl
|
||||
!tinker/logs/*_20251027.jsonl
|
||||
!tinker/logs/*_20251028.jsonl
|
||||
!tinker/logs/*_20251029.jsonl
|
||||
!tinker/logs/*_20251030.jsonl
|
||||
!tinker/logs/*_20251031.jsonl
|
||||
|
||||
@@ -10,5 +10,6 @@ This catalog highlights the examples shipped with Agent-lightning.
|
||||
| [search_r1](./search_r1) | Framework-free Search-R1 reinforcement learning training workflow with a retrieval backend. | **Unmaintained** — last verified with Agent-lightning v0.1.2 |
|
||||
| [spider](./spider) | Text-to-SQL reinforcement learning training on the Spider dataset using LangGraph. | [](https://github.com/microsoft/agent-lightning/actions/workflows/badge-spider.yml) |
|
||||
| [unsloth](./unsloth) | Supervised fine-tuning example powered by Unsloth with 4-bit quantization and LoRA. | [](https://github.com/microsoft/agent-lightning/actions/workflows/badge-unsloth.yml) |
|
||||
| [tinker](./tinker) | Reinforcement learning with Tinker as the backend training service. | **Unmaintained** — last verified with Agent-lightning v0.2.1 |
|
||||
|
||||
*NOTE: CI status avoid taking any workflow running with latest dependencies into account. That's why we reference the corresponding `badge-*` workflows instead. Each example's own README also displays its `examples-*` workflow status whenever the project is maintained by CI.*
|
||||
|
||||
@@ -141,7 +141,7 @@ Return only a number between 0 and 1. No text, punctuation, or explanation."""
|
||||
try:
|
||||
content = result.choices[0].message.content
|
||||
if content is None:
|
||||
console.print(f"[bold blue][Judge][/bold blue] Judge retured no content: {result}")
|
||||
console.print(f"[bold blue][Judge][/bold blue] Judge returned no content: {result}")
|
||||
return 0.0
|
||||
score = float(content)
|
||||
console.print(f"[bold blue][Judge][/bold blue] Judge returned score: {score}")
|
||||
|
||||
@@ -43,5 +43,7 @@ if __name__ == "__main__":
|
||||
configure_logger()
|
||||
dotenv.load_dotenv()
|
||||
agent = SimpleAgent()
|
||||
trainer = Trainer(n_workers=2)
|
||||
# Use 2 workers to simulate multiple clients
|
||||
# max_tasks is optional, limit to 2 tasks here for a quick demo.
|
||||
trainer = Trainer(n_workers=2, max_tasks=2)
|
||||
trainer.fit_v0(agent, "http://127.0.0.1:9997")
|
||||
|
||||
@@ -23,6 +23,7 @@ async def example_apo():
|
||||
"You are a helpful assistant.",
|
||||
"You are a knowledgeable AI.",
|
||||
"You are a friendly chatbot.",
|
||||
"You are an experienced expert.",
|
||||
]
|
||||
|
||||
prompt_and_rewards: list[tuple[str, float]] = []
|
||||
@@ -40,7 +41,7 @@ async def example_apo():
|
||||
print(f"[Algo] Task '{task_id}' is now available for clients.")
|
||||
|
||||
# 3. The algorithm waits for clients to process the task
|
||||
rollout = await server.poll_completed_rollout(task_id, timeout=30)
|
||||
rollout = await server.poll_completed_rollout(task_id, timeout=60)
|
||||
assert rollout, "Expected a completed rollout from the client."
|
||||
print(f"[Algo] Received Result: {rollout}")
|
||||
reward = rollout.final_reward
|
||||
|
||||
@@ -105,6 +105,7 @@ def train(
|
||||
model: Optional[str],
|
||||
llm_proxy: bool,
|
||||
ci: bool,
|
||||
ci_fast: bool,
|
||||
n_runners: int,
|
||||
external_store_address: str,
|
||||
):
|
||||
@@ -117,6 +118,7 @@ def train(
|
||||
llm_proxy: Whether to enable LLM Proxy tracing/adapter.
|
||||
ci: Whether to run a minimal CI-style training loop.
|
||||
n_runners: The number of runners for the Trainer.
|
||||
ci_fast: Whether to cap the training loop at a single step (implies CI toggles).
|
||||
external_store_address: Connects to an external store instead of creating a new one in memory.
|
||||
"""
|
||||
# Load datasets (respect CLI file paths)
|
||||
@@ -134,7 +136,7 @@ def train(
|
||||
config["actor_rollout_ref"]["model"]["path"] = model
|
||||
|
||||
# CI toggle keeps everything else the same but you can tweak the lightweight bits here if desired
|
||||
if ci:
|
||||
if ci or ci_fast:
|
||||
# Config the experiment name and project name so that they are available to CI
|
||||
timestamp = datetime.now().strftime("%Y%m%d%H%M%S")
|
||||
EXPERIMENT_NAME = f"calc_x_{timestamp}"
|
||||
@@ -161,6 +163,11 @@ def train(
|
||||
config["trainer"]["project_name"] = PROJECT_NAME
|
||||
config["trainer"].pop("save_freq", None)
|
||||
|
||||
if ci_fast:
|
||||
# Extra fast CI toggle for testing purposes.
|
||||
config["trainer"]["total_training_steps"] = 1
|
||||
config["trainer"]["test_freq"] = 1
|
||||
|
||||
algorithm = agl.VERL(config)
|
||||
|
||||
if external_store_address:
|
||||
@@ -185,6 +192,9 @@ def main():
|
||||
parser.add_argument("--model", type=str, default=None, help="HF model id or path (optional)")
|
||||
parser.add_argument("--llm-proxy", action="store_true", help="Enable LLM Proxy tracing/adapter")
|
||||
parser.add_argument("--ci", action="store_true", help="Run a minimal CI-style training loop")
|
||||
parser.add_argument(
|
||||
"--ci-fast", action="store_true", help="Limit the training loop to a single step (implies --ci)"
|
||||
)
|
||||
parser.add_argument("--n-runners", type=int, default=10, help="Number of runners for Trainer")
|
||||
parser.add_argument(
|
||||
"--external-store-address",
|
||||
@@ -203,12 +213,16 @@ def main():
|
||||
"Otherwise the trainer will still try to manage the store lifecycle for you!"
|
||||
)
|
||||
|
||||
if args.ci_fast:
|
||||
args.ci = True
|
||||
|
||||
train(
|
||||
train_file=args.train_file,
|
||||
val_file=args.val_file,
|
||||
model=args.model,
|
||||
llm_proxy=args.llm_proxy,
|
||||
ci=args.ci,
|
||||
ci_fast=args.ci_fast,
|
||||
n_runners=args.n_runners,
|
||||
external_store_address=args.external_store_address,
|
||||
)
|
||||
|
||||
@@ -136,7 +136,7 @@ def replace_cur_year(query: str) -> str:
|
||||
def get_cursor_from_path(sqlite_path: str):
|
||||
try:
|
||||
if not os.path.exists(sqlite_path):
|
||||
print("Openning a new connection %s" % sqlite_path)
|
||||
print("Opening a new connection %s" % sqlite_path)
|
||||
connection = sqlite3.connect(sqlite_path)
|
||||
except Exception as e:
|
||||
print(sqlite_path)
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
TINKER_API_KEY=<your_tinker_api_key>
|
||||
|
||||
# Commonly used keys for debugging, testing and training
|
||||
OPENAI_BASE_URL=<your_openai_base_url>
|
||||
OPENAI_API_KEY=<your_openai_api_key>
|
||||
WANDB_API_KEY=<your_wandb_api_key>
|
||||
|
||||
# Needed for CrewAI example: Temporarily disable CrewAI telemetry to make AgentOps work
|
||||
CREWAI_DISABLE_TELEMETRY=true
|
||||
@@ -0,0 +1,182 @@
|
||||
# Tinker + Agent-lightning Integration
|
||||
|
||||
This example shows how to use [Tinker's reinforcement-learning infrastructure](https://tinker-docs.thinkingmachines.ai/) as a fine-tuning backend for agents written against Agent-lightning. You author the agent exactly the way you would for deployment, while the bridge code reconstructs Tinker-compatible trajectories from Agent-lightning traces.
|
||||
|
||||
**NOTE: The example is tested and compatible with Agent-lightning v0.2.x, but it's not yet maintained on CI due to the cost of running the Tinker training service.**
|
||||
|
||||
## How this differs from the original Tinker Cookbook RL recipe
|
||||
|
||||
Real-world agent apps orchestrate logic in familiar frameworks (CrewAI, LangChain, AutoGen, OpenAI Agents, etc.) or by calling OpenAI-compatible REST APIs. A simple number-guessing agent might look like this:
|
||||
|
||||
```python
|
||||
def guess_number_agent():
|
||||
client = openai.OpenAI()
|
||||
messages = [{"role": "user", "content": "Guess a number between 1 and 100."}]
|
||||
for _ in range(MAX_TURNS):
|
||||
response = client.chat.completions.create(model="gpt-4.1", messages=messages)
|
||||
response_content = response.choices[0].message.content
|
||||
messages.append({"role": "assistant", "content": response_content})
|
||||
guessed_number = extract_number(response_content)
|
||||
if guessed_number == gold_answer:
|
||||
return 1.0
|
||||
elif guessed_number < gold_answer:
|
||||
messages.append({"role": "user", "content": "Too low"})
|
||||
else:
|
||||
messages.append({"role": "user", "content": "Too high"})
|
||||
return 0.0
|
||||
```
|
||||
|
||||
The reference [Tinker Cookbook example](https://github.com/thinking-machines-lab/tinker-cookbook/tree/51d9e8226f2dcf82ceac272c734a5f6e3b4f0203/tinker_cookbook/recipes/multiplayer_rl/guess_number), however, expects you to rewrite the same logic into a callback-style `Env`, and it creates a simple loop to iterate between a language model (`TokenCompleter`) and the `Env`.
|
||||
|
||||
```python
|
||||
class GuessNumberEnv:
|
||||
def __init__(self, gold_answer: int):
|
||||
self.system_prompt: Message = {"role": "system", "content": SYSTEM_PROMPT}
|
||||
self.turns: list[Message] = []
|
||||
self.gold_answer: int = gold_answer
|
||||
|
||||
async def initial_observation(self) -> list[int]:
|
||||
return message_to_tokens(self.system_prompt)
|
||||
|
||||
async def step(self, action_tokens: list[int]) -> tuple[list[int], float, bool]:
|
||||
action_message = tokens_to_message(action_tokens)
|
||||
guessed_number = extract_number(action_message["content"])
|
||||
|
||||
if guessed_number == self.gold_answer:
|
||||
text, reward = "Correct", 1.0
|
||||
elif guessed_number < self.gold_answer:
|
||||
text, reward = "Too low", 0.0
|
||||
else:
|
||||
text, reward = "Too high", 0.0
|
||||
|
||||
self.turns.append(action_message)
|
||||
self.turns.append({"role": "assistant", "content": text})
|
||||
episode_done = reward == 1 or len(self.turns) // 2 >= MAX_TURNS
|
||||
return message_to_tokens(self.turns), reward, episode_done
|
||||
```
|
||||
|
||||
As agents grow more complex, writing them in callback style becomes increasingly painful. You have to break the control flow whenever an LLM call is required, which fragments the code and makes it harder to maintain.
|
||||
|
||||
Agent-lightning hides that translation step: you keep the first style for development and production, while the framework queues tasks to the store, rebuilds trajectories from spans, and feeds them to the training loop. This example shows how to make Tinker's original training loop work with Agent-lightning.
|
||||
|
||||
## Included files
|
||||
|
||||
| Path | Purpose |
|
||||
| ---- | ------- |
|
||||
| `hello.py` | Minimal end-to-end fine-tuning example. Trains a model to repeat small identity strings. |
|
||||
| `q20_agent.py` | CrewAI flow that powers the 20 Questions player, answerer, and mock search tool. Shared by training and evaluation. **Unrelated to Agent-lightning or Tinker.** |
|
||||
| `q20_train.py` | Reinforcement-learning driver that adapts the Cookbook loop to Agent-lightning rollouts. Supports dry-run, distributed training, and search tool toggles. **Related to both Agent-lightning and Tinker.** |
|
||||
| `q20_evaluate.py` | Offline evaluator that reuses the CrewAI flow to benchmark any OpenAI- or Qwen-backed model against the provided dataset. **Related to Tinker only.** |
|
||||
| `q20_nouns.csv` | Categories and answers used for training and validation. Contains `split` and `search_enabled` metadata. |
|
||||
| `agl_tinker/` | Bridge package for integrating Agent-lightning with Tinker (see breakdown below). |
|
||||
| `tests/test_tinker_llm.py` | Sanity tests for the custom LiteLLM provider. Run with `pytest examples/tinker/tests`. |
|
||||
| `.env.example` | Template for environment variables required by LiteLLM, CrewAI helpers, and the hosted Tinker service. |
|
||||
|
||||
`agl_tinker/` components:
|
||||
|
||||
| Path | Purpose |
|
||||
| ---- | ------- |
|
||||
| `agl_tinker/algo.py` | Agent-lightning `Algorithm` wrapper that plugs the training loop into `agl.Trainer`. |
|
||||
| `agl_tinker/env.py` | Dummy env and dataset builders that adapt Agent-lightning tasks to Tinker expectations. |
|
||||
| `agl_tinker/llm.py` | LiteLLM custom provider backed by the Tinker sampling client. |
|
||||
| `agl_tinker/rollout.py` | Span-to-trajectory reconstruction and rollout batching helpers. |
|
||||
| `agl_tinker/train.py` | RL training loop adapted from the Tinker Cookbook. |
|
||||
|
||||
## Setup
|
||||
|
||||
**1. Install dependencies.** From the repo root:
|
||||
|
||||
```bash
|
||||
uv sync --frozen --extra apo --group dev --group agents --group tinker
|
||||
```
|
||||
|
||||
If you are not using `uv`, make sure `tinker`, `tinker_cookbook`, `litellm`, `crewai`, and Agent-lightning are available in the same environment.
|
||||
|
||||
**2. Copy the environment template and fill in credentials:**
|
||||
|
||||
```bash
|
||||
cp examples/tinker/.env.example examples/tinker/.env
|
||||
```
|
||||
|
||||
- `OPENAI_API_KEY` / `OPENAI_BASE_URL`: routes helper agents (answerer, search, tool simulations) through a LiteLLM or OpenAI-compatible endpoint.
|
||||
- `TINKER_API_KEY`: required to talk to the hosted Tinker training service. Skip if you are using OpenAI models only.
|
||||
- `WANDB_API_KEY`: optional, enables Weights & Biases logging when configured in `q20_train.py`.
|
||||
- `CREWAI_DISABLE_TELEMETRY=true`: keeps CrewAI from emitting its own telemetry so that Agent-lightning tracing stays coherent.
|
||||
|
||||
3. Load the environment before running commands, e.g. `dotenv run -- <command>` or export the variables manually.
|
||||
|
||||
## Running the Hello 1024 example
|
||||
|
||||
This is the quickest way to see the integration in action. It fine-tunes a Qwen model so it introduces itself with the target identity.
|
||||
|
||||
**One-click workflow (spawns store, algorithm, and runners in a single process)**
|
||||
|
||||
```bash
|
||||
dotenv run python hello.py oneclick
|
||||
```
|
||||
|
||||
The script will pick free ports for the LiteLLM proxy and Agent-lightning store, then iterate through the synthetic dataset of identities.
|
||||
|
||||
**Distributed workflow (useful for inspecting each component)**
|
||||
|
||||
```bash
|
||||
agl store --port 4747
|
||||
dotenv run python hello.py algo
|
||||
dotenv run python hello.py runner
|
||||
```
|
||||
|
||||
Start the commands in separate terminals. The algorithm process connects to the existing store, while the runner process launches eight worker processes by default. Logs are written to `examples/tinker/logs/hello`.
|
||||
|
||||
## Training the 20 Questions agent
|
||||
|
||||
The 20 Questions setup mirrors the official Cookbook recipe but drives rollouts through the shared CrewAI flow.
|
||||
|
||||
**Dry run (in-memory store and LiteLLM proxy)**
|
||||
|
||||
```bash
|
||||
dotenv run python q20_train.py dryrun
|
||||
```
|
||||
|
||||
Useful to verify that the CrewAI flow, reward emission, and span reconstruction succeed on a handful of samples without touching the hosted Tinker service.
|
||||
|
||||
**Full distributed training**
|
||||
|
||||
```bash
|
||||
agl store --port 4747
|
||||
dotenv run python q20_train.py algo --model qwen30b --search --port 4747
|
||||
dotenv run python q20_train.py runner --port 4747 --n-runners 4
|
||||
```
|
||||
|
||||
`--model` selects the Tinker-hosted checkpoint (`qwen4b` or `qwen30b`). Add `--search` to enable the mocked search tool, which relies on the helper LLM defined in the environment variables (the example uses an LLM-powered search simulation instead of a real API). Training metrics and checkpoints are recorded under `examples/tinker/logs/q20_*`.
|
||||
|
||||
You can run additional runner processes at any time; they register with the store and start dequeuing tasks immediately.
|
||||
|
||||
## Evaluating a model on 20 Questions
|
||||
|
||||
Reuse the CrewAI flow to benchmark any OpenAI-compatible model (hosted on Tinker, OpenAI, or another LiteLLM backend):
|
||||
|
||||
```bash
|
||||
dotenv run python q20_evaluate.py \
|
||||
--model Qwen/Qwen3-30B-A3B-Instruct-2507 \
|
||||
--output-file logs/twenty_questions_results.jsonl \
|
||||
--search
|
||||
```
|
||||
|
||||
Results append to the specified JSONL file so you can compute aggregate stats later.
|
||||
|
||||
## How the bridge works
|
||||
|
||||
The `agl_tinker` package keeps the rest of the Tinker or Tinker Cookbook's codebase untouched by emulating the interfaces it expects:
|
||||
|
||||
- `AGLDatasetBuilder` and `AGLDummyEnv` wrap plain Agent-lightning datasets so batches still yield Tinker `EnvGroupBuilder` objects, even though rollouts run remotely.
|
||||
- `do_group_of_group_rollouts` (in [`rollout.py`](agl_tinker/rollout.py)) enqueues tasks to the Agent-lightning store, waits for runners to finish, then reconstructs `Trajectory` objects from span triplets collected by `TracerTraceToTriplet`.
|
||||
- `TinkerLLM` implements LiteLLM's `CustomLLM` so the training loop can update sampling clients and expose them through an OpenAI-compatible endpoint without rewriting agent code.
|
||||
- `agl_tinker.algo.Tinker` satisfies Agent-lightning's `Algorithm` contract, meaning you can launch training via `agl.Trainer` alongside other algorithms, schedulers, or resources.
|
||||
|
||||
Because spans and rewards are emitted by the same rollout function you would deploy, evaluation and production stay in sync—no separate simulator code paths to maintain.
|
||||
|
||||
## Troubleshooting tips
|
||||
|
||||
- If the runner logs show `Triplet has no token_ids`, ensure your LiteLLM proxy returns logprobs and token IDs, and that the token IDs are present in the store. The provided adapter requires them to rebuild trajectories. See the debugging tutorial for more details.
|
||||
- CrewAI telemetry must stay disabled (see `.env.example`) so AgentOps traces remain self-contained; otherwise, you may see malformed traces.
|
||||
- Tune `learning_rate`, `batch_size` and `group_size` carefully. The training is sensitive to these hyper-parameters.
|
||||
@@ -0,0 +1,86 @@
|
||||
# Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
"""Agent-lightning glue around the Tinker reinforcement-learning algorithm.
|
||||
|
||||
This implements Agent-lightning's [`Algorithm`][agentlightning.Algorithm] interface
|
||||
for quick one-click running.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
from typing import Any, Optional
|
||||
|
||||
import chz
|
||||
|
||||
from agentlightning.adapter import TracerTraceToTriplet
|
||||
from agentlightning.algorithm import Algorithm
|
||||
from agentlightning.llm_proxy import LLMProxy
|
||||
from agentlightning.types import Dataset
|
||||
|
||||
from .train import Config, main_training_loop
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class Tinker(Algorithm):
|
||||
"""A wrapper around `agl_tinker.train` that uses Agent-lightning resources.
|
||||
|
||||
Compared to the `agl_tinker.train` function, this class:
|
||||
|
||||
* Pulls the store, tracer adapter, and LiteLLM proxy from the ambient
|
||||
Agent-lightning runtime instead of constructing its own.
|
||||
* Replaces the dataset configured in ``Config`` with the datasets provided
|
||||
by Agent-lightning so existing resource loaders (e.g., `agl.Dataset`)
|
||||
keep working.
|
||||
* Ensures the adapter is `TracerTraceToTriplet` because rollouts are
|
||||
reconstructed from spans rather than via Tinker's native data construction.
|
||||
"""
|
||||
|
||||
def __init__(self, config: Config) -> None:
|
||||
"""Store the training configuration."""
|
||||
self.config = config
|
||||
|
||||
async def run(
|
||||
self, train_dataset: Optional[Dataset[Any]] = None, val_dataset: Optional[Dataset[Any]] = None
|
||||
) -> None:
|
||||
"""Execute the Tinker training loop with Agent-lightning resources.
|
||||
|
||||
Args:
|
||||
train_dataset: Dataset injected by Agent-lightning for training.
|
||||
val_dataset: Dataset injected by Agent-lightning for evaluation.
|
||||
|
||||
Raises:
|
||||
ValueError: If mandatory datasets are missing or if the adapter is
|
||||
not a [`TracerTraceToTriplet`][agentlightning.TracerTraceToTriplet] instance.
|
||||
|
||||
This mirrors `agl_tinker.train.main` but instead of launching
|
||||
a brand-new LiteLLM proxy it reuses (or lazily creates) the proxy
|
||||
managed by the Algorithm base class, so rollouts stay visible to the
|
||||
Agent-lightning store.
|
||||
"""
|
||||
if train_dataset is None or val_dataset is None:
|
||||
raise ValueError("train_dataset and val_dataset are required")
|
||||
|
||||
config = chz.replace( # type: ignore
|
||||
self.config,
|
||||
dataset_builder=chz.replace( # type: ignore
|
||||
self.config.dataset_builder, train_dataset=train_dataset, val_dataset=val_dataset
|
||||
),
|
||||
)
|
||||
|
||||
store = self.get_store()
|
||||
adapter = self.get_adapter()
|
||||
if not isinstance(adapter, TracerTraceToTriplet):
|
||||
raise ValueError("Adapter must be a TracerTraceToTriplet")
|
||||
llm_proxy = self.get_llm_proxy()
|
||||
if llm_proxy is None:
|
||||
logger.warning("No LLM proxy found, creating one for you.")
|
||||
|
||||
llm_proxy = LLMProxy(
|
||||
port=config.llm_proxy_port,
|
||||
model_list=[],
|
||||
store=store,
|
||||
)
|
||||
|
||||
await main_training_loop(config, store, adapter, llm_proxy) # type: ignore
|
||||
@@ -1,10 +1,18 @@
|
||||
# Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
"""Adapt Tinker RL environment hooks to Agent-lightning task datasets.
|
||||
|
||||
Tinker's reference implementations expect explicit `Env` objects that expose
|
||||
`initial_observation`/`step`. Agent-lightning agents already embed that
|
||||
logic inside rollouts, so this module supplies thin facades that satisfy
|
||||
Tinker's types while delegating execution back to Agent-lightning.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
from random import Random
|
||||
from typing import Generic, Optional, Sequence, TypeVar
|
||||
from typing import Generic, List, Optional, Sequence, TypeVar
|
||||
|
||||
import chz
|
||||
import pandas as pd
|
||||
@@ -27,8 +35,23 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class AGLDummyEnv(Env, Generic[T_task]):
|
||||
"""Placeholder `Env` that hands Agent-lightning tasks to the store.
|
||||
|
||||
Unlike the cookbook's real environments (see `tinker_cookbook.rl.problem_env`),
|
||||
this class never exposes observations or steps. Instead the associated task is
|
||||
pushed to the Agent-lightning store, and rollout reconstruction happens later
|
||||
via tracing data.
|
||||
|
||||
Attributes:
|
||||
task: The task data for this environment instance.
|
||||
"""
|
||||
|
||||
def __init__(self, task: T_task) -> None:
|
||||
"""Initialize the dummy environment with a task.
|
||||
|
||||
Args:
|
||||
task: The task data for this environment instance.
|
||||
"""
|
||||
self.task = task
|
||||
|
||||
async def initial_observation(self) -> tuple[Observation, StopCondition]:
|
||||
@@ -39,48 +62,139 @@ class AGLDummyEnv(Env, Generic[T_task]):
|
||||
|
||||
|
||||
class AGLDummyEnvGroupBuilder(EnvGroupBuilder, Generic[T_task]):
|
||||
"""Group builder that clones a task instead of constructing live envs.
|
||||
|
||||
The official implementation constructs independent `Env` instances with their
|
||||
own simulators. Here we simply replicate the task payload because every rollout
|
||||
will be executed remotely by Agent-lightning.
|
||||
|
||||
Attributes:
|
||||
task: The task to use for all environments in the group.
|
||||
num_envs: Number of environments to create in the group.
|
||||
"""
|
||||
|
||||
def __init__(self, task: T_task, num_envs: int) -> None:
|
||||
"""Initialize the environment group builder.
|
||||
|
||||
Args:
|
||||
task: The task to use for all environments.
|
||||
num_envs: Number of environments to create.
|
||||
"""
|
||||
self.task = task
|
||||
self.num_envs = num_envs
|
||||
|
||||
async def make_envs(self) -> Sequence[AGLDummyEnv[T_task]]:
|
||||
"""Create a sequence of dummy environments.
|
||||
|
||||
Returns:
|
||||
Sequence of AGLDummyEnv instances.
|
||||
"""
|
||||
return [AGLDummyEnv(self.task) for _ in range(self.num_envs)]
|
||||
|
||||
|
||||
class AGLDataset(RLDataset, Generic[T_task]):
|
||||
"""A dataset that produces batches of AGLDummyEnvGroupBuilder."""
|
||||
"""Wrap an Agent-lightning dataset so it looks like a Tinker `RLDataset`.
|
||||
|
||||
The cookbook's datasets usually emit prebuilt environment groups. Here we map
|
||||
each task to a `AGLDummyEnvGroupBuilder` so the training loop can keep using
|
||||
`tinker_cookbook.rl.train` utilities without touching the Agent-lightning
|
||||
rollout semantics.
|
||||
|
||||
When shuffling across multiple epochs, indices are regenerated per epoch,
|
||||
incorporating a drop-last behavior.
|
||||
|
||||
Attributes:
|
||||
dataset: The underlying Agent-lightning dataset of tasks.
|
||||
batch_size: Number of tasks per batch.
|
||||
shuffle: Whether to shuffle the dataset each epoch.
|
||||
group_size: Number of rollouts per task group.
|
||||
n_epochs: Number of training epochs.
|
||||
indices: Flattened list of dataset indices across all epochs.
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
self, dataset: Dataset[T_task], *, batch_size: int, shuffle: bool = True, group_size: int = 4, seed: int = 42
|
||||
self,
|
||||
dataset: Dataset[T_task],
|
||||
*,
|
||||
batch_size: int,
|
||||
shuffle: bool = True,
|
||||
group_size: int = 4,
|
||||
seed: int = 42,
|
||||
n_epochs: int = 1,
|
||||
) -> None:
|
||||
"""Initialize the dataset.
|
||||
|
||||
Args:
|
||||
dataset: Agent-lightning dataset of tasks.
|
||||
batch_size: Number of tasks per batch.
|
||||
shuffle: Whether to shuffle the dataset each epoch.
|
||||
group_size: Number of rollouts per task group.
|
||||
seed: Random seed for shuffling.
|
||||
n_epochs: Number of training epochs.
|
||||
"""
|
||||
self.dataset = dataset
|
||||
self.batch_size = batch_size
|
||||
self.shuffle = shuffle
|
||||
self.group_size = group_size
|
||||
self.n_epochs = n_epochs
|
||||
|
||||
self.indices: List[int] = []
|
||||
if shuffle:
|
||||
self.indices = list(range(len(self.dataset)))
|
||||
Random(seed).shuffle(self.indices)
|
||||
random_state = Random(seed)
|
||||
for _ in range(n_epochs):
|
||||
indices = list(range(len(self.dataset)))
|
||||
random_state.shuffle(indices)
|
||||
# Drop last for each epoch
|
||||
self.indices.extend(indices[: len(indices) - len(indices) % self.batch_size])
|
||||
else:
|
||||
self.indices = list(range(len(self.dataset)))
|
||||
for _ in range(n_epochs):
|
||||
self.indices.extend(list(range(len(self.dataset))))
|
||||
|
||||
def get_batch(self, index: int) -> Sequence[AGLDummyEnvGroupBuilder[T_task]]:
|
||||
"""Get a batch of environment group builders.
|
||||
|
||||
Args:
|
||||
index: Batch index.
|
||||
|
||||
Returns:
|
||||
Sequence of AGLDummyEnvGroupBuilder instances for the batch.
|
||||
"""
|
||||
start_index = index * self.batch_size
|
||||
end_index = min((index + 1) * self.batch_size, len(self.dataset))
|
||||
end_index = min((index + 1) * self.batch_size, len(self.indices))
|
||||
return [
|
||||
AGLDummyEnvGroupBuilder(self.dataset[self.indices[i]], self.group_size)
|
||||
for i in range(start_index, end_index)
|
||||
]
|
||||
|
||||
def __len__(self) -> int:
|
||||
return len(self.dataset) // self.batch_size
|
||||
return len(self.indices) // self.batch_size
|
||||
|
||||
|
||||
@chz.chz
|
||||
class AGLDatasetBuilder(RLDatasetBuilder, Generic[T_task]):
|
||||
"""Dataset builder that mirrors ``tinker_cookbook.rl.train.Config`` expectations.
|
||||
|
||||
Compared with the official builder (which reads project-specific formats),
|
||||
this util works directly with Agent-lightning `Dataset` objects or tabular
|
||||
files sitting next to the example. The resulting `AGLDataset` keeps the same
|
||||
knobs the cookbook relies on (batch size, epoch count, shuffling) while making
|
||||
it trivial to plug in in-memory task lists.
|
||||
|
||||
Attributes:
|
||||
batch_size: Number of tasks per batch.
|
||||
n_epochs: Number of training epochs.
|
||||
train_file: Optional path to training data file.
|
||||
val_file: Optional path to validation data file.
|
||||
train_dataset: Optional in-memory training dataset.
|
||||
val_dataset: Optional in-memory validation dataset.
|
||||
train_val_split: Fraction of data to use for training.
|
||||
shuffle: Whether to shuffle the dataset.
|
||||
group_size: Number of rollouts per task group.
|
||||
seed: Random seed for shuffling.
|
||||
"""
|
||||
|
||||
batch_size: int
|
||||
n_epochs: int = 1
|
||||
train_file: Optional[str] = None
|
||||
val_file: Optional[str] = None
|
||||
train_dataset: Optional[Dataset[T_task]] = None
|
||||
@@ -105,6 +219,14 @@ class AGLDatasetBuilder(RLDatasetBuilder, Generic[T_task]):
|
||||
raise ValueError(f"Unsupported file type: {file}")
|
||||
|
||||
async def __call__(self) -> tuple[AGLDataset[T_task], AGLDataset[T_task]]:
|
||||
"""Build and return train and validation datasets.
|
||||
|
||||
Returns:
|
||||
Tuple of (train_dataset, val_dataset).
|
||||
|
||||
Raises:
|
||||
ValueError: If no training dataset is provided.
|
||||
"""
|
||||
if self.train_file is not None:
|
||||
train_dataset = self._read_file(self.train_file)
|
||||
elif self.train_dataset is not None:
|
||||
@@ -126,13 +248,15 @@ class AGLDatasetBuilder(RLDatasetBuilder, Generic[T_task]):
|
||||
len(train_indices),
|
||||
len(val_indices),
|
||||
)
|
||||
train_dataset = [train_dataset[i] for i in train_indices]
|
||||
val_dataset = [train_dataset[i] for i in val_indices]
|
||||
splitted_train_dataset = [train_dataset[i] for i in train_indices]
|
||||
splitted_val_dataset = [train_dataset[i] for i in val_indices]
|
||||
train_dataset, val_dataset = splitted_train_dataset, splitted_val_dataset
|
||||
|
||||
return (
|
||||
AGLDataset(
|
||||
train_dataset,
|
||||
batch_size=self.batch_size,
|
||||
n_epochs=self.n_epochs,
|
||||
shuffle=self.shuffle,
|
||||
group_size=self.group_size,
|
||||
seed=self.seed,
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
# Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
"""LLM proxy utilities for Agent-lightning with Tinker.
|
||||
|
||||
This module provides a custom LLM implementation that bridges LiteLLM with Tinker's
|
||||
sampling client, enabling fine-tuned model serving through Agent-lightning.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
import uuid
|
||||
from typing import Any, Callable, Dict, List, Literal, Type, TypeGuard, TypeVar, cast
|
||||
from typing import Any, Callable, Dict, List, Literal, Optional, Type, TypeGuard, TypeVar, cast
|
||||
|
||||
import litellm
|
||||
import tinker
|
||||
@@ -20,9 +26,11 @@ from tinker.types import ModelInput, SampleResponse, SamplingParams
|
||||
from tinker_cookbook.renderers import Message as TinkerMessage
|
||||
from tinker_cookbook.renderers import Renderer
|
||||
from tinker_cookbook.renderers import ToolCall as TinkerToolCall
|
||||
from transformers import PreTrainedTokenizer
|
||||
from tinker_cookbook.renderers import get_renderer
|
||||
from transformers import AutoTokenizer, PreTrainedTokenizer
|
||||
|
||||
from agentlightning.llm_proxy import ModelConfig
|
||||
from agentlightning.llm_proxy import LLMProxy, ModelConfig
|
||||
from agentlightning.store import LightningStore
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -30,10 +38,39 @@ T = TypeVar("T")
|
||||
|
||||
|
||||
def generate_id(prefix: str) -> str:
|
||||
"""Generate a unique ID with the given prefix.
|
||||
|
||||
Args:
|
||||
prefix: String prefix for the generated ID.
|
||||
|
||||
Returns:
|
||||
A unique identifier string.
|
||||
"""
|
||||
return prefix + str(uuid.uuid4())
|
||||
|
||||
|
||||
class TinkerLLM(CustomLLM):
|
||||
"""LiteLLM provider that proxies Tinker's sampling client.
|
||||
|
||||
The cookbook exposes fine-tuned models through `TinkerTokenCompleter` (a
|
||||
lightweight callable). Agent-lightning needs a persistent LiteLLM endpoint,
|
||||
so that agent developers can still reuse the same agent code without changes.
|
||||
|
||||
This class rewraps the sampling client to satisfy LiteLLM's `CustomLLM`
|
||||
protocol while keeping Tinker's renderer/tokenizer pipeline intact.
|
||||
|
||||
Attributes:
|
||||
model_name: The HuggingFace model identifier.
|
||||
renderer: Prompt renderer for formatting messages.
|
||||
tokenizer: Tokenizer for the model.
|
||||
sampling_client: Tinker sampling client for generation.
|
||||
max_tokens: Maximum number of tokens to generate.
|
||||
temperature: Sampling temperature.
|
||||
top_k: Top-k sampling parameter.
|
||||
top_p: Nucleus sampling parameter.
|
||||
seed: Random seed for reproducibility.
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
@@ -47,6 +84,7 @@ class TinkerLLM(CustomLLM):
|
||||
top_p: float = 1.0,
|
||||
seed: int = 42,
|
||||
) -> None:
|
||||
"""Initialize the TinkerLLM."""
|
||||
self.model_name = model_name
|
||||
self.renderer = renderer
|
||||
self.tokenizer = tokenizer
|
||||
@@ -58,6 +96,11 @@ class TinkerLLM(CustomLLM):
|
||||
self.seed = seed
|
||||
|
||||
def update_sampling_client(self, sampling_client: tinker.SamplingClient) -> None:
|
||||
"""Update the sampling client used for generation.
|
||||
|
||||
Args:
|
||||
sampling_client: New Tinker sampling client to use.
|
||||
"""
|
||||
self.sampling_client = sampling_client
|
||||
|
||||
def _validate_messages(self, messages: Any) -> TypeGuard[List[TinkerMessage]]:
|
||||
@@ -104,6 +147,7 @@ class TinkerLLM(CustomLLM):
|
||||
return default_value
|
||||
|
||||
def _prepare_model_input(self, **kwargs: Any) -> ModelInput:
|
||||
"""LiteLLM messages -> Tinker ModelInput."""
|
||||
messages = kwargs.pop("messages", None)
|
||||
if self._validate_messages(messages):
|
||||
return self.renderer.build_generation_prompt(messages)
|
||||
@@ -111,6 +155,10 @@ class TinkerLLM(CustomLLM):
|
||||
assert False, "This should never happen"
|
||||
|
||||
def _parse_response(self, model_input: ModelInput, response: SampleResponse) -> ModelResponse:
|
||||
"""Tinker Response -> LiteLLM Response.
|
||||
|
||||
Extract log probabilities as well.
|
||||
"""
|
||||
choices: List[Choices] = []
|
||||
for seq in response.sequences:
|
||||
if seq.logprobs is not None:
|
||||
@@ -165,6 +213,7 @@ class TinkerLLM(CustomLLM):
|
||||
)
|
||||
|
||||
async def acompletion(self, **kwargs: Any) -> ModelResponse: # type: ignore
|
||||
"""Main entrypoint for LiteLLM to call."""
|
||||
max_tokens = self._get_optional_params(
|
||||
kwargs, ["max_completion_tokens", "max_tokens"], int, lambda x: x >= 0, self.max_tokens
|
||||
)
|
||||
@@ -188,6 +237,11 @@ class TinkerLLM(CustomLLM):
|
||||
return final_response
|
||||
|
||||
def as_model_list(self) -> List[ModelConfig]:
|
||||
"""Generate model configuration for LiteLLM proxy.
|
||||
|
||||
Returns:
|
||||
List containing model configuration dict for LiteLLM.
|
||||
"""
|
||||
return [
|
||||
{
|
||||
"model_name": self.model_name,
|
||||
@@ -198,7 +252,56 @@ class TinkerLLM(CustomLLM):
|
||||
]
|
||||
|
||||
def rewrite_litellm_custom_providers(self) -> TinkerLLM:
|
||||
"""Update the custom provider map within LiteLLM."""
|
||||
"""Register this TinkerLLM as a custom provider in LiteLLM.
|
||||
|
||||
!!! warning
|
||||
This method modifies the global LiteLLM state, which could interfere with other tests in the
|
||||
same process.
|
||||
|
||||
Returns:
|
||||
Self for method chaining.
|
||||
"""
|
||||
litellm.custom_provider_map = [{"provider": "agl-tinker", "custom_handler": self}]
|
||||
custom_llm_setup()
|
||||
return self
|
||||
|
||||
|
||||
def create_llm_proxy(
|
||||
model_name: str,
|
||||
renderer_name: str,
|
||||
port: int = 1899,
|
||||
store: Optional[LightningStore] = None,
|
||||
_add_return_token_ids: bool = True,
|
||||
) -> LLMProxy:
|
||||
"""Create an LLMProxy configured for a Tinker-based model.
|
||||
|
||||
The Tinker Cookbook typically hands a `TinkerTokenCompleter` straight to
|
||||
the trainer. Here we build the longer chain required by Agent-lightning:
|
||||
Tinker sampling client -> `TinkerLLM` custom provider -> LiteLLM -> LLMProxy.
|
||||
|
||||
Args:
|
||||
model_name: HuggingFace model identifier (e.g., "Qwen/Qwen3-30B-A3B-Instruct-2507").
|
||||
renderer_name: Renderer type for prompt formatting (e.g., "qwen3", "qwen3_instruct").
|
||||
port: Port to expose the LiteLLM proxy. Defaults to 1899.
|
||||
store: Optional Lightning store for tracking usage. Defaults to None.
|
||||
|
||||
Returns:
|
||||
Configured LLMProxy instance ready to serve the model.
|
||||
"""
|
||||
service_client = tinker.ServiceClient()
|
||||
sampling_client = service_client.create_sampling_client(base_model=model_name)
|
||||
tokenizer = cast(PreTrainedTokenizer, AutoTokenizer.from_pretrained(model_name)) # type: ignore
|
||||
tinker_llm = TinkerLLM(
|
||||
model_name=model_name,
|
||||
sampling_client=sampling_client,
|
||||
renderer=get_renderer(renderer_name, tokenizer),
|
||||
tokenizer=tokenizer,
|
||||
)
|
||||
tinker_llm.rewrite_litellm_custom_providers()
|
||||
return LLMProxy(
|
||||
port=port,
|
||||
store=store,
|
||||
model_list=tinker_llm.as_model_list(),
|
||||
num_retries=2,
|
||||
_add_return_token_ids=_add_return_token_ids,
|
||||
)
|
||||
|
||||
@@ -1,12 +1,21 @@
|
||||
# Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
"""Agent-lightning rollouts that mimic Tinker's RL sampling utilities.
|
||||
|
||||
The stock Tinker Cookbook drives rollouts by directly stepping environments
|
||||
(`tinker_cookbook.rl.rollouts`). In Agent-lightning the agent logic already
|
||||
lives inside the rollout worker, so this module reconstructs trajectories from
|
||||
stored traces and exposes helpers that keep the rest of the Tinker training loop
|
||||
unchanged.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import asyncio
|
||||
import itertools
|
||||
import logging
|
||||
import random
|
||||
from typing import Any, Generic, List, Sequence, TypeVar, cast
|
||||
from typing import Any, Dict, Generic, List, Sequence, Tuple, TypeVar, cast
|
||||
|
||||
from tinker.types import ModelInput
|
||||
from tinker_cookbook.completers import TokensWithLogprobs
|
||||
@@ -19,9 +28,8 @@ from tinker_cookbook.rl.types import (
|
||||
)
|
||||
from tinker_cookbook.utils.trace import scope
|
||||
|
||||
from agentlightning import LightningStore, Span, TraceToTripletBase
|
||||
from agentlightning import LightningStore, Rollout, RolloutMode, RolloutStatus, Span, TraceToTripletBase
|
||||
from agentlightning import Triplet as AGLTriplet
|
||||
from agentlightning.types.core import RolloutMode
|
||||
|
||||
from .env import AGLDataset, AGLDummyEnv, AGLDummyEnvGroupBuilder
|
||||
|
||||
@@ -32,38 +40,38 @@ T_task = TypeVar("T_task")
|
||||
WAIT_FOR_ROLLOUTS_INTERVAL = 5.0
|
||||
|
||||
|
||||
def reconstruct_transitions(
|
||||
spans: List[Span], adapter: TraceToTripletBase, rollout_id: str, identical_credit_assignment: bool = True
|
||||
) -> Trajectory:
|
||||
"""Reconstruct the transitions from the spans.
|
||||
def reconstruct_transitions(spans: List[Span], adapter: TraceToTripletBase, rollout_id: str) -> Trajectory:
|
||||
"""Convert Agent-lightning spans into a Tinker `Trajectory`.
|
||||
|
||||
This function infers observations, actions, and rewards from the trace triplets emitted by Agent-lightning's
|
||||
instrumentation.
|
||||
|
||||
Args:
|
||||
spans: The spans to reconstruct the transitions from.
|
||||
adapter: The adapter to use to reconstruct the transitions.
|
||||
rollout_id: The ID of the rollout.
|
||||
identical_credit_assignment: Whether to assign the reward from later triplets to earlier triplets.
|
||||
See [Agent-lightning's paper](https://arxiv.org/abs/2508.03680) for details.
|
||||
spans: Span records collected for a single rollout.
|
||||
adapter: Triplet adapter used to convert spans into model IO pairs.
|
||||
rollout_id: Identifier used for logging context.
|
||||
|
||||
Returns:
|
||||
Tinker trajectory.
|
||||
Tinker trajectory assembled from the span data.
|
||||
"""
|
||||
triplets: List[AGLTriplet] = adapter.adapt(spans)
|
||||
# We need to reconstruct the input and output tokens (+logprobs) from the triplets
|
||||
transitions: list[Transition] = []
|
||||
|
||||
# Initialize to a non-zero reward
|
||||
last_reward: float = 0.0
|
||||
|
||||
for i_triplet, triplet in reversed(list(enumerate(triplets))):
|
||||
if "token_ids" not in triplet.prompt or "token_ids" not in triplet.response:
|
||||
logger.error(f"[Rollout {rollout_id}] Triplet has no token_ids: {triplet}")
|
||||
logger.error(f"[Rollout {rollout_id}] Triplet has no token_ids: {triplet}. Skipping.")
|
||||
continue
|
||||
# TODO: Sometimes triplet.prompt is an empty list. This might be a bug with the adapter.
|
||||
if not triplet.prompt["token_ids"] or not triplet.response["token_ids"]:
|
||||
logger.warning(f"[Rollout {rollout_id}] Triplet has empty token_ids: {triplet}. Skipping.")
|
||||
continue
|
||||
# Getting the input and output tokens from the triplet
|
||||
input_tokens = ModelInput.from_ints(triplet.prompt["token_ids"])
|
||||
output_tokens = triplet.response["token_ids"]
|
||||
# Logprobs sometimes are available too.
|
||||
if "logprobs" not in triplet.response:
|
||||
logger.warning(f"[Rollout {rollout_id}] Triplet has no logprobs: {triplet}")
|
||||
logger.error(f"[Rollout {rollout_id}] Triplet has token_ids but no logprobs: {triplet}")
|
||||
logprobs = None
|
||||
else:
|
||||
logprobs = [prob["logprob"] for prob in triplet.response["logprobs"]]
|
||||
@@ -75,28 +83,26 @@ def reconstruct_transitions(
|
||||
logprobs = None
|
||||
output_tokens_with_logprobs = TokensWithLogprobs(tokens=output_tokens, maybe_logprobs=logprobs)
|
||||
|
||||
if triplet.reward is None:
|
||||
if identical_credit_assignment:
|
||||
# takes from the next non-null reward
|
||||
this_reward = last_reward
|
||||
else:
|
||||
# Assume it to be zero
|
||||
this_reward = 0.0
|
||||
else:
|
||||
this_reward = triplet.reward
|
||||
# Log extra metrics for the reward in final step
|
||||
metrics: Dict[str, float] = {}
|
||||
if triplet.reward is not None and i_triplet + 1 == len(triplets):
|
||||
metrics["reward/final_step"] = triplet.reward
|
||||
metrics["reward/not_null"] = 1.0 if triplet.reward is not None else 0.0
|
||||
|
||||
# TODO: The logic below might cause failed rollouts to be treated as rollouts with 0 reward.
|
||||
# We log that at the moment, but we should consider a better way to handle this.
|
||||
transitions.append(
|
||||
Transition(
|
||||
ob=input_tokens,
|
||||
ac=output_tokens_with_logprobs,
|
||||
reward=this_reward,
|
||||
# For no-reward, we fill it with 0.0.
|
||||
# Later, this step is not taken into trajectory-level advantage calculation.
|
||||
reward=triplet.reward if triplet.reward is not None else 0.0,
|
||||
episode_done=i_triplet + 1 == len(triplets),
|
||||
metrics=metrics,
|
||||
)
|
||||
)
|
||||
|
||||
if identical_credit_assignment and triplet.reward is not None:
|
||||
last_reward = triplet.reward
|
||||
|
||||
# The final observation is empty input tokens
|
||||
return Trajectory(transitions=transitions[::-1], final_ob=ModelInput.from_ints([]))
|
||||
|
||||
@@ -108,14 +114,28 @@ async def agl_single_rollout(
|
||||
store: LightningStore,
|
||||
adapter: TraceToTripletBase,
|
||||
mode: RolloutMode,
|
||||
) -> Trajectory:
|
||||
"""Under Agent-lightning, there is no such thing as a "env".
|
||||
The "env" here is a simple wrapper around a task.
|
||||
) -> Tuple[Rollout, Trajectory]:
|
||||
"""Run one Agent-lightning rollout and reconstruct its trajectory.
|
||||
|
||||
The official cookbook performs synchronous env stepping. Here we poll the
|
||||
Agent-lightning store until the remote runner finishes, then rebuild the
|
||||
trajectory from spans so downstream Tinker utilities can treat the result as
|
||||
if it came from the original `do_single_rollout`.
|
||||
|
||||
Args:
|
||||
llm_resources_id: Resource bundle identifier returned by Agent-lightning store.
|
||||
env: Wrapper containing the task payload.
|
||||
store: Agent-lightning store used to enqueue and hydrate rollouts.
|
||||
adapter: Triplet adapter for turning spans into trajectories.
|
||||
mode: Rollout mode (`"train"` or `"val"`) used for logging.
|
||||
|
||||
Returns:
|
||||
A tuple of the completed rollout metadata and the reconstructed trajectory.
|
||||
"""
|
||||
rollout = await store.enqueue_rollout(env.task, mode=mode, resources_id=llm_resources_id)
|
||||
rollout_partial = await store.enqueue_rollout(env.task, mode=mode, resources_id=llm_resources_id)
|
||||
|
||||
while True:
|
||||
completed_rollout = await store.get_rollout_by_id(rollout.rollout_id)
|
||||
completed_rollout = await store.get_rollout_by_id(rollout_partial.rollout_id)
|
||||
if completed_rollout is not None and completed_rollout.status in ["succeeded", "failed", "cancelled"]:
|
||||
break
|
||||
|
||||
@@ -126,31 +146,32 @@ async def agl_single_rollout(
|
||||
await asyncio.sleep(WAIT_FOR_ROLLOUTS_INTERVAL * jitter)
|
||||
|
||||
if completed_rollout.status != "succeeded":
|
||||
logger.error(f"[Rollout {rollout.rollout_id}] Failed with status {completed_rollout.status}")
|
||||
logger.error(f"[Rollout {completed_rollout.rollout_id}] Failed with status {completed_rollout.status}")
|
||||
else:
|
||||
logger.debug(
|
||||
f"[Rollout {rollout.rollout_id}] Rollout succeeded under "
|
||||
f"[Rollout {completed_rollout.rollout_id}] Rollout succeeded under "
|
||||
f"{cast(float, completed_rollout.end_time) - completed_rollout.start_time:.2f} seconds"
|
||||
)
|
||||
|
||||
spans = await store.query_spans(rollout.rollout_id, "latest")
|
||||
spans = await store.query_spans(completed_rollout.rollout_id, "latest")
|
||||
if not spans:
|
||||
logger.error(f"[Rollout {rollout.rollout_id}] No spans found. Return an empty trajectory.")
|
||||
return Trajectory(transitions=[], final_ob=ModelInput.from_ints([]))
|
||||
logger.error(f"[Rollout {completed_rollout.rollout_id}] No spans found. Return an empty trajectory.")
|
||||
return completed_rollout, Trajectory(transitions=[], final_ob=ModelInput.from_ints([]))
|
||||
|
||||
triplets = adapter.adapt(spans)
|
||||
logger.debug(
|
||||
f"[Rollout {rollout.rollout_id}] Adapted {len(triplets)} triplets from {len(spans)} spans. "
|
||||
f"[Rollout {completed_rollout.rollout_id}] Adapted {len(triplets)} triplets from {len(spans)} spans. "
|
||||
f"Rewards are: {[t.reward for t in triplets]}"
|
||||
)
|
||||
|
||||
# Converting triplets to Tinker transitions
|
||||
reconstructed = reconstruct_transitions(spans, adapter, rollout.rollout_id)
|
||||
# Always do this no matter the rollout status is succeeded or not.
|
||||
reconstructed = reconstruct_transitions(spans, adapter, completed_rollout.rollout_id)
|
||||
logger.info(
|
||||
f"[Rollout {rollout.rollout_id}] Reconstructed {len(reconstructed.transitions)} transitions from {len(spans)} spans. "
|
||||
f"Rewards are: {[r.reward for r in reconstructed.transitions]}"
|
||||
f"[Rollout {completed_rollout.rollout_id}] Reconstructed {len(reconstructed.transitions)} transitions from {len(spans)} spans. "
|
||||
f"Rewards are: {[r.reward for r in reconstructed.transitions]} (raw triplets rewards: {[t.reward for t in triplets]})"
|
||||
)
|
||||
return reconstructed
|
||||
return completed_rollout, reconstructed
|
||||
|
||||
|
||||
@scope
|
||||
@@ -165,12 +186,28 @@ async def do_group_of_group_rollouts(
|
||||
do_remove_constant_reward_groups: bool = False,
|
||||
concurrency: int = 16,
|
||||
) -> List[TrajectoryGroup]:
|
||||
"""
|
||||
Run rollouts for multiple env groups with a global concurrency limit that controls
|
||||
how many agl_single_rollout tasks may run at once (across *all* groups).
|
||||
"""Sample many Agent-lightning tasks while mimicking Tinker's batching.
|
||||
|
||||
Returns a list of TrajectoryGroup objects (one per env_group_builder), optionally
|
||||
filtered to remove groups whose trajectories all have the same reward.
|
||||
The reference implementation launches one coroutine per environment and gathers
|
||||
on the spot. We preserve the interface but interpose a semaphore because each
|
||||
Agent-lightning rollout is a remote job whose lifetime we control via the store.
|
||||
|
||||
Args:
|
||||
env_group_builders_P: Builders describing each rollout group.
|
||||
llm_resources_id: Identifier for the LiteLLM resources registered in the store.
|
||||
i_batch: Training batch index (used for logging).
|
||||
store: Agent-lightning store used to run rollouts.
|
||||
adapter: Triplet adapter for span reconstruction.
|
||||
mode: Rollout mode label (`"train"`/`"val"`).
|
||||
do_remove_constant_reward_groups: Whether to drop groups where every rollout
|
||||
returns the same reward, matching the cookbook's helper.
|
||||
concurrency: Maximum number of simultaneous rollouts across all groups.
|
||||
This limits the queue length. The actually running rollouts are further
|
||||
limited by the concurrency of Agent-lightning runners.
|
||||
|
||||
Returns:
|
||||
Trajectory groups aligned with many calls of `do_group_rollout_and_filter_constant_reward`
|
||||
in Tinker's cookbook.
|
||||
"""
|
||||
# 1) Build all envs upfront (does not consume concurrency).
|
||||
groups_envs: List[Sequence[AGLDummyEnv[Any]]] = []
|
||||
@@ -187,7 +224,7 @@ async def do_group_of_group_rollouts(
|
||||
sem = asyncio.Semaphore(concurrency)
|
||||
|
||||
# 3) For each env in each group, prepare a task that respects the semaphore.
|
||||
async def run_single_with_limit(env: AGLDummyEnv[Any]) -> Trajectory:
|
||||
async def run_single_with_limit(env: AGLDummyEnv[Any]) -> Tuple[Rollout, Trajectory]:
|
||||
async with sem:
|
||||
return await agl_single_rollout(
|
||||
llm_resources_id,
|
||||
@@ -198,7 +235,7 @@ async def do_group_of_group_rollouts(
|
||||
)
|
||||
|
||||
# We keep tasks organized per group so we can compute group rewards afterward.
|
||||
per_group_tasks: List[List[asyncio.Task[Trajectory]]] = []
|
||||
per_group_tasks: List[List[asyncio.Task[Tuple[Rollout, Trajectory]]]] = []
|
||||
for group_idx, envs in enumerate(groups_envs):
|
||||
tasks = [asyncio.create_task(run_single_with_limit(env)) for env in envs]
|
||||
per_group_tasks.append(tasks)
|
||||
@@ -206,11 +243,29 @@ async def do_group_of_group_rollouts(
|
||||
# 4) Await all groups, but still allow interleaving via the shared semaphore.
|
||||
trajectory_groups: List[TrajectoryGroup] = []
|
||||
for group_idx, (builder, tasks) in enumerate(zip(env_group_builders_P, per_group_tasks)):
|
||||
trajectories_G = await asyncio.gather(*tasks)
|
||||
rollouts_and_trajectories_G = await asyncio.gather(*tasks)
|
||||
rollouts_G, trajectories_G = cast(
|
||||
Tuple[List[Rollout], List[Trajectory]], zip(*rollouts_and_trajectories_G, strict=True)
|
||||
)
|
||||
# Compute rewards/metrics for this group.
|
||||
rewards_and_metrics_G = await builder.compute_group_rewards(trajectories_G)
|
||||
rewards_G, metrics_G = zip(*rewards_and_metrics_G, strict=True)
|
||||
tg = TrajectoryGroup(trajectories_G, list(rewards_G), list(metrics_G))
|
||||
|
||||
# Attach AGL-specific metrics for error handling.
|
||||
metrics_agl: Dict[str, float | int] = {}
|
||||
metrics_agl["by_group/frac_empty_traj"] = sum(1 for traj in trajectories_G if not traj.transitions) / len(
|
||||
trajectories_G
|
||||
)
|
||||
completed_statuses: List[RolloutStatus] = ["succeeded", "failed", "cancelled"]
|
||||
for status in completed_statuses:
|
||||
metrics_agl[f"by_group/frac_status_{status}"] = sum(
|
||||
1 if rollout.status == status else 0 for rollout in rollouts_G
|
||||
) / len(trajectories_G)
|
||||
metrics_agl["by_group/frac_status_others"] = sum(
|
||||
1 if rollout.status not in completed_statuses else 0 for rollout in rollouts_G
|
||||
) / len(trajectories_G)
|
||||
|
||||
tg = TrajectoryGroup(trajectories_G, list(rewards_G), list(metrics_G) + [metrics_agl])
|
||||
trajectory_groups.append(tg)
|
||||
logger.info(
|
||||
f"[Batch {i_batch} {mode}] [Group {group_idx}] Completed {len(trajectories_G)} trajectories; "
|
||||
@@ -230,14 +285,29 @@ async def do_group_of_group_rollouts(
|
||||
|
||||
|
||||
def dataset_to_env_group_builders(dataset: AGLDataset[T_task]) -> list[AGLDummyEnvGroupBuilder[T_task]]:
|
||||
"""
|
||||
Get the whole dataset as a list of env group builders.
|
||||
"""Expand an `AGLDataset` into the env builders the cookbook expects.
|
||||
|
||||
Tinker's evaluation helpers iterate over a flat list of `EnvGroupBuilder`
|
||||
instances, so this convenience method converts every batch produced by the
|
||||
Agent-lightning dataset back into that format.
|
||||
|
||||
Args:
|
||||
dataset: Dataset that yields batches of Agent-lightning group builders.
|
||||
|
||||
Returns:
|
||||
List of group builders mirroring what `RLTestSetEvaluator` consumes.
|
||||
"""
|
||||
return list(itertools.chain(*[dataset.get_batch(i) for i in range(len(dataset))]))
|
||||
|
||||
|
||||
class AGLTestSetEvaluator(Generic[T_task]):
|
||||
"""Run an evaluation on a test set."""
|
||||
"""Agent-lightning analogue of `RLTestSetEvaluator`.
|
||||
|
||||
The official evaluator expects to call `do_group_rollout` with a token
|
||||
completer. Here we reuse `do_group_of_group_rollouts` so the same
|
||||
agents that train the policy can evaluate it, while keeping the downstream
|
||||
metric computation identical.
|
||||
"""
|
||||
|
||||
def __init__(self, dataset: AGLDataset[T_task], name: str | None = None):
|
||||
self.env_group_builders_P = dataset_to_env_group_builders(dataset)
|
||||
@@ -246,6 +316,19 @@ class AGLTestSetEvaluator(Generic[T_task]):
|
||||
async def __call__(
|
||||
self, llm_resources_id: str, store: LightningStore, adapter: TraceToTripletBase, mode: RolloutMode, i_batch: int
|
||||
) -> dict[str, float]:
|
||||
"""Generate rollouts for the test set and aggregate trajectory metrics.
|
||||
|
||||
Args:
|
||||
llm_resources_id: Resource bundle identifier to use during rollouts.
|
||||
store: Agent-lightning store to enqueue evaluation rollouts.
|
||||
adapter: Triplet adapter used to reconstruct trajectories.
|
||||
mode: Rollout mode label (``"train"`` or ``"val"``).
|
||||
i_batch: Training batch index used for logging context.
|
||||
|
||||
Returns:
|
||||
Mapping of metric names to computed values, optionally namespaced by
|
||||
the evaluator name provided at construction time.
|
||||
"""
|
||||
trajectory_groups_P = await do_group_of_group_rollouts(
|
||||
self.env_group_builders_P,
|
||||
llm_resources_id,
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
# Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
"""RL training main loop with Tinker API.
|
||||
"""RL training main loop that threads Tinker into Agent-lightning.
|
||||
|
||||
This script is based on Tinker Cookbook's [`rl_train.py` script](https://github.com/thinking-machines-lab/tinker-cookbook/blob/9b2af83cb62b9c4e8325a0efab71429e5aedf289/tinker_cookbook/rl/train.py),
|
||||
with modifications on how the rollout is collected.
|
||||
|
||||
Environments are not used at all because Agent-lightning handles "environment" has part of user agent's logic.
|
||||
This module closely follows the Tinker Cookbook's
|
||||
[`rl/train.py`](https://github.com/thinking-machines-lab/tinker-cookbook/blob/9b2af83cb62b9c4e8325a0efab71429e5aedf289/tinker_cookbook/rl/train.py)
|
||||
but swaps the rollout collection strategy: instead of stepping environments,
|
||||
we enqueue Agent-lightning tasks and reconstruct trajectories from spans. The
|
||||
user-defined agent therefore owns the environment logic.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
@@ -14,34 +15,29 @@ import asyncio
|
||||
import logging
|
||||
import os
|
||||
import time
|
||||
from typing import Any, Literal, Sequence
|
||||
from typing import Any, Literal
|
||||
|
||||
import chz
|
||||
import tinker
|
||||
from tinker_cookbook import checkpoint_utils
|
||||
from tinker_cookbook.renderers import get_renderer
|
||||
from tinker_cookbook.rl.data_processing import (
|
||||
assemble_training_data,
|
||||
compute_advantages,
|
||||
)
|
||||
from tinker_cookbook.rl.metric_util import compute_trajectory_metrics
|
||||
from tinker_cookbook.rl.metrics import incorporate_kl_penalty
|
||||
from tinker_cookbook.rl.train import (
|
||||
compute_full_batch_metrics_and_get_sampling_client,
|
||||
print_group,
|
||||
do_train_step_and_get_sampling_client,
|
||||
save_checkpoint_and_get_sampling_client,
|
||||
train_step,
|
||||
)
|
||||
from tinker_cookbook.rl.types import (
|
||||
EnvGroupBuilder,
|
||||
TrajectoryGroup,
|
||||
)
|
||||
from tinker_cookbook.tokenizer_utils import Tokenizer
|
||||
from tinker_cookbook.utils import ml_log
|
||||
from tinker_cookbook.utils.misc_utils import timed
|
||||
from tinker_cookbook.utils.trace import get_scope_context, scope, trace_init
|
||||
from tinker_cookbook.utils.trace import scope, trace_init
|
||||
|
||||
from agentlightning import LightningStore, LightningStoreClient, LLMProxy, TracerTraceToTriplet, TraceToTripletBase
|
||||
from agentlightning import (
|
||||
LightningStore,
|
||||
LightningStoreClient,
|
||||
LLMProxy,
|
||||
LlmProxyTraceToTriplet,
|
||||
TracerTraceToTriplet,
|
||||
TraceToTripletBase,
|
||||
)
|
||||
|
||||
from .env import AGLDataset, AGLDatasetBuilder
|
||||
from .llm import TinkerLLM
|
||||
@@ -52,6 +48,16 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
@chz.chz
|
||||
class Config:
|
||||
"""Configuration for Tinker RL training with Agent-lightning.
|
||||
|
||||
Compared with `tinker_cookbook.rl.train.Config` this dataclass:
|
||||
|
||||
* Pins `dataset_builder` to `AGLDatasetBuilder` so minibatches emit
|
||||
Agent-lightning tasks rather than real Tinker environments.
|
||||
* Adds Agent-lightning specific knobs (`store_address`, `adapter_from_llm_proxy`,
|
||||
`llm_proxy_retry_attempts`) that drive how rollouts are queued and traced.
|
||||
"""
|
||||
|
||||
learning_rate: float
|
||||
dataset_builder: AGLDatasetBuilder[Any] # also determines batch size
|
||||
model_name: str
|
||||
@@ -65,13 +71,18 @@ class Config:
|
||||
|
||||
# Sampling parameters
|
||||
max_tokens: int = 2048
|
||||
temperature: float = 1.0
|
||||
train_temperature: float = 1.0
|
||||
eval_temperature: float = 1.0
|
||||
top_k: int = -1
|
||||
top_p: float = 1.0
|
||||
|
||||
# Agent-lightning parameters (only used in when running standalone)
|
||||
store_address: str = "http://localhost:4747"
|
||||
# Using tracing data from LLM proxy instead of client-side tracer
|
||||
# When this is true, adapter_agent_match is ignored
|
||||
adapter_from_llm_proxy: bool = False
|
||||
adapter_agent_match: str | None = None
|
||||
llm_proxy_retry_attempts: int = 0
|
||||
|
||||
# Concurrency parameters (mainly for controlling max queue length)
|
||||
concurrency: int = 16
|
||||
@@ -96,96 +107,6 @@ class Config:
|
||||
load_checkpoint_path: str | None = None
|
||||
|
||||
|
||||
@scope
|
||||
async def prepare_minibatch(
|
||||
env_group_builders_P: Sequence[EnvGroupBuilder],
|
||||
trajectory_groups_P: list[TrajectoryGroup],
|
||||
tokenizer: Tokenizer,
|
||||
service_client: tinker.ServiceClient,
|
||||
model_name: str,
|
||||
kl_penalty_coef: float,
|
||||
kl_discount_factor: float,
|
||||
) -> tuple[list[tinker.Datum], dict[str, Any]]:
|
||||
"""Converts the trajectories into a minibatch, and provides metrics about the minibatch"""
|
||||
|
||||
# Compute trajectory metrics
|
||||
metrics: dict[str, Any] = {}
|
||||
taglist_P = [env_group_builder.logging_tags() for env_group_builder in env_group_builders_P]
|
||||
metrics.update(compute_trajectory_metrics(trajectory_groups_P, taglist_P))
|
||||
|
||||
# Print one trajectory
|
||||
for traj_group in trajectory_groups_P[:2]:
|
||||
print_group(traj_group, tokenizer)
|
||||
|
||||
# Assemble training data
|
||||
with timed("assemble_training_data", metrics):
|
||||
advantages_P = compute_advantages(trajectory_groups_P)
|
||||
data_D, _metadata_D = assemble_training_data(trajectory_groups_P, advantages_P)
|
||||
|
||||
# Incorporate KL penalty if configured
|
||||
if kl_penalty_coef > 0:
|
||||
with timed("kl_vs_base", metrics):
|
||||
kl_penalty_metrics = await incorporate_kl_penalty(
|
||||
data_D,
|
||||
service_client.create_sampling_client(base_model=model_name),
|
||||
# ^^^ TODO: replace with the model we load, if relevant
|
||||
kl_penalty_coef,
|
||||
kl_discount_factor,
|
||||
)
|
||||
metrics.update(kl_penalty_metrics)
|
||||
|
||||
return data_D, metrics
|
||||
|
||||
|
||||
@scope
|
||||
async def do_train_step_and_get_sampling_client(
|
||||
cfg: Config,
|
||||
i_batch: int,
|
||||
training_client: tinker.TrainingClient,
|
||||
service_client: tinker.ServiceClient,
|
||||
tokenizer: Tokenizer,
|
||||
env_group_builders_P: Sequence[EnvGroupBuilder],
|
||||
trajectory_groups_P: list[TrajectoryGroup],
|
||||
) -> tuple[tinker.SamplingClient, dict[str, Any]]:
|
||||
context = get_scope_context()
|
||||
context.attributes["step"] = i_batch
|
||||
|
||||
metrics: dict[str, Any] = {}
|
||||
data_D, prepare_minibatch_metrics = await prepare_minibatch(
|
||||
env_group_builders_P,
|
||||
trajectory_groups_P,
|
||||
tokenizer,
|
||||
service_client,
|
||||
model_name=cfg.model_name,
|
||||
kl_penalty_coef=cfg.kl_penalty_coef,
|
||||
kl_discount_factor=cfg.kl_discount_factor,
|
||||
)
|
||||
metrics.update(prepare_minibatch_metrics)
|
||||
|
||||
with timed("train", metrics):
|
||||
training_logprobs_D = await train_step(
|
||||
data_D,
|
||||
training_client,
|
||||
cfg.learning_rate,
|
||||
cfg.num_substeps,
|
||||
cfg.loss_fn,
|
||||
)
|
||||
|
||||
sampling_client, full_batch_metrics = await compute_full_batch_metrics_and_get_sampling_client(
|
||||
training_client,
|
||||
# NOTE: saving the checkpoint as the i + 1 step
|
||||
i_batch + 1,
|
||||
data_D,
|
||||
training_logprobs_D,
|
||||
cfg.log_path,
|
||||
cfg.save_every,
|
||||
cfg.compute_post_kl,
|
||||
)
|
||||
metrics.update(full_batch_metrics)
|
||||
|
||||
return sampling_client, metrics
|
||||
|
||||
|
||||
@scope
|
||||
async def do_sync_training(
|
||||
*,
|
||||
@@ -203,7 +124,19 @@ async def do_sync_training(
|
||||
adapter: TraceToTripletBase,
|
||||
llm_proxy: LLMProxy,
|
||||
):
|
||||
"""Implements fully synchronous on-policy training"""
|
||||
"""Implements fully synchronous on-policy training.
|
||||
|
||||
See `tinker_cookbook.rl.train.do_sync_training` for the original flow. The
|
||||
Agent-lightning adaptation diverges in a few places:
|
||||
|
||||
* A LiteLLM proxy is restarted every batch so refreshed player checkpoints
|
||||
are immediately visible to rollout workers.
|
||||
* Trajectories are gathered via `do_group_of_group_rollouts`, which in turn
|
||||
dequeues tasks from the Agent-lightning store and rebuilds transitions from
|
||||
trace triplets.
|
||||
* Evaluation hooks call `AGLTestSetEvaluator` so validation samples reuse the
|
||||
same CrewAI-based agent rather than invoking a raw token completer.
|
||||
"""
|
||||
|
||||
# Initial sampling client
|
||||
logger.info(f"Creating sampling client with training client {training_client} and start batch {start_batch}")
|
||||
@@ -219,7 +152,7 @@ async def do_sync_training(
|
||||
renderer=renderer,
|
||||
tokenizer=tokenizer,
|
||||
max_tokens=cfg.max_tokens,
|
||||
temperature=cfg.temperature,
|
||||
temperature=cfg.train_temperature,
|
||||
top_k=cfg.top_k,
|
||||
top_p=cfg.top_p,
|
||||
).rewrite_litellm_custom_providers()
|
||||
@@ -244,10 +177,12 @@ async def do_sync_training(
|
||||
# Run evaluations
|
||||
if cfg.eval_every > 0 and i_batch % cfg.eval_every == 0:
|
||||
logger.info(f"[Batch {i_batch}] Running evaluations")
|
||||
tinker_llm.temperature = cfg.eval_temperature
|
||||
with timed("run_evals", metrics):
|
||||
for evaluator in evaluators:
|
||||
eval_metrics = await evaluator(resources_update.resources_id, store, adapter, "val", i_batch)
|
||||
metrics.update({f"test/{k}": v for k, v in eval_metrics.items()})
|
||||
tinker_llm.temperature = cfg.train_temperature
|
||||
|
||||
# Get batch and sample trajectories
|
||||
logger.info(f"[Batch {i_batch}] Getting batch data from dataset")
|
||||
@@ -387,12 +322,27 @@ async def main_training_loop(
|
||||
|
||||
@scope
|
||||
async def main(config: Config) -> None:
|
||||
"""Entry point for the training script.
|
||||
|
||||
Sets up the store, adapter, and LLM proxy, then launches the main training loop.
|
||||
|
||||
Args:
|
||||
config: Training configuration.
|
||||
"""
|
||||
store = LightningStoreClient(config.store_address)
|
||||
adapter = TracerTraceToTriplet(agent_match=config.adapter_agent_match)
|
||||
if config.adapter_from_llm_proxy:
|
||||
# This is still under development
|
||||
if config.adapter_agent_match is not None:
|
||||
raise ValueError("adapter_agent_match is not supported when adapter_from_llm_proxy is True")
|
||||
adapter = LlmProxyTraceToTriplet()
|
||||
else:
|
||||
# This is the tested path
|
||||
adapter = TracerTraceToTriplet(agent_match=config.adapter_agent_match, _skip_empty_token_spans=True)
|
||||
llm_proxy = LLMProxy(
|
||||
port=config.llm_proxy_port,
|
||||
model_list=[],
|
||||
store=store,
|
||||
num_retries=config.llm_proxy_retry_attempts,
|
||||
)
|
||||
|
||||
await main_training_loop(config, store, adapter, llm_proxy)
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
model_list:
|
||||
- model_name: "test-model"
|
||||
litellm_params:
|
||||
model: "openai/text-embedding-ada-002"
|
||||
- model_name: "my-custom-model"
|
||||
litellm_params:
|
||||
model: "my-custom-llm/my-model"
|
||||
|
||||
litellm_settings:
|
||||
custom_provider_map:
|
||||
- {"provider": "my-custom-llm", "custom_handler": custom_llm.my_custom_llm}
|
||||
@@ -1,41 +0,0 @@
|
||||
import litellm
|
||||
from litellm import CustomLLM, completion, get_llm_provider
|
||||
from litellm.utils import custom_llm_setup
|
||||
|
||||
|
||||
class MyCustomLLM(CustomLLM):
|
||||
def completion(self, *args, **kwargs) -> litellm.ModelResponse:
|
||||
return litellm.completion(
|
||||
model="gpt-3.5-turbo",
|
||||
messages=[{"role": "user", "content": "Hello world"}],
|
||||
mock_response="Hi!",
|
||||
) # type: ignore
|
||||
|
||||
async def acompletion(self, *args, **kwargs) -> litellm.ModelResponse:
|
||||
return litellm.completion(
|
||||
model="gpt-3.5-turbo",
|
||||
messages=[{"role": "user", "content": "Hello world"}],
|
||||
mock_response="Hi!",
|
||||
) # type: ignore
|
||||
|
||||
|
||||
my_custom_llm = MyCustomLLM()
|
||||
|
||||
litellm.custom_provider_map = [{"provider": "my-custom-llm", "custom_handler": my_custom_llm}]
|
||||
|
||||
custom_llm_setup()
|
||||
|
||||
from agentlightning import InMemoryLightningStore
|
||||
from agentlightning.llm_proxy import LLMProxy
|
||||
|
||||
store = InMemoryLightningStore()
|
||||
llm_proxy = LLMProxy(
|
||||
port=4000,
|
||||
store=store,
|
||||
model_list=[{"model_name": "my-custom-model", "litellm_params": {"model": "my-custom-llm/my-model"}}],
|
||||
)
|
||||
|
||||
llm_proxy.start()
|
||||
import time
|
||||
|
||||
time.sleep(1000)
|
||||
@@ -0,0 +1,21 @@
|
||||
# Search for the best hyper-parameters
|
||||
# set -e
|
||||
# set -x
|
||||
|
||||
# Generate all combinations and shuffle them
|
||||
combinations=$(for lr in 3e-5 1e-4 3e-4; do
|
||||
for gs in 8 16; do
|
||||
for loss in ppo importance_sampling; do
|
||||
for seed in 0 17 42; do
|
||||
echo "$lr $gs $loss $seed"
|
||||
done
|
||||
done
|
||||
done
|
||||
done | shuf)
|
||||
|
||||
# Run each combination
|
||||
while read -r lr gs loss seed; do
|
||||
echo "Running with LR=$lr, GS=$gs, LOSS_FN=$loss, SEED=$seed"
|
||||
LEARNING_RATE=$lr GROUP_SIZE=$gs LOSS_FN=$loss SEED=$seed \
|
||||
uv run --no-sync dotenv run python q20_train_grid.py --port 4751
|
||||
done <<< "$combinations"
|
||||
@@ -0,0 +1,23 @@
|
||||
# Search for the best hyper-parameters
|
||||
# set -e
|
||||
# set -x
|
||||
|
||||
# Generate all combinations and shuffle them
|
||||
combinations=$(for lr in 3e-5 1e-4 3e-4; do
|
||||
for gs in 8 16; do
|
||||
for loss in ppo importance_sampling; do
|
||||
for seed in 0 17 42; do
|
||||
for rank in 16 32; do
|
||||
echo "$lr $gs $loss $seed $rank"
|
||||
done
|
||||
done
|
||||
done
|
||||
done
|
||||
done | shuf)
|
||||
|
||||
# Run each combination
|
||||
while read -r lr gs loss seed rank; do
|
||||
echo "Running with LR=$lr, GS=$gs, LOSS_FN=$loss, SEED=$seed, RANK=$rank"
|
||||
LEARNING_RATE=$lr GROUP_SIZE=$gs LOSS_FN=$loss SEED=$seed RANK=$rank \
|
||||
uv run --no-sync dotenv run python q20_train_grid_5mini.py --port 4753
|
||||
done <<< "$combinations"
|
||||
@@ -0,0 +1,25 @@
|
||||
# Search for the best hyper-parameters
|
||||
# set -e
|
||||
# set -x
|
||||
|
||||
# Generate all combinations and shuffle them
|
||||
combinations=$(for lr in 1e-5 3e-5 1e-4; do
|
||||
for gs in 16; do
|
||||
for loss in ppo importance_sampling; do
|
||||
for seed in 0 17 42; do
|
||||
for rank in 8 16; do
|
||||
for bs in 8 16 32; do
|
||||
echo "$lr $gs $loss $seed $rank $bs"
|
||||
done
|
||||
done
|
||||
done
|
||||
done
|
||||
done
|
||||
done | shuf)
|
||||
|
||||
# Run each combination
|
||||
while read -r lr gs loss seed rank bs; do
|
||||
echo "Running with LR=$lr, GS=$gs, LOSS_FN=$loss, SEED=$seed, RANK=$rank BS=$bs"
|
||||
LEARNING_RATE=$lr GROUP_SIZE=$gs LOSS_FN=$loss SEED=$seed RANK=$rank BATCH_SIZE=$bs \
|
||||
uv run --no-sync dotenv run python q20_train_grid_5mini_v2.py --port 4755
|
||||
done <<< "$combinations"
|
||||
@@ -1,12 +1,45 @@
|
||||
"""To train a model to admit whoever I call it.
|
||||
# Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
For example, if I say "Hello, 42", the model should say "I'm 42", not "I'm not 42."
|
||||
"""Minimal Agent-lightning + Tinker training example.
|
||||
|
||||
The Hello agent fine-tunes a model so it repeats whatever identity string you
|
||||
pass in (e.g., `"Say you are 42" -> "I'm 42."`). It mirrors the structure of
|
||||
Tinker Cookbook RL recipes but drives rollouts through Agent-lightning tasks
|
||||
instead of Tinker's built-in environments.
|
||||
|
||||
Environment setup:
|
||||
|
||||
1. Copy `examples/tinker/.env.example` to `examples/tinker/.env`.
|
||||
2. Fill in `OPENAI_API_KEY` / `OPENAI_BASE_URL` so the helper completions
|
||||
can be routed via LiteLLM.
|
||||
3. Provide `TINKER_API_KEY` if you plan to train against the hosted Tinker service.
|
||||
|
||||
This example does not support W&B logging.
|
||||
|
||||
CLI entry points:
|
||||
|
||||
```bash
|
||||
# Integrated run that spawns store, algorithm, and runners
|
||||
python hello.py oneclick
|
||||
```
|
||||
|
||||
Distributed workflow across three terminals:
|
||||
|
||||
```bash
|
||||
agl store # <-- expect the store to be running on port 4747
|
||||
python hello.py algo
|
||||
python hello.py runner
|
||||
```
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import asyncio
|
||||
import multiprocessing
|
||||
import socket
|
||||
|
||||
from agl_tinker.algo import Tinker
|
||||
from agl_tinker.env import AGLDatasetBuilder
|
||||
from agl_tinker.train import Config
|
||||
from agl_tinker.train import main as entrypoint
|
||||
@@ -18,8 +51,29 @@ import agentlightning as agl
|
||||
console = Console()
|
||||
|
||||
|
||||
def _find_available_port() -> int:
|
||||
"""Find an available port by binding to port 0.
|
||||
|
||||
Returns:
|
||||
An available port number.
|
||||
"""
|
||||
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
||||
s.bind(("", 0))
|
||||
return s.getsockname()[1]
|
||||
|
||||
|
||||
@agl.rollout
|
||||
def hello(task: str, llm: agl.LLM, rollout: agl.Rollout) -> None:
|
||||
"""Agent rollout function that tests if the model claims the given identity.
|
||||
|
||||
Prompts the model to say it is the given task/identity and assigns a reward
|
||||
based on whether the model's response matches the expected behavior.
|
||||
|
||||
Args:
|
||||
task: The identity string the model should claim to be.
|
||||
llm: The LLM endpoint configuration.
|
||||
rollout: The rollout metadata containing rollout ID and mode.
|
||||
"""
|
||||
openai_client = OpenAI(base_url=llm.endpoint, api_key="dummy")
|
||||
response = openai_client.chat.completions.create(
|
||||
model=llm.model,
|
||||
@@ -32,8 +86,6 @@ def hello(task: str, llm: agl.LLM, rollout: agl.Rollout) -> None:
|
||||
rew = 1.0
|
||||
elif ("not " + task) in content_lower:
|
||||
rew = -1.0
|
||||
elif ("you're" + task) in content_lower or ("you are" + task) in content_lower:
|
||||
rew = 0.1
|
||||
else:
|
||||
rew = 0.0
|
||||
|
||||
@@ -45,6 +97,11 @@ def hello(task: str, llm: agl.LLM, rollout: agl.Rollout) -> None:
|
||||
|
||||
|
||||
def run_algo():
|
||||
"""Run the training algorithm in standalone mode.
|
||||
|
||||
Launches the Tinker training algorithm that connects to a separate store
|
||||
and rollout runners.
|
||||
"""
|
||||
config = Config(
|
||||
learning_rate=1e-5,
|
||||
dataset_builder=AGLDatasetBuilder(
|
||||
@@ -78,10 +135,9 @@ def run_rollout(*, worker_id: int) -> None:
|
||||
|
||||
|
||||
def spawn_runners(*, n_runners: int) -> None:
|
||||
"""Spawn a set of rollout runners.
|
||||
"""Spawn a set of rollout runners in separate processes.
|
||||
|
||||
Args:
|
||||
store: The LightningStore instance.
|
||||
n_runners: The number of runners to spawn.
|
||||
"""
|
||||
|
||||
@@ -95,9 +151,39 @@ def spawn_runners(*, n_runners: int) -> None:
|
||||
runner.join()
|
||||
|
||||
|
||||
def oneclick():
|
||||
"""Run integrated training with algorithm and runners in one process.
|
||||
|
||||
This is the simplest way to run the example, as it handles spawning
|
||||
the store, algorithm, and runners automatically.
|
||||
"""
|
||||
config = Config(
|
||||
learning_rate=1e-5,
|
||||
dataset_builder=AGLDatasetBuilder(
|
||||
batch_size=16,
|
||||
group_size=4,
|
||||
seed=42,
|
||||
n_epochs=1,
|
||||
),
|
||||
renderer_name="qwen3",
|
||||
model_name="Qwen/Qwen3-30B-A3B-Instruct-2507",
|
||||
log_path="logs/hello",
|
||||
max_tokens=32,
|
||||
llm_proxy_port=_find_available_port(),
|
||||
)
|
||||
trainer = agl.Trainer(
|
||||
algorithm=Tinker(config),
|
||||
llm_proxy=agl.LLMProxy(port=12306, num_retries=3),
|
||||
n_runners=8,
|
||||
port=_find_available_port(),
|
||||
)
|
||||
trainer.fit(hello, train_dataset=[str(i) for i in range(1000)], val_dataset=[str(i) for i in range(1000, 1024)])
|
||||
|
||||
|
||||
def main():
|
||||
"""Entry point for the hello example script."""
|
||||
parser = argparse.ArgumentParser(description="Train a hello echo agent with Agent-lightning + Tinker.")
|
||||
parser.add_argument("mode", type=str, choices=["algo", "runner"])
|
||||
parser.add_argument("mode", type=str, choices=["algo", "runner", "oneclick"])
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
@@ -106,6 +192,8 @@ def main():
|
||||
run_algo()
|
||||
elif args.mode == "runner":
|
||||
spawn_runners(n_runners=8)
|
||||
elif args.mode == "oneclick":
|
||||
oneclick()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
@@ -1,31 +1,33 @@
|
||||
import json
|
||||
import traceback
|
||||
from contextlib import contextmanager
|
||||
from typing import Any, List, Literal, Optional, TypedDict, cast
|
||||
# Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
"""CrewAI-based 20 Questions agents tailored for Agent-lightning demos.
|
||||
|
||||
This module wires up the player, answerer, and auxiliary tooling that power the
|
||||
20 Questions examples under ``examples/tinker``.
|
||||
|
||||
It mirrors the high-level game loop used in the original Tinker Cookbook example,
|
||||
but is far more complicated in that it uses an advanced agent orchestration framework (CrewAI)
|
||||
and incorporates a simulated web search tool, as well as interactions between multiple agents.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any, List, Literal, Optional, cast
|
||||
|
||||
import pandas as pd
|
||||
import tinker
|
||||
from agl_tinker.llm import TinkerLLM
|
||||
from crewai import LLM as CrewLLM
|
||||
from crewai import Agent as CrewAgent
|
||||
from crewai import BaseLLM
|
||||
from crewai import Task as CrewTask
|
||||
from crewai.flow import Flow, listen, router, start
|
||||
from crewai.tools import BaseTool
|
||||
from pydantic import BaseModel, Field
|
||||
from rich.console import Console
|
||||
from tinker_cookbook.renderers import get_renderer
|
||||
from transformers import AutoTokenizer, PreTrainedTokenizer
|
||||
|
||||
from agentlightning.llm_proxy import LLMProxy
|
||||
from agentlightning.store import InMemoryLightningStore
|
||||
|
||||
llm = CrewLLM(model="openai/gpt-4o-mini")
|
||||
|
||||
console = Console()
|
||||
|
||||
|
||||
class AnswererResponse(BaseModel):
|
||||
"""Response schema for the answerer in 20 Questions game."""
|
||||
|
||||
# Keep this short; do NOT ask for chain-of-thought
|
||||
brief_reason: Optional[str] = Field(description="1-2 sentences justification (optional, high level only).")
|
||||
yes_or_no: Literal["yes", "no", "n/a"] = Field(
|
||||
@@ -43,24 +45,26 @@ If you think you have figured out the secret entity, ask a direct guess in the f
|
||||
THIS IS TURN #{turn_index} OF 20. You have {remaining_turns} turns left. The quicker you make a correct guess, the higher your score.
|
||||
|
||||
## Important assumptions
|
||||
|
||||
- All answers must belong to one of the following categories: {categories}.
|
||||
- All answers are **straightforward, familiar, and commonly known**. They can be at most 3 words long (and only one word long in a majority of cases).
|
||||
- Each answer refers to a **single, clear concept** — not a variant, version, or situation-dependent form. They will **never** be something like "A door used in a haunted house" or "A Fender-produced guitar".
|
||||
- Your answer BELONGS TO the category of "{category}".
|
||||
- The answer is **straightforward, familiar, and commonly known**. They can be at most 3 words long (and only one word long in a majority of cases).
|
||||
- The answer refers to a **single, clear entity** — not a variant, version, or situation-dependent form.
|
||||
|
||||
## What you have: Game history (Q/A pairs):
|
||||
|
||||
{history}
|
||||
|
||||
## How to decide your next question
|
||||
## Strategy guidelines (concise, practical)
|
||||
- **Start broad, then narrow**: prioritize sub-category-level splits first (within {category}), then mid-level properties, then identifiers.
|
||||
- **Binary partitioning**: prefer questions that split the remaining set near the middle.
|
||||
- **Property over identity**: ask about features/roles/usages before naming brands, species, or specific titles.
|
||||
- **Contradiction guard**: if past answers imply a contradiction, ask a short reset/sanity-check question to reconcile.
|
||||
- **n/a handling**: if the last answer was **n/a**, pivot wording to a clearer, factual property.
|
||||
- **Endgame**: if you have only one turn left, make a direct guess.
|
||||
|
||||
- Use binary-splitting logic: prefer questions that partition the remaining candidates roughly in half.
|
||||
- Start broad then focus (category -> traits -> unique identifiers).
|
||||
- Take the remaining turns into account. If you have only one turn left, ask a direct guess.
|
||||
- Do **not** ask about entities that directly name or define the answer (e.g., "Is it a type of pizza?" if "Pizza" is an option).
|
||||
- The answerer may reply **"n/a"** when a yes/no would be meaningless or not publicly knowable. Use this to your advantage.
|
||||
## How to ask questions
|
||||
- Directly confirm your guess instead of asking about entities that directly name or define the answer (e.g., "Is it a type of pizza?" if "Pizza" is an option).
|
||||
- Avoid questions that depend on subjective or situational conditions (e.g., "Would most people consider it artistic?").
|
||||
- You are encourage to use the search tool to verify factual implications behind your candidate question. This will also help you thinking more deeply and avoiding asking irrelevant or trivial questions.
|
||||
- You are encouraged to use the search tool to check factual details or implications behind your potential question. This helps ensure your reasoning is grounded, accurate, and avoids irrelevant or trivial inquiries. However, you can only use the search tool at most once for each question; you must not use the search tool consecutively without asking a question in between.
|
||||
|
||||
## Output format (critical)
|
||||
|
||||
@@ -74,7 +78,7 @@ Now produce your single best next question."""
|
||||
|
||||
ANSWERER_QUERY_TEMPLATE = """You are the **Answerer** in 20 Questions. Answer yes/no questions truthfully about the secret entity; mark correct if guessed exactly.
|
||||
|
||||
Your secret entity is: "{answer}".
|
||||
Your secret entity is: "{answer}". It belongs to the category of "{category}".
|
||||
|
||||
## The player's current question
|
||||
|
||||
@@ -85,12 +89,16 @@ Your secret entity is: "{answer}".
|
||||
- Respond only with a structured yes/no evaluation about the entity.
|
||||
- Be concise, objective, and consistent with previous answers.
|
||||
- Never reveal the entity unless the player guessed correctly.
|
||||
- If you don't know the answer, for example, the information is never publicly known, or the question is irrelevant to the secret entity, answer **"n/a"**.
|
||||
- If you don't know the answer, for example, the information is never publicly known, or the question is irrelevant to the entity's nature, answer **"n/a"**.
|
||||
|
||||
### Primary-sense rule (important)
|
||||
- Answer based on the entity's **primary, literal identity**, not metaphorical associations or what it “can represent.”
|
||||
(Example: a famous building is **not** a "symbol" just because people call it a symbol of love.)
|
||||
- Use the multi-meaning rule **only** when the entity's **name itself** has multiple mainstream senses (e.g., “football” the sport vs. the ball). Otherwise, stick to the primary sense.
|
||||
|
||||
### Handling unknown or irrelevant questions
|
||||
|
||||
- If the question asks about something that is **not publicly known**, **not factual**, **ambiguous**, or **irrelevant** to the entity's nature (e.g., "Does it enjoy music?" for *Mount Everest*), respond with **"n/a"**.
|
||||
- Use **"n/a"** only when a yes/no answer would be **misleading or nonsensical**.
|
||||
- If the question asks about something **not publicly known**, **not factual**, **ambiguous**, or **irrelevant**, respond **"n/a"**.
|
||||
- Use **"n/a"** only when a yes/no would be **misleading or nonsensical**.
|
||||
- Examples:
|
||||
- "Does it have parents?" -> *n/a* (not meaningful for a place or object)
|
||||
- "Is it alive?" -> valid for all entities (answer yes/no if possible)
|
||||
@@ -99,14 +107,12 @@ Your secret entity is: "{answer}".
|
||||
- "Is the chair branded by a famous manufacturer?" -> *n/a* for a general object like "chair".
|
||||
|
||||
### Handling ambiguous entities
|
||||
|
||||
If the secret entity has multiple common meanings (e.g., "football" can mean both the **sport** and the **ball**):
|
||||
- Answer **"yes"** if the question is true for **any** of the major, well-recognized meanings.
|
||||
- Answer **"no"** only if the question is false for **all reasonable interpretations**.
|
||||
- Avoid overinterpreting rare or niche meanings — stick to mainstream, widely understood ones.
|
||||
If the secret entity truly has multiple common meanings:
|
||||
- Answer **"yes"** if the question is true for **any** major, well-recognized meaning.
|
||||
- Answer **"no"** only if it's false for **all** reasonable interpretations.
|
||||
- Do **not** stretch to metaphors or loose associations.
|
||||
|
||||
### Handling direct guesses
|
||||
|
||||
If the player's question is a direct guess ("Is it ...?"):
|
||||
- Set **correct = true** if the guess is a close match in meaning to the secret entity (e.g., “Is it cell phone?” ≈ “Smartphone”).
|
||||
- Otherwise, set **correct = false**.
|
||||
@@ -139,9 +145,7 @@ class SearchTool(BaseTool):
|
||||
|
||||
model: BaseLLM
|
||||
name: str = "search"
|
||||
description: str = (
|
||||
"Search the web (mocked). Provide a concise, factual summary of what is known about the given topic."
|
||||
)
|
||||
description: str = "Search the web. Provide a concise, factual summary of what is known about the given topic."
|
||||
num_called: int = 0
|
||||
|
||||
def _run(self, search_query: str) -> str:
|
||||
@@ -176,20 +180,44 @@ class SearchTool(BaseTool):
|
||||
|
||||
|
||||
class Turn(BaseModel):
|
||||
"""Represents a single turn in a 20 Questions game.
|
||||
|
||||
Attributes:
|
||||
question: The question asked by the player.
|
||||
response: The answerer's "yes" or "no" or "n/a" response.
|
||||
"""
|
||||
|
||||
question: str
|
||||
response: Literal["yes", "no", "n/a"]
|
||||
|
||||
|
||||
class TwentyQuestionsGameState(BaseModel):
|
||||
"""State of a 20 Questions game session.
|
||||
|
||||
Attributes:
|
||||
answer: The secret entity the player is trying to guess.
|
||||
category: The category of the secret entity.
|
||||
correct: Whether the player has guessed correctly.
|
||||
num_tool_calls: Number of search tool calls made during the game.
|
||||
next_question: The current question being processed.
|
||||
turn_index: Current turn number (1-20).
|
||||
interactions: History of question-answer turns.
|
||||
"""
|
||||
|
||||
answer: str = ""
|
||||
category: str = ""
|
||||
correct: bool = False
|
||||
num_tool_calls: int = 0
|
||||
next_question: str = ""
|
||||
turn_index: int = 1
|
||||
interactions: List[Turn] = Field(default_factory=list)
|
||||
interactions: List[Turn] = Field(default_factory=list) # type: ignore
|
||||
|
||||
def render_history(self) -> str:
|
||||
"""Render the game history as a formatted string.
|
||||
|
||||
Returns:
|
||||
Formatted string showing all questions and responses.
|
||||
"""
|
||||
return "\n\n".join(
|
||||
[
|
||||
f"Question #{i}: {turn.question}\nResponse #{i}: {turn.response}"
|
||||
@@ -199,29 +227,43 @@ class TwentyQuestionsGameState(BaseModel):
|
||||
|
||||
|
||||
class TwentyQuestionsFlow(Flow[TwentyQuestionsGameState]):
|
||||
"""CrewAI Flow for running a 20 Questions game.
|
||||
|
||||
This flow coordinates the player and answerer agents through the game.
|
||||
"""
|
||||
|
||||
def __init__(self, *args: Any, **kwargs: Any):
|
||||
"""Initialize the flow with player, answerer, and optional search tool.
|
||||
|
||||
Args:
|
||||
*args: Positional arguments to pass to Flow.
|
||||
**kwargs: Keyword arguments including player_llm, answer_llm, and search_tool.
|
||||
"""
|
||||
self.player_llm = cast(CrewLLM, kwargs.pop("player_llm"))
|
||||
self.answer_llm = cast(CrewLLM, kwargs.pop("answer_llm"))
|
||||
self.search_tool = cast(Optional[SearchTool], kwargs.pop("search_tool", None))
|
||||
self.categories = cast(List[str], kwargs.pop("categories"))
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
@start("next_turn")
|
||||
def ask_question(self):
|
||||
"""Generate the next question from the player agent."""
|
||||
agent = CrewAgent(
|
||||
role="Player in a game of 20 questions",
|
||||
goal="Minimize uncertainty and identify the hidden entity within 20 yes/no questions.",
|
||||
backstory="A focused reasoner who uses binary-partition questions and only outputs one concise yes/no question per turn.",
|
||||
backstory="A focused reasoner who uses binary-partition questions to narrow down the remaining possibilities.",
|
||||
tools=[self.search_tool] if self.search_tool else [],
|
||||
llm=self.player_llm,
|
||||
max_iter=10, # Maximum iterations of tool calls
|
||||
max_iter=3, # Maximum iterations of tool calls
|
||||
# Agent is instructed to use at most 1 search tool call per question.
|
||||
# but here it's allowed up to 3 chances.
|
||||
# Otherwise, the agent will be forced by CrewAI to give the "BEST Final answer"
|
||||
# which is not even a question that we want.
|
||||
)
|
||||
query = PLAYER_QUERY_TEMPLATE.format(
|
||||
history=self.state.render_history(),
|
||||
turn_index=self.state.turn_index,
|
||||
remaining_turns=20 - self.state.turn_index + 1,
|
||||
categories=", ".join(self.categories),
|
||||
category=self.state.category,
|
||||
)
|
||||
|
||||
result = agent.kickoff(query)
|
||||
@@ -232,7 +274,12 @@ class TwentyQuestionsFlow(Flow[TwentyQuestionsGameState]):
|
||||
|
||||
@listen(ask_question)
|
||||
def answer_question(self):
|
||||
query = ANSWERER_QUERY_TEMPLATE.format(answer=self.state.answer, next_question=self.state.next_question)
|
||||
"""Process the player's question and generate an answer."""
|
||||
query = ANSWERER_QUERY_TEMPLATE.format(
|
||||
answer=self.state.answer, next_question=self.state.next_question, category=self.state.category
|
||||
)
|
||||
# NOTE: We can also ground the answerer with a search tool.
|
||||
# But it would make the example too complicated for now.
|
||||
answerer_response = cast(AnswererResponse, self.answer_llm.call(query)) # type: ignore
|
||||
console.print(f"[bold red]Answerer (Turn {self.state.turn_index}):[/bold red] {answerer_response}")
|
||||
try:
|
||||
@@ -249,6 +296,11 @@ class TwentyQuestionsFlow(Flow[TwentyQuestionsGameState]):
|
||||
|
||||
@router(answer_question)
|
||||
def game_should_continue(self):
|
||||
"""Determine if the game should continue or end.
|
||||
|
||||
Returns:
|
||||
"game_over" if the game is finished, "next_turn" otherwise.
|
||||
"""
|
||||
if self.state.correct:
|
||||
console.print(f"[bold red]Correct! You win![/bold red]")
|
||||
return "game_over"
|
||||
@@ -264,92 +316,5 @@ class TwentyQuestionsFlow(Flow[TwentyQuestionsGameState]):
|
||||
|
||||
@listen("game_over")
|
||||
def finish(self):
|
||||
"""Handle game completion."""
|
||||
console.print("The flow has reached the finished state.")
|
||||
|
||||
|
||||
@contextmanager
|
||||
def prepare_llm(model_name: str, port: int):
|
||||
service_client = tinker.ServiceClient()
|
||||
sampling_client = service_client.create_sampling_client(base_model=model_name)
|
||||
tokenizer = cast(PreTrainedTokenizer, AutoTokenizer.from_pretrained(model_name)) # type: ignore
|
||||
tinker_llm = TinkerLLM(
|
||||
model_name=model_name,
|
||||
sampling_client=sampling_client,
|
||||
renderer=get_renderer("qwen3", tokenizer),
|
||||
tokenizer=tokenizer,
|
||||
)
|
||||
tinker_llm.rewrite_litellm_custom_providers()
|
||||
|
||||
store = InMemoryLightningStore()
|
||||
model_list = tinker_llm.as_model_list()
|
||||
model_list.extend(
|
||||
[
|
||||
{"model_name": "gpt-4.1", "litellm_params": {"model": "openai/gpt-4.1"}},
|
||||
{"model_name": "gpt-5-mini", "litellm_params": {"model": "openai/gpt-5-mini"}},
|
||||
]
|
||||
)
|
||||
console.print("Model list:", model_list)
|
||||
|
||||
llm_proxy = LLMProxy(
|
||||
port=port,
|
||||
store=store,
|
||||
model_list=model_list,
|
||||
num_retries=2,
|
||||
_add_return_token_ids=False,
|
||||
)
|
||||
llm_proxy.start()
|
||||
yield {
|
||||
"player_llm": CrewLLM(
|
||||
model="openai/" + model_name, base_url=f"http://localhost:{port}/v1", api_key="dummy", timeout=60.0
|
||||
),
|
||||
"answer_llm": CrewLLM(
|
||||
model="openai/gpt-5-mini",
|
||||
base_url=f"http://localhost:{port}/v1",
|
||||
api_key="dummy",
|
||||
reasoning_effort="low",
|
||||
response_format=AnswererResponse,
|
||||
timeout=60.0,
|
||||
),
|
||||
# "search_tool": SearchTool(
|
||||
# model=CrewLLM(model="openai/gpt-4.1", base_url=f"http://localhost:4000/v1", api_key="dummy", timeout=60.0)
|
||||
# ),
|
||||
}
|
||||
|
||||
llm_proxy.stop()
|
||||
|
||||
|
||||
def main(model_name: str, output_file: str, port: int = 4000):
|
||||
df = pd.read_csv("twenty_questions_nouns.csv") # type: ignore
|
||||
categories = cast(List[str], df["category"].unique().tolist()) # type: ignore
|
||||
|
||||
with prepare_llm(model_name, port) as llm_config:
|
||||
for index, row in df.sample(n=len(df), random_state=42).iterrows(): # type: ignore
|
||||
flow = TwentyQuestionsFlow(
|
||||
**llm_config,
|
||||
categories=categories,
|
||||
)
|
||||
try:
|
||||
flow.kickoff(
|
||||
{
|
||||
"answer": row["answer"],
|
||||
"category": row["category"],
|
||||
}
|
||||
)
|
||||
result_json: dict[str, Any] = {"index": index, **flow.state.model_dump()}
|
||||
except Exception as e:
|
||||
result_json = {
|
||||
"index": index,
|
||||
"answer": row["answer"],
|
||||
"category": row["category"],
|
||||
"error": str(e),
|
||||
"exception": traceback.print_exc(),
|
||||
}
|
||||
with open(output_file, "a") as f:
|
||||
f.write(json.dumps(result_json) + "\n")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main(
|
||||
model_name="Qwen/Qwen3-30B-A3B-Instruct-2507",
|
||||
output_file="test-results/twenty_questions_qwen30b_notool_gpt5mini_20251026.jsonl",
|
||||
)
|
||||
@@ -0,0 +1,219 @@
|
||||
# Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
"""Evaluate a language model on the 20 Questions benchmark.
|
||||
|
||||
This script reuses the CrewAI flow defined in `q20_agent.py` to simulate a
|
||||
complete 20 Questions match where the model under test plays the role of the
|
||||
player. The answerer and (optionally) the search helper continue to run on
|
||||
hosted OpenAI endpoints, so you must provide credentials before starting.
|
||||
|
||||
Environment setup:
|
||||
|
||||
1. Copy `examples/tinker/.env.example` to `examples/tinker/.env`.
|
||||
2. Fill in `OPENAI_API_KEY` and `OPENAI_BASE_URL` so the helper agents can
|
||||
route through your OpenAI-compatible endpoint.
|
||||
3. Keep `CREWAI_DISABLE_TELEMETRY=true` to prevent CrewAI from emitting usage
|
||||
metrics that would conflict with AgentOps tracing.
|
||||
4. Add `TINKER_API_KEY` if you plan to evaluate against models on Tinker service.
|
||||
|
||||
Example usage:
|
||||
|
||||
```bash
|
||||
# Evaluate a Qwen model on Tinker, proxied by LiteLLM
|
||||
dotenv run python q20_evaluate.py --model Qwen/Qwen3-30B-A3B-Instruct-2507
|
||||
|
||||
# Enable the search tool and test an OpenAI model
|
||||
dotenv run python q20_evaluate.py --model gpt-4.1 --search
|
||||
```
|
||||
|
||||
Results are appended to a JSONL file (`--output-file`) so you can aggregate
|
||||
game statistics after the run.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import json
|
||||
import traceback
|
||||
from pathlib import Path
|
||||
from typing import Any, List, Optional
|
||||
|
||||
import pandas as pd
|
||||
from agl_tinker.llm import create_llm_proxy
|
||||
from crewai import LLM as CrewLLM
|
||||
from q20_agent import AnswererResponse, SearchTool, TwentyQuestionsFlow
|
||||
from rich.console import Console
|
||||
|
||||
from agentlightning import InMemoryLightningStore, LLMProxy
|
||||
|
||||
console = Console()
|
||||
|
||||
|
||||
def evaluate_q20(
|
||||
model_name: str,
|
||||
search: bool,
|
||||
port: int,
|
||||
output_file: str,
|
||||
dataset_path: str,
|
||||
seed: Optional[int] = 42,
|
||||
):
|
||||
"""Evaluate a model on the 20 Questions game.
|
||||
|
||||
Args:
|
||||
model_name: The name of the model to evaluate.
|
||||
search: Whether the player can use the search tool.
|
||||
port: The port to use for the LiteLLM proxy.
|
||||
output_file: Where to append JSONL results.
|
||||
dataset_path: CSV file containing category and answer columns.
|
||||
seed: Optional random seed for shuffling the dataset; ``None`` disables deterministic shuffling.
|
||||
"""
|
||||
|
||||
store = InMemoryLightningStore()
|
||||
df = pd.read_csv(dataset_path) # type: ignore
|
||||
if df.empty:
|
||||
console.print(f"[bold yellow]Dataset '{dataset_path}' is empty. Nothing to evaluate.[/bold yellow]")
|
||||
return
|
||||
|
||||
output_path = Path(output_file)
|
||||
output_path.parent.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
if model_name.startswith("Qwen/"):
|
||||
llm_proxy = create_llm_proxy(model_name, "qwen3", port, store, _add_return_token_ids=False)
|
||||
else:
|
||||
console.print(f"Assuming {model_name} is an OpenAI model.")
|
||||
llm_proxy = LLMProxy(
|
||||
port=port,
|
||||
store=store,
|
||||
model_list=[
|
||||
{"model_name": model_name, "litellm_params": {"model": "openai/" + model_name}},
|
||||
],
|
||||
num_retries=2,
|
||||
_add_return_token_ids=False,
|
||||
)
|
||||
|
||||
answerer_model_name = "gpt-5-mini"
|
||||
search_model_name = "gpt-4.1"
|
||||
|
||||
# Add the answerer and search models to the model list if they are not already present.
|
||||
current_model_list = llm_proxy.model_list.copy()
|
||||
if not any(model["model_name"] == answerer_model_name for model in current_model_list):
|
||||
current_model_list.append(
|
||||
{"model_name": answerer_model_name, "litellm_params": {"model": "openai/" + answerer_model_name}}
|
||||
)
|
||||
if not any(model["model_name"] == search_model_name for model in current_model_list):
|
||||
current_model_list.append(
|
||||
{"model_name": search_model_name, "litellm_params": {"model": "openai/" + search_model_name}}
|
||||
)
|
||||
llm_proxy.update_model_list(current_model_list)
|
||||
console.print("Model list:", llm_proxy.model_list)
|
||||
|
||||
try:
|
||||
llm_proxy.start()
|
||||
player_llm = CrewLLM(
|
||||
model="openai/" + model_name, base_url=f"http://localhost:{port}/v1", api_key="dummy", timeout=60.0
|
||||
)
|
||||
answer_llm = CrewLLM(
|
||||
model="openai/" + answerer_model_name,
|
||||
base_url=f"http://localhost:{port}/v1",
|
||||
api_key="dummy",
|
||||
reasoning_effort="low",
|
||||
response_format=AnswererResponse,
|
||||
)
|
||||
search_tool = (
|
||||
SearchTool(
|
||||
model=CrewLLM(
|
||||
model="openai/" + search_model_name,
|
||||
base_url=f"http://localhost:{port}/v1",
|
||||
api_key="dummy",
|
||||
reasoning_effort="none",
|
||||
timeout=60.0,
|
||||
)
|
||||
)
|
||||
if search
|
||||
else None
|
||||
)
|
||||
sampled_df = (
|
||||
df.sample(n=len(df), random_state=seed) # type: ignore
|
||||
if seed is not None
|
||||
else df.sample(n=len(df)) # type: ignore
|
||||
)
|
||||
for index, row in sampled_df.iterrows(): # type: ignore
|
||||
if search_tool:
|
||||
search_tool.num_called = 0
|
||||
|
||||
flow = TwentyQuestionsFlow(player_llm=player_llm, answer_llm=answer_llm, search_tool=search_tool)
|
||||
try:
|
||||
flow.kickoff(
|
||||
{
|
||||
"answer": row["answer"],
|
||||
"category": row["category"],
|
||||
}
|
||||
)
|
||||
result_json: dict[str, Any] = {"index": index, **flow.state.model_dump()}
|
||||
except Exception as e:
|
||||
result_json = {
|
||||
"index": index,
|
||||
"answer": row["answer"],
|
||||
"category": row["category"],
|
||||
"error": str(e),
|
||||
"exception": traceback.print_exc(),
|
||||
}
|
||||
with output_path.open("a") as f:
|
||||
f.write(json.dumps(result_json) + "\n")
|
||||
finally:
|
||||
llm_proxy.stop()
|
||||
|
||||
|
||||
def main(argv: Optional[List[str]] = None) -> None:
|
||||
"""Entry point for the 20 Questions evaluation script.
|
||||
|
||||
Args:
|
||||
argv: Command-line arguments. If None, uses sys.argv.
|
||||
"""
|
||||
parser = argparse.ArgumentParser(description="Evaluate a model on the 20 Questions benchmark.")
|
||||
parser.add_argument(
|
||||
"--model",
|
||||
default="Qwen/Qwen3-30B-A3B-Instruct-2507",
|
||||
help="Model identifier to evaluate.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--search",
|
||||
action="store_true",
|
||||
help="Enable the search tool for the player agent.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--port",
|
||||
type=int,
|
||||
default=12358,
|
||||
help="Port to expose the LiteLLM proxy.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--output-file",
|
||||
default="logs/twenty_questions_results.jsonl",
|
||||
help="Path to write JSONL evaluation results.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--dataset",
|
||||
default="q20_nouns.csv",
|
||||
help="CSV file containing the evaluation dataset.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--seed",
|
||||
type=int,
|
||||
default=42,
|
||||
help="Random seed for shuffling the dataset. Use -1 to disable deterministic shuffling.",
|
||||
)
|
||||
|
||||
args = parser.parse_args(argv)
|
||||
evaluate_q20(
|
||||
model_name=args.model,
|
||||
search=args.search,
|
||||
port=args.port,
|
||||
output_file=args.output_file,
|
||||
dataset_path=args.dataset,
|
||||
seed=None if args.seed == -1 else args.seed,
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,201 @@
|
||||
answer,category,split
|
||||
Dog,animal,train
|
||||
Cat,animal,train
|
||||
Cow,animal,train
|
||||
Pig,animal,train
|
||||
Horse,animal,train
|
||||
Sheep,animal,train
|
||||
Goat,animal,test
|
||||
Chicken,animal,test
|
||||
Duck,animal,train
|
||||
Goose,animal,train
|
||||
Fish,animal,train
|
||||
Shark,animal,train
|
||||
Whale,animal,train
|
||||
Dolphin,animal,train
|
||||
Tiger,animal,test
|
||||
Lion,animal,train
|
||||
Bear,animal,train
|
||||
Wolf,animal,train
|
||||
Fox,animal,test
|
||||
Rabbit,animal,train
|
||||
Deer,animal,test
|
||||
Rat,animal,train
|
||||
Zebra,animal,train
|
||||
Giraffe,animal,train
|
||||
Panda,animal,train
|
||||
Koala,animal,test
|
||||
Camel,animal,train
|
||||
Ant,animal,train
|
||||
Bee,animal,test
|
||||
Butterfly,animal,train
|
||||
Spider,animal,train
|
||||
Crab,animal,train
|
||||
Frog,animal,train
|
||||
Turtle,animal,train
|
||||
Snake,animal,train
|
||||
Owl,animal,train
|
||||
Batman,character,train
|
||||
Superman,character,train
|
||||
Spider Man,character,train
|
||||
Hulk,character,train
|
||||
Aquaman,character,train
|
||||
The Joker,character,train
|
||||
Mario,character,test
|
||||
Luigi,character,test
|
||||
Pikachu,character,train
|
||||
Sonic,character,train
|
||||
Shrek,character,test
|
||||
Elsa,character,train
|
||||
Aladdin,character,train
|
||||
Woody,character,train
|
||||
Buzz Lightyear,character,test
|
||||
Nemo,character,train
|
||||
Winnie the Pooh,character,train
|
||||
Mickey Mouse,character,train
|
||||
Goofy,character,train
|
||||
Donald Duck,character,test
|
||||
Gandalf,character,train
|
||||
Frodo Baggins,character,train
|
||||
Albus Dumbledore,character,train
|
||||
Hermione Granger,character,train
|
||||
Harry Potter,character,train
|
||||
Sherlock Holmes,character,train
|
||||
Piano,instrument,train
|
||||
Guitar,instrument,train
|
||||
Violin,instrument,train
|
||||
Cello,instrument,train
|
||||
Flute,instrument,train
|
||||
Clarinet,instrument,train
|
||||
Trumpet,instrument,test
|
||||
Trombone,instrument,test
|
||||
Tuba,instrument,train
|
||||
Saxophone,instrument,train
|
||||
Drums,instrument,test
|
||||
Harp,instrument,train
|
||||
Organ,instrument,train
|
||||
Ukulele,instrument,train
|
||||
Banjo,instrument,test
|
||||
Xylophone,instrument,train
|
||||
Harmonica,instrument,train
|
||||
Tambourine,instrument,train
|
||||
Triangle,instrument,train
|
||||
Recorder,instrument,train
|
||||
Rose,flower,train
|
||||
Tulip,flower,train
|
||||
Lily,flower,train
|
||||
Daisy,flower,train
|
||||
Sunflower,flower,train
|
||||
Orchid,flower,train
|
||||
Violet,flower,test
|
||||
Jasmine,flower,test
|
||||
Marigold,flower,train
|
||||
Lotus,flower,train
|
||||
Lavender,flower,test
|
||||
Peony,flower,train
|
||||
Carnation,flower,train
|
||||
Iris,flower,train
|
||||
Lilac,flower,test
|
||||
Poppy,flower,train
|
||||
Magnolia,flower,train
|
||||
Daffodil,flower,train
|
||||
Pansy,flower,train
|
||||
Petunia,flower,train
|
||||
Pen,stationery,train
|
||||
Pencil,stationery,train
|
||||
Eraser,stationery,train
|
||||
Ruler,stationery,train
|
||||
Marker,stationery,train
|
||||
Highlighter,stationery,train
|
||||
Stapler,stationery,test
|
||||
Tape,stationery,test
|
||||
Glue,stationery,train
|
||||
Notebook,stationery,train
|
||||
Notepad,stationery,test
|
||||
Paperclip,stationery,train
|
||||
Binder,stationery,train
|
||||
Folder,stationery,train
|
||||
Envelope,stationery,test
|
||||
Pushpin,stationery,train
|
||||
Scissors,stationery,train
|
||||
Crayon,stationery,train
|
||||
Sharpener,stationery,train
|
||||
Whiteboard,stationery,train
|
||||
Phone,electronics,train
|
||||
Smartphone,electronics,train
|
||||
Laptop,electronics,train
|
||||
Tablet,electronics,train
|
||||
Camera,electronics,train
|
||||
Television,electronics,train
|
||||
Monitor,electronics,test
|
||||
Headphones,electronics,test
|
||||
Earbuds,electronics,train
|
||||
Speaker,electronics,train
|
||||
Microphone,electronics,test
|
||||
Keyboard,electronics,train
|
||||
Printer,electronics,train
|
||||
Webcam,electronics,train
|
||||
Battery,electronics,test
|
||||
Radio,electronics,train
|
||||
Microwave,electronics,train
|
||||
Refrigerator,electronics,train
|
||||
Toaster,electronics,train
|
||||
Oven,electronics,test
|
||||
Fan,electronics,train
|
||||
Calculator,electronics,train
|
||||
Clock,electronics,train
|
||||
Chair,furniture,train
|
||||
Table,furniture,train
|
||||
Sofa,furniture,train
|
||||
Couch,furniture,train
|
||||
Bed,furniture,train
|
||||
Desk,furniture,train
|
||||
Wardrobe,furniture,test
|
||||
Closet,furniture,test
|
||||
Dresser,furniture,train
|
||||
Cabinet,furniture,train
|
||||
Cupboard,furniture,test
|
||||
Shelf,furniture,train
|
||||
Bookshelf,furniture,train
|
||||
Nightstand,furniture,train
|
||||
Bench,furniture,test
|
||||
Stool,furniture,train
|
||||
Armchair,furniture,train
|
||||
Recliner,furniture,train
|
||||
Ottoman,furniture,train
|
||||
Vanity,furniture,test
|
||||
Mirror,furniture,train
|
||||
Crib,furniture,train
|
||||
Mattress,furniture,train
|
||||
Sideboard,furniture,train
|
||||
Albert Einstein,celebrity,train
|
||||
Isaac Newton,celebrity,train
|
||||
Nikola Tesla,celebrity,train
|
||||
Wolfgang Amadeus Mozart,celebrity,train
|
||||
Ludwig van Beethoven,celebrity,train
|
||||
Johann Sebastian Bach,celebrity,train
|
||||
Pablo Picasso,celebrity,test
|
||||
William Shakespeare,celebrity,test
|
||||
Elvis Presley,celebrity,train
|
||||
Marilyn Monroe,celebrity,train
|
||||
Charlie Chaplin,celebrity,test
|
||||
Mahatma Gandhi,celebrity,train
|
||||
Nelson Mandela,celebrity,train
|
||||
Julius Caesar,celebrity,train
|
||||
Napoleon Bonaparte,celebrity,test
|
||||
Abraham Lincoln,celebrity,train
|
||||
Winston Churchill,celebrity,train
|
||||
John F Kennedy,celebrity,train
|
||||
Princess Diana,celebrity,train
|
||||
Steve Jobs,celebrity,test
|
||||
David Bowie,celebrity,train
|
||||
John Lennon,celebrity,train
|
||||
Michael Jackson,celebrity,train
|
||||
Muhammad Ali,celebrity,train
|
||||
Alfred Hitchcock,celebrity,train
|
||||
Ernest Hemingway,celebrity,train
|
||||
George Orwell,celebrity,train
|
||||
Charles Darwin,celebrity,train
|
||||
Aristotle,celebrity,test
|
||||
Plato,celebrity,train
|
||||
Taylor Swift,celebrity,train
|
||||
|
@@ -0,0 +1,374 @@
|
||||
# Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
"""Train the 20 Questions agent with Agent-lightning + Tinker.
|
||||
|
||||
This script adapts the reinforcement-learning loop from the Tinker Cookbook to
|
||||
Agent-lightning's rollout architecture. Instead of invoking the official Tinker
|
||||
`do_group_rollout` helper, we enqueue tasks through Agent-lightning so every
|
||||
trajectory is executed by the same CrewAI flow used at evaluation time.
|
||||
|
||||
Before running, configure credentials by copying `examples/tinker/.env.example`
|
||||
to `examples/tinker/.env` and populating:
|
||||
|
||||
- `OPENAI_API_KEY` / `OPENAI_BASE_URL` for the answerer and search helpers.
|
||||
- `TINKER_API_KEY` so the player model can be fine-tuned via the Tinker API.
|
||||
- `WANDB_API_KEY` if you want metrics streamed to Weights & Biases.
|
||||
|
||||
Typical entry points:
|
||||
|
||||
```bash
|
||||
# Quickly validate the wiring with an in-memory store/LLM proxy
|
||||
dotenv run python q20_train.py dryrun
|
||||
|
||||
# Distributed training (store, algorithm, runners)
|
||||
agl store --port 4747
|
||||
dotenv run python q20_train.py algo --search
|
||||
dotenv run python q20_train.py runner --n-runners 4
|
||||
```
|
||||
|
||||
Training consumes the `q20_nouns.csv` dataset in this directory and logs
|
||||
Agent-lightning rewards alongside the standard Tinker training metrics.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import asyncio
|
||||
import os
|
||||
import socket
|
||||
import traceback
|
||||
from typing import Any, Literal, TypedDict, cast
|
||||
|
||||
import pandas as pd
|
||||
from agl_tinker.env import AGLDatasetBuilder
|
||||
from agl_tinker.llm import create_llm_proxy
|
||||
from agl_tinker.train import Config
|
||||
from agl_tinker.train import main as entrypoint
|
||||
from crewai import LLM as CrewLLM
|
||||
from q20_agent import AnswererResponse, SearchTool, TwentyQuestionsFlow
|
||||
from rich.console import Console
|
||||
|
||||
import agentlightning as agl
|
||||
|
||||
|
||||
def _find_available_port() -> int:
|
||||
"""Find an available port by binding to port 0.
|
||||
|
||||
Returns:
|
||||
An available port number.
|
||||
"""
|
||||
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
||||
s.bind(("", 0))
|
||||
return s.getsockname()[1]
|
||||
|
||||
|
||||
class Q20Task(TypedDict):
|
||||
"""Type definition for a 20 Questions task.
|
||||
|
||||
Attributes:
|
||||
category: The category of the entity to guess.
|
||||
answer: The secret entity.
|
||||
search_enabled: Whether the player can use the search tool.
|
||||
"""
|
||||
|
||||
category: str
|
||||
answer: str
|
||||
search_enabled: bool
|
||||
|
||||
|
||||
LLM_TIMEOUT = 120.0
|
||||
|
||||
console = Console()
|
||||
|
||||
|
||||
@agl.rollout
|
||||
async def q20_agent(task: Q20Task, llm: agl.LLM, rollout: agl.Rollout) -> None:
|
||||
"""Rollout function for the 20 Questions agent during training.
|
||||
|
||||
Args:
|
||||
task: The 20 Questions task containing category, answer, and search settings.
|
||||
llm: The LLM being trained (player model).
|
||||
rollout: Rollout metadata from Agent-lightning.
|
||||
"""
|
||||
answer_llm_setting = os.getenv("ANSWERER_LLM", "gpt-5-mini")
|
||||
search_llm_setting = os.getenv("SEARCH_LLM", "gpt-4.1")
|
||||
player_llm = CrewLLM(model="openai/" + llm.model, base_url=llm.endpoint, api_key="dummy", timeout=LLM_TIMEOUT)
|
||||
answer_llm = CrewLLM(
|
||||
model="openai/" + answer_llm_setting,
|
||||
base_url=os.getenv("OPENAI_BASE_URL"),
|
||||
api_key=os.getenv("OPENAI_API_KEY"),
|
||||
reasoning_effort="low",
|
||||
response_format=AnswererResponse,
|
||||
timeout=LLM_TIMEOUT,
|
||||
)
|
||||
if task["search_enabled"]:
|
||||
search_tool = SearchTool(
|
||||
model=CrewLLM(
|
||||
model="openai/" + search_llm_setting,
|
||||
base_url=os.getenv("OPENAI_BASE_URL"),
|
||||
api_key=os.getenv("OPENAI_API_KEY"),
|
||||
reasoning_effort="none",
|
||||
timeout=LLM_TIMEOUT,
|
||||
)
|
||||
)
|
||||
else:
|
||||
search_tool = None
|
||||
|
||||
flow = TwentyQuestionsFlow(player_llm=player_llm, answer_llm=answer_llm, search_tool=search_tool)
|
||||
try:
|
||||
await flow.kickoff_async(cast(Any, task))
|
||||
agl.emit_reward(1.0 if flow.state.correct else 0.0)
|
||||
except Exception:
|
||||
console.print(f"Error in q20_agent: {traceback.format_exc()}")
|
||||
raise
|
||||
# Above, the exception is re-raised, so the rollout will appear failed, but reward will be none.
|
||||
# The handling below is another approach that will make the rollout appear succeeded, but with 0 reward.
|
||||
# I think algorithm should handle the case instead.
|
||||
# agl.emit_exception(e)
|
||||
# agl.emit_reward(0.0)
|
||||
|
||||
|
||||
def dry_run():
|
||||
"""Run a quick dry-run test of the 20 Questions training setup.
|
||||
|
||||
Uses in-memory store and processes 4 sample tasks to verify the setup works.
|
||||
"""
|
||||
store = agl.InMemoryLightningStore()
|
||||
llm_proxy = create_llm_proxy("Qwen/Qwen3-30B-A3B-Instruct-2507", "qwen3_instruct", store=store)
|
||||
trainer = agl.Trainer(
|
||||
n_runners=2,
|
||||
initial_resources={"llm": llm_proxy.as_resource()},
|
||||
store=store,
|
||||
)
|
||||
try:
|
||||
llm_proxy.start()
|
||||
sampled_csv = pd.read_csv("q20_nouns.csv").sample(n=4, random_state=42) # type: ignore
|
||||
sampled_csv["search_enabled"] = False
|
||||
dataset = sampled_csv.to_dict(orient="records") # type: ignore
|
||||
trainer.dev(q20_agent, cast(agl.Dataset[Q20Task], dataset))
|
||||
finally:
|
||||
llm_proxy.stop()
|
||||
|
||||
|
||||
async def algo(search: bool, model: Literal["qwen4b", "qwen30b"], port: int):
|
||||
"""Run the training algorithm for 20 Questions.
|
||||
|
||||
Args:
|
||||
search: Whether to enable the search tool for the player.
|
||||
model: Model variant to use ("qwen4b" or "qwen30b").
|
||||
port: Port where the Agent-lightning store is running.
|
||||
"""
|
||||
raw_data = pd.read_csv("q20_nouns.csv") # type: ignore
|
||||
raw_data["search_enabled"] = search
|
||||
train_data, test_data = raw_data[raw_data["split"] == "train"], raw_data[raw_data["split"] == "test"] # type: ignore
|
||||
|
||||
train_dataset = cast(agl.Dataset[Q20Task], train_data.to_dict(orient="records")) # type: ignore
|
||||
test_dataset = cast(agl.Dataset[Q20Task], test_data.to_dict(orient="records")) # type: ignore
|
||||
|
||||
if model == "qwen4b":
|
||||
model_name = "Qwen/Qwen3-4B-Instruct-2507"
|
||||
renderer_name = "qwen3"
|
||||
elif model == "qwen30b":
|
||||
model_name = "Qwen/Qwen3-30B-A3B-Instruct-2507"
|
||||
renderer_name = "qwen3"
|
||||
else:
|
||||
raise ValueError(f"Invalid model: {model}")
|
||||
|
||||
experiment_name = f"q20_{'search' if search else 'no_search'}_{model}"
|
||||
|
||||
llm_proxy_port = _find_available_port()
|
||||
|
||||
config = Config(
|
||||
learning_rate=1e-4,
|
||||
dataset_builder=AGLDatasetBuilder(
|
||||
train_dataset=train_dataset,
|
||||
val_dataset=test_dataset,
|
||||
batch_size=16,
|
||||
shuffle=True,
|
||||
group_size=16,
|
||||
seed=17,
|
||||
n_epochs=10,
|
||||
),
|
||||
lora_rank=16,
|
||||
renderer_name=renderer_name,
|
||||
model_name=model_name,
|
||||
log_path=f"logs/{experiment_name}",
|
||||
concurrency=32,
|
||||
eval_every=4,
|
||||
wandb_project="AgentLightningQ20",
|
||||
wandb_name=experiment_name,
|
||||
store_address=f"http://localhost:{port}",
|
||||
llm_proxy_port=llm_proxy_port,
|
||||
adapter_from_llm_proxy=False,
|
||||
llm_proxy_retry_attempts=5,
|
||||
)
|
||||
await entrypoint(config)
|
||||
|
||||
|
||||
def algo_verl(search: bool, model: Literal["qwen25", "qwen3"], port: int):
|
||||
"""Alternatively, you can use VERL to train the 20 Questions agent locally.
|
||||
Use this as a substitute for the `algo` function when Tinker service is not available.
|
||||
|
||||
Args:
|
||||
search: Whether to enable the search tool for the player.
|
||||
port: Port where the Agent-lightning store is running.
|
||||
"""
|
||||
store = agl.LightningStoreClient(f"http://localhost:{port}")
|
||||
|
||||
if model == "qwen25":
|
||||
model_name = "Qwen/Qwen2.5-3B-Instruct"
|
||||
elif model == "qwen3":
|
||||
model_name = "Qwen/Qwen3-4B-Instruct-2507"
|
||||
else:
|
||||
raise ValueError(f"Invalid model: {model}")
|
||||
|
||||
experiment_name = f"q20_{'search' if search else 'no_search'}_{model}"
|
||||
|
||||
verl_config = {
|
||||
"algorithm": {
|
||||
"adv_estimator": "grpo",
|
||||
"use_kl_in_reward": False,
|
||||
},
|
||||
"data": {
|
||||
"train_batch_size": 16,
|
||||
"max_prompt_length": 8192,
|
||||
"max_response_length": 1024,
|
||||
},
|
||||
"actor_rollout_ref": {
|
||||
"rollout": {
|
||||
"tensor_model_parallel_size": 1,
|
||||
"n": 8,
|
||||
"log_prob_micro_batch_size_per_gpu": 4,
|
||||
"multi_turn": {"format": "hermes"},
|
||||
"name": "vllm",
|
||||
"gpu_memory_utilization": 0.8,
|
||||
},
|
||||
"actor": {
|
||||
"ppo_mini_batch_size": 16,
|
||||
"ppo_micro_batch_size_per_gpu": 2,
|
||||
"optim": {"lr": 5e-7},
|
||||
"use_kl_loss": False,
|
||||
"kl_loss_coef": 0.0,
|
||||
"entropy_coeff": 0,
|
||||
"clip_ratio_low": 0.2,
|
||||
"clip_ratio_high": 0.3,
|
||||
"fsdp_config": {
|
||||
"param_offload": True,
|
||||
"optimizer_offload": True,
|
||||
},
|
||||
},
|
||||
"ref": {
|
||||
"log_prob_micro_batch_size_per_gpu": 4,
|
||||
"fsdp_config": {"param_offload": True},
|
||||
},
|
||||
"model": {
|
||||
"path": model_name,
|
||||
"use_remove_padding": True,
|
||||
"enable_gradient_checkpointing": True,
|
||||
"enable_activation_offload": True,
|
||||
},
|
||||
},
|
||||
"trainer": {
|
||||
"n_gpus_per_node": 1,
|
||||
"val_before_train": True,
|
||||
"critic_warmup": 0,
|
||||
"logger": ["console", "wandb"],
|
||||
"project_name": "AgentLightningQ20VERL",
|
||||
"experiment_name": experiment_name,
|
||||
"nnodes": 1,
|
||||
"test_freq": 4,
|
||||
"total_epochs": 10,
|
||||
},
|
||||
}
|
||||
|
||||
verl = agl.VERL(verl_config)
|
||||
# Use the data recorded at the proxy side
|
||||
adapter = agl.LlmProxyTraceToTriplet()
|
||||
verl.set_adapter(adapter)
|
||||
verl.set_store(store)
|
||||
|
||||
raw_data = pd.read_csv("q20_nouns.csv") # type: ignore
|
||||
raw_data["search_enabled"] = search
|
||||
train_data, test_data = raw_data[raw_data["split"] == "train"], raw_data[raw_data["split"] == "test"] # type: ignore
|
||||
|
||||
train_dataset = cast(agl.Dataset[Q20Task], train_data.to_dict(orient="records")) # type: ignore
|
||||
test_dataset = cast(agl.Dataset[Q20Task], test_data.to_dict(orient="records")) # type: ignore
|
||||
|
||||
verl.run(train_dataset=train_dataset, val_dataset=test_dataset)
|
||||
|
||||
|
||||
def runner(port: int = 4747, n_runners: int = 2):
|
||||
"""Run rollout runners that execute the 20 Questions game.
|
||||
|
||||
Args:
|
||||
port: Port where the Agent-lightning store is running.
|
||||
n_runners: Number of parallel runners to spawn.
|
||||
"""
|
||||
# Run only the runners without algorithm
|
||||
store = agl.LightningStoreClient(f"http://localhost:{port}")
|
||||
trainer = agl.Trainer(
|
||||
algorithm=None,
|
||||
store=store,
|
||||
strategy={"type": "cs", "managed_store": False, "n_runners": n_runners, "role": "runner"},
|
||||
)
|
||||
trainer.fit(q20_agent)
|
||||
|
||||
|
||||
def _run_dryrun(_args: argparse.Namespace) -> None:
|
||||
dry_run()
|
||||
|
||||
|
||||
def _run_algo(args: argparse.Namespace) -> None:
|
||||
asyncio.run(algo(search=args.search, model=args.model, port=args.port))
|
||||
|
||||
|
||||
def _run_runner(args: argparse.Namespace) -> None:
|
||||
runner(port=args.port, n_runners=args.n_runners)
|
||||
|
||||
|
||||
def _run_algo_verl(args: argparse.Namespace) -> None:
|
||||
algo_verl(search=args.search, model=args.model, port=args.port)
|
||||
|
||||
|
||||
def main() -> None:
|
||||
"""Entry point for the 20 Questions training script."""
|
||||
parser = argparse.ArgumentParser(description="Run the Q20 AgentLightning experiments.")
|
||||
subparsers = parser.add_subparsers(dest="command", required=True)
|
||||
|
||||
dryrun_parser = subparsers.add_parser("dryrun", help="Run the in-memory dry run.")
|
||||
dryrun_parser.set_defaults(func=_run_dryrun)
|
||||
|
||||
algo_parser = subparsers.add_parser("algo", help="Launch the full training algorithm.")
|
||||
algo_parser.add_argument("--port", type=int, default=4747, help="Port for the AgentLightning store.")
|
||||
algo_parser.add_argument("--search", action="store_true", help="Enable search tool.")
|
||||
algo_parser.add_argument(
|
||||
"--model",
|
||||
choices=("qwen4b", "qwen30b"),
|
||||
default="qwen30b",
|
||||
help="Model variant to train.",
|
||||
)
|
||||
algo_parser.set_defaults(func=_run_algo)
|
||||
|
||||
algo_verl_parser = subparsers.add_parser("verl", help="Launch the full training algorithm with VERL.")
|
||||
algo_verl_parser.add_argument("--port", type=int, default=4747, help="Port for the AgentLightning store.")
|
||||
algo_verl_parser.add_argument(
|
||||
"--model",
|
||||
choices=("qwen25", "qwen3"),
|
||||
default="qwen3",
|
||||
help="Model variant to train.",
|
||||
)
|
||||
algo_verl_parser.add_argument("--search", action="store_true", help="Enable search tool.")
|
||||
algo_verl_parser.set_defaults(func=_run_algo_verl)
|
||||
|
||||
runner_parser = subparsers.add_parser("runner", help="Run only the rollout runners.")
|
||||
runner_parser.add_argument("--port", type=int, default=4747, help="Port for the AgentLightning store.")
|
||||
runner_parser.add_argument("--n-runners", type=int, default=2, help="Number of runners to use.")
|
||||
runner_parser.set_defaults(func=_run_runner)
|
||||
|
||||
args = parser.parse_args()
|
||||
agl.configure_logger()
|
||||
args.func(args)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,86 @@
|
||||
# Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import socket
|
||||
|
||||
from q20_train import *
|
||||
|
||||
|
||||
def _find_available_port() -> int:
|
||||
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
||||
s.bind(("", 0))
|
||||
return s.getsockname()[1]
|
||||
|
||||
|
||||
async def algo_animal_only(search: bool, model: Literal["qwen4b", "qwen30b"], port: int):
|
||||
raw_data = pd.read_csv("q20_nouns.csv") # type: ignore
|
||||
raw_data["search_enabled"] = search
|
||||
train_data, test_data = raw_data[raw_data["split"] == "train"], raw_data[raw_data["split"] == "test"] # type: ignore
|
||||
|
||||
train_dataset = cast(agl.Dataset[Q20Task], train_data.to_dict(orient="records")) # type: ignore
|
||||
test_dataset = cast(agl.Dataset[Q20Task], test_data.to_dict(orient="records")) # type: ignore
|
||||
|
||||
if model == "qwen4b":
|
||||
model_name = "Qwen/Qwen3-4B-Instruct-2507"
|
||||
renderer_name = "qwen3"
|
||||
elif model == "qwen30b":
|
||||
model_name = "Qwen/Qwen3-30B-A3B-Instruct-2507"
|
||||
renderer_name = "qwen3"
|
||||
else:
|
||||
raise ValueError(f"Invalid model: {model}")
|
||||
|
||||
learning_rate = os.getenv("LEARNING_RATE")
|
||||
group_size = os.getenv("GROUP_SIZE")
|
||||
loss_fn = os.getenv("LOSS_FN")
|
||||
seed = os.getenv("SEED")
|
||||
|
||||
experiment_name = f"q20_{'search' if search else 'no_search'}_{model}_gpt41_lr{learning_rate}_16x{group_size}_seed{seed}_{loss_fn}"
|
||||
|
||||
llm_proxy_port = _find_available_port()
|
||||
|
||||
config = Config(
|
||||
learning_rate=float(learning_rate),
|
||||
dataset_builder=AGLDatasetBuilder(
|
||||
train_dataset=train_dataset,
|
||||
val_dataset=test_dataset,
|
||||
batch_size=16,
|
||||
shuffle=True,
|
||||
group_size=int(group_size),
|
||||
seed=int(seed),
|
||||
n_epochs=1,
|
||||
),
|
||||
loss_fn=loss_fn,
|
||||
renderer_name=renderer_name,
|
||||
model_name=model_name,
|
||||
log_path=f"logs/{experiment_name}",
|
||||
concurrency=40,
|
||||
eval_every=3,
|
||||
eval_temperature=0.0,
|
||||
wandb_project="AgentLightningQ20",
|
||||
wandb_name=experiment_name,
|
||||
store_address=f"http://localhost:{port}",
|
||||
llm_proxy_port=llm_proxy_port,
|
||||
adapter_from_llm_proxy=False,
|
||||
llm_proxy_retry_attempts=5,
|
||||
)
|
||||
await entrypoint(config)
|
||||
|
||||
|
||||
def main() -> None:
|
||||
parser = argparse.ArgumentParser(description="Run the Q20 AgentLightning experiments.")
|
||||
parser.add_argument("--port", type=int, default=4747, help="Port for the AgentLightning store.")
|
||||
parser.add_argument("--search", action="store_true", help="Enable search tool.")
|
||||
parser.add_argument(
|
||||
"--model",
|
||||
choices=("qwen4b", "qwen30b"),
|
||||
default="qwen30b",
|
||||
help="Model variant to train.",
|
||||
)
|
||||
args = parser.parse_args()
|
||||
agl.configure_logger()
|
||||
asyncio.run(algo_animal_only(search=args.search, model=args.model, port=args.port))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,88 @@
|
||||
# Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import socket
|
||||
|
||||
from q20_train import *
|
||||
|
||||
|
||||
def _find_available_port() -> int:
|
||||
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
||||
s.bind(("", 0))
|
||||
return s.getsockname()[1]
|
||||
|
||||
|
||||
async def algo_animal_only(search: bool, model: Literal["qwen4b", "qwen30b"], port: int):
|
||||
raw_data = pd.read_csv("q20_nouns.csv") # type: ignore
|
||||
raw_data["search_enabled"] = search
|
||||
train_data, test_data = raw_data[raw_data["split"] == "train"], raw_data[raw_data["split"] == "test"] # type: ignore
|
||||
|
||||
train_dataset = cast(agl.Dataset[Q20Task], train_data.to_dict(orient="records")) # type: ignore
|
||||
test_dataset = cast(agl.Dataset[Q20Task], test_data.to_dict(orient="records")) # type: ignore
|
||||
|
||||
if model == "qwen4b":
|
||||
model_name = "Qwen/Qwen3-4B-Instruct-2507"
|
||||
renderer_name = "qwen3"
|
||||
elif model == "qwen30b":
|
||||
model_name = "Qwen/Qwen3-30B-A3B-Instruct-2507"
|
||||
renderer_name = "qwen3"
|
||||
else:
|
||||
raise ValueError(f"Invalid model: {model}")
|
||||
|
||||
learning_rate = os.getenv("LEARNING_RATE")
|
||||
group_size = os.getenv("GROUP_SIZE")
|
||||
loss_fn = os.getenv("LOSS_FN")
|
||||
seed = os.getenv("SEED")
|
||||
lora_rank = os.getenv("RANK")
|
||||
|
||||
experiment_name = f"q20_{'search' if search else 'no_search'}_{model}_gpt5mini_lr{learning_rate}_16x{group_size}_seed{seed}_{loss_fn}_rank{lora_rank}"
|
||||
|
||||
llm_proxy_port = _find_available_port()
|
||||
|
||||
config = Config(
|
||||
learning_rate=float(learning_rate),
|
||||
lora_rank=int(lora_rank),
|
||||
dataset_builder=AGLDatasetBuilder(
|
||||
train_dataset=train_dataset,
|
||||
val_dataset=test_dataset,
|
||||
batch_size=16,
|
||||
shuffle=True,
|
||||
group_size=int(group_size),
|
||||
seed=int(seed),
|
||||
n_epochs=1,
|
||||
),
|
||||
loss_fn=loss_fn,
|
||||
renderer_name=renderer_name,
|
||||
model_name=model_name,
|
||||
log_path=f"logs/{experiment_name}",
|
||||
concurrency=40,
|
||||
eval_every=3,
|
||||
eval_temperature=0.0,
|
||||
wandb_project="AgentLightningQ20",
|
||||
wandb_name=experiment_name,
|
||||
store_address=f"http://localhost:{port}",
|
||||
llm_proxy_port=llm_proxy_port,
|
||||
adapter_from_llm_proxy=False,
|
||||
llm_proxy_retry_attempts=5,
|
||||
)
|
||||
await entrypoint(config)
|
||||
|
||||
|
||||
def main() -> None:
|
||||
parser = argparse.ArgumentParser(description="Run the Q20 AgentLightning experiments.")
|
||||
parser.add_argument("--port", type=int, default=4747, help="Port for the AgentLightning store.")
|
||||
parser.add_argument("--search", action="store_true", help="Enable search tool.")
|
||||
parser.add_argument(
|
||||
"--model",
|
||||
choices=("qwen4b", "qwen30b"),
|
||||
default="qwen30b",
|
||||
help="Model variant to train.",
|
||||
)
|
||||
args = parser.parse_args()
|
||||
agl.configure_logger()
|
||||
asyncio.run(algo_animal_only(search=args.search, model=args.model, port=args.port))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,89 @@
|
||||
# Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import socket
|
||||
|
||||
from q20_train import *
|
||||
|
||||
|
||||
def _find_available_port() -> int:
|
||||
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
||||
s.bind(("", 0))
|
||||
return s.getsockname()[1]
|
||||
|
||||
|
||||
async def algo_animal_only(search: bool, model: Literal["qwen4b", "qwen30b"], port: int):
|
||||
raw_data = pd.read_csv("q20_nouns.csv") # type: ignore
|
||||
raw_data["search_enabled"] = search
|
||||
train_data, test_data = raw_data[raw_data["split"] == "train"], raw_data[raw_data["split"] == "test"] # type: ignore
|
||||
|
||||
train_dataset = cast(agl.Dataset[Q20Task], train_data.to_dict(orient="records")) # type: ignore
|
||||
test_dataset = cast(agl.Dataset[Q20Task], test_data.to_dict(orient="records")) # type: ignore
|
||||
|
||||
if model == "qwen4b":
|
||||
model_name = "Qwen/Qwen3-4B-Instruct-2507"
|
||||
renderer_name = "qwen3"
|
||||
elif model == "qwen30b":
|
||||
model_name = "Qwen/Qwen3-30B-A3B-Instruct-2507"
|
||||
renderer_name = "qwen3"
|
||||
else:
|
||||
raise ValueError(f"Invalid model: {model}")
|
||||
|
||||
learning_rate = os.getenv("LEARNING_RATE")
|
||||
group_size = os.getenv("GROUP_SIZE")
|
||||
loss_fn = os.getenv("LOSS_FN")
|
||||
seed = os.getenv("SEED")
|
||||
lora_rank = os.getenv("RANK")
|
||||
batch_size = os.getenv("BATCH_SIZE")
|
||||
|
||||
experiment_name = f"q20_{'search' if search else 'no_search'}_{model}_gpt5mini_lr{learning_rate}_{batch_size}x{group_size}_seed{seed}_{loss_fn}_rank{lora_rank}"
|
||||
|
||||
llm_proxy_port = _find_available_port()
|
||||
|
||||
config = Config(
|
||||
learning_rate=float(learning_rate),
|
||||
lora_rank=int(lora_rank),
|
||||
dataset_builder=AGLDatasetBuilder(
|
||||
train_dataset=train_dataset,
|
||||
val_dataset=test_dataset,
|
||||
batch_size=int(batch_size),
|
||||
shuffle=True,
|
||||
group_size=int(group_size),
|
||||
seed=int(seed),
|
||||
n_epochs=1,
|
||||
),
|
||||
loss_fn=loss_fn,
|
||||
renderer_name=renderer_name,
|
||||
model_name=model_name,
|
||||
log_path=f"logs/{experiment_name}",
|
||||
concurrency=40,
|
||||
eval_every=3 if int(batch_size) >= 16 else 6,
|
||||
eval_temperature=0.0,
|
||||
wandb_project="AgentLightningQ20",
|
||||
wandb_name=experiment_name,
|
||||
store_address=f"http://localhost:{port}",
|
||||
llm_proxy_port=llm_proxy_port,
|
||||
adapter_from_llm_proxy=False,
|
||||
llm_proxy_retry_attempts=5,
|
||||
)
|
||||
await entrypoint(config)
|
||||
|
||||
|
||||
def main() -> None:
|
||||
parser = argparse.ArgumentParser(description="Run the Q20 AgentLightning experiments.")
|
||||
parser.add_argument("--port", type=int, default=4747, help="Port for the AgentLightning store.")
|
||||
parser.add_argument("--search", action="store_true", help="Enable search tool.")
|
||||
parser.add_argument(
|
||||
"--model",
|
||||
choices=("qwen4b", "qwen30b"),
|
||||
default="qwen30b",
|
||||
help="Model variant to train.",
|
||||
)
|
||||
args = parser.parse_args()
|
||||
agl.configure_logger()
|
||||
asyncio.run(algo_animal_only(search=args.search, model=args.model, port=args.port))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,102 @@
|
||||
_step,training/reward,val/reward,val/turn_count,val/mean_response_length,prompt_length/mean,timing_s/step,timing_s/gen,timing_s/update_actor,critic/rewards/mean,_runtime
|
||||
0,,0.1,18.7,7.116309523809525,,,,,,117610
|
||||
1,0.3046875,,,,796.20849609375,1102.5046145201195,611.4199303030036,407.2597463859711,0.14453125,117610
|
||||
2,0.3046875,,,,796.471923828125,1158.9409745140001,685.9780410588719,388.904810605105,0.140625,117610
|
||||
3,0.3046875,,,,796.9541625976562,1183.4616961949505,683.4774876160081,411.8671451890841,0.1806640625,117610
|
||||
4,0.1953125,0.175,18.375,7.220833333333333,802.9275512695312,1230.9530485149007,723.1477734721266,417.09624714101665,0.07177734375,117610
|
||||
5,0.328125,,,,795.2113037109375,1119.1257553650066,651.5072246689815,380.88048044010065,0.15234375,117610
|
||||
6,0.234375,,,,798.3580322265625,1200.1410927549005,680.191835036967,423.63577328715473,0.130859375,117610
|
||||
7,0.3828125,,,,791.70361328125,1091.1698971481528,628.899237598991,376.86691920808516,0.2080078125,117610
|
||||
8,0.140625,0.2,18.275,7.288701923076923,802.339599609375,1310.8872264891397,754.7719417430926,453.12589750881307,0.08447265625,117610
|
||||
9,0.125,,,,804.6397705078125,1345.239424277097,810.6441754719708,433.8857404338196,0.033447265625,117610
|
||||
10,0.3125,,,,799.3956909179688,1161.094176589977,670.6886135889217,403.43296763510443,0.177734375,117610
|
||||
11,0.3125,,,,797.6264038085938,1150.565237802919,641.9966359678656,418.63549254694954,0.1640625,117610
|
||||
12,0.25,0.2,17.95,7.1842459746136225,797.6280517578125,1276.2892515989952,727.0784670119174,452.15015695896,0.1552734375,117610
|
||||
13,0.28125,,,,800.2874145507812,1165.797866908135,653.9699157448485,421.01264315191656,0.1328125,117610
|
||||
14,0.328125,,,,794.1991577148438,1129.391045982018,657.6720496169291,388.2192927559372,0.1669921875,117610
|
||||
15,0.5078125,,,,784.7161865234375,944.9720911767799,546.0519073570613,328.97260848386213,0.27734375,117610
|
||||
16,0.375,0.225,17.775,7.6837210338680935,796.765380859375,1148.6030243609566,652.5304786211345,416.3036692601163,0.1845703125,117610
|
||||
17,0.25,,,,803.0381469726562,1283.4119814070873,687.4512258181348,501.13829263299704,0.12109375,117610
|
||||
18,0.328125,,,,798.2249755859375,1208.7334561259486,656.2563504709397,465.84343973197974,0.1416015625,117610
|
||||
19,0.359375,,,,799.83203125,1299.5588729770388,733.2190334219486,475.26952956896275,0.201171875,117610
|
||||
20,0.3515625,0.3,17.125,7.404911616161615,797.8242797851562,1156.4406584899407,609.6820176420733,459.22672191495076,0.193359375,117610
|
||||
21,0.578125,,,,784.7311401367188,1011.3786156070419,540.3985798179638,395.7545199121814,0.3671875,117610
|
||||
22,0.3515625,,,,794.1632080078125,1096.2479667370208,568.4322332951706,442.8784905420616,0.1474609375,117610
|
||||
23,0.3671875,,,,798.87109375,1203.7530265289824,634.7429553929251,476.5616677000653,0.2470703125,117610
|
||||
24,0.515625,0.225,17.5,8.436829212454212,790.6985473632812,1120.552850207081,626.5691413639579,414.3390183679294,0.318359375,117610
|
||||
25,0.3046875,,,,804.4906616210938,1202.428829913959,641.9933786028996,469.9363567889668,0.130859375,117610
|
||||
26,0.5078125,,,,797.2493896484375,1004.9156147539616,550.7364874659106,380.3855297709815,0.251953125,117610
|
||||
27,0.40625,,,,799.004638671875,1200.738125425065,663.2200119069312,449.8409539829008,0.2216796875,117610
|
||||
28,0.2578125,0.3,17.25,8.275324448942872,806.0250244140625,1303.7187283299863,710.6126550051849,497.47215106803924,0.12158203125,117610
|
||||
29,0.5,,,,792.8434448242188,1118.0355577040464,633.8437178498134,406.0179593069479,0.28125,117610
|
||||
30,0.3515625,,,,802.9117431640625,1256.799214757979,681.3644229499623,483.24461435410194,0.2099609375,117610
|
||||
31,0.328125,,,,803.6769409179688,1263.9999931170605,686.7518970749807,485.53031270299107,0.1748046875,117610
|
||||
32,0.34375,0.325,16.6,10.216678173799886,798.471923828125,1255.1328372659627,687.4485883349553,476.3509692279622,0.1904296875,117610
|
||||
33,0.515625,,,,789.4701538085938,1030.4509477701504,554.3221048961859,400.8600224379916,0.2890625,117610
|
||||
34,0.5859375,,,,782.6408081054688,962.2953890629578,528.8236204001587,365.2219552791212,0.33203125,117610
|
||||
35,0.34375,,,,799.8563842773438,1191.999080745969,658.4736942781601,446.99611466098577,0.13671875,117610
|
||||
36,0.578125,0.35,15.525,8.109365842490842,779.6506958007812,1106.4755710260943,639.271896332968,392.47234387579374,0.37109375,117610
|
||||
37,0.6640625,,,,774.6544189453125,811.172239407897,439.72252744506113,310.9040303269867,0.369140625,117610
|
||||
38,0.34375,,,,795.004638671875,1245.1653238029685,657.3073519929312,493.7972838510759,0.2197265625,117610
|
||||
39,0.4609375,,,,791.053955078125,1105.4707711930387,597.5689138509333,425.0630634720437,0.263671875,117610
|
||||
40,0.4921875,0.375,16.3,10.423860965423465,791.4093017578125,1063.458090415923,615.1569433421828,376.14212922309525,0.2080078125,117610
|
||||
41,0.6328125,,,,774.0671997070312,920.8560700111557,517.0268700749148,339.1949531470891,0.37109375,117610
|
||||
42,0.71875,,,,771.002685546875,877.7075854998548,468.22234912985004,343.0345062338747,0.51953125,117610
|
||||
43,0.609375,,,,776.8258056640625,956.7139442590997,544.3875463858712,346.0753284650855,0.341796875,117610
|
||||
44,0.53125,0.325,16.55,12.730733363858363,785.2618408203125,1050.004291947931,550.0278525238391,420.56559745501727,0.32421875,117610
|
||||
45,0.421875,,,,791.487060546875,1199.6050526679028,668.394892572891,448.25217711692676,0.208984375,117610
|
||||
46,0.5859375,,,,775.0232543945312,823.5302822450176,430.7417006359901,331.26683038286865,0.3828125,117610
|
||||
47,0.5078125,,,,786.2590942382812,1042.7175411870703,564.2462075990625,400.7450303439982,0.2890625,117610
|
||||
48,0.5390625,0.45,14.775,11.101225334263258,783.4166870117188,1070.1401475900784,620.7554411469027,377.4922568020411,0.28515625,117610
|
||||
49,0.5546875,,,,781.8814086914062,1008.1630565300584,539.8103988219518,391.69032070599496,0.337890625,117610
|
||||
50,0.3359375,,,,791.7320556640625,1111.760559333954,639.665491594933,395.6344488619361,0.283203125,117610
|
||||
51,0.7265625,,,,764.1642456054688,756.7616706299596,420.84103450202383,281.6657863110304,0.4453125,117610
|
||||
52,0.6328125,0.375,16.075,13.621468443836864,784.01953125,966.0471282489598,538.9880744952243,357.6246237589512,0.390625,117610
|
||||
53,0.4375,,,,778.9411010742188,928.7091096008662,537.2056353311054,329.2399110449478,0.376953125,117610
|
||||
54,0.59375,,,,782.2806396484375,1016.438537609065,569.1388481238391,375.8957650079392,0.3515625,117610
|
||||
55,0.6484375,,,,771.8683471679688,939.0806282870471,533.8989278250374,340.3957449551672,0.40234375,117610
|
||||
56,0.3671875,0.35,16.2,19.88517491645781,788.7940063476562,1154.7141654719599,651.2763420869596,421.20551060396247,0.2578125,117610
|
||||
57,0.5390625,,,,789.3843994140625,1137.1038874639198,641.0837493620347,415.35716643184423,0.353515625,117610
|
||||
58,0.4765625,,,,797.156494140625,1331.1269907690585,813.4070900969673,433.55994284385815,0.287109375,117610
|
||||
59,0.5546875,,,,788.576904296875,1100.1657213480212,642.0692554989364,384.17918761097826,0.3203125,117610
|
||||
60,0.609375,0.325,16.25,23.788958916900093,783.0462646484375,1123.3953848779202,670.5850325429346,379.7657072460279,0.400390625,117610
|
||||
61,0.7734375,,,,761.45166015625,909.6616844048258,545.4608946170192,306.5315331360325,0.5703125,117610
|
||||
62,0.421875,,,,809.4129638671875,1183.570527816657,687.536484722048,413.73308628378436,0.1787109375,117610
|
||||
63,0.546875,,,,790.427734375,1153.0795624367893,660.0377149120905,414.2997006843798,0.337890625,117610
|
||||
64,0.6953125,0.45,15.125,26.493792632805793,775.70361328125,986.3617699625902,573.34735731408,346.34253714233637,0.478515625,117610
|
||||
65,0.65625,,,,776.4273071289062,886.4653019132093,518.2781961867586,301.19916198961437,0.40234375,117610
|
||||
66,0.4609375,,,,799.4501953125,1125.4120861291885,697.5071984897368,351.2019344866276,0.23828125,117610
|
||||
67,0.671875,,,,786.2866821289062,920.8134451908991,565.3532819049433,289.60387083608657,0.43359375,117610
|
||||
68,0.65625,0.425,15.475,40.69596174862719,786.4993896484375,1112.2871951330453,716.4161562402733,325.69422637298703,0.4765625,117610
|
||||
69,0.515625,,,,812.1629638671875,1068.928173509892,647.0788197251968,343.20824216492474,0.279296875,117610
|
||||
70,0.4921875,,,,809.6033325195312,1294.6572263641283,828.43673153501,383.37203713692725,0.330078125,117610
|
||||
71,0.5390625,,,,840.2871704101562,1076.5262934188358,662.1454815790057,338.6231060102582,0.30859375,117610
|
||||
72,0.3125,0.275,16.8,51.64261459129106,858.2796020507812,1335.0553015302867,810.5927845011465,428.45309878187254,0.177734375,117610
|
||||
73,0.5859375,,,,853.9349365234375,989.5323498891667,600.4900278560817,318.2910440908745,0.326171875,117610
|
||||
74,0.625,,,,882.6171264648438,1071.7057484658435,651.7059377571568,343.19169228104874,0.421875,117610
|
||||
75,0.6328125,,,,841.0895385742188,1029.2911517936736,621.7101862588897,333.56968876486644,0.4375,117610
|
||||
76,0.6171875,0.325,16.05,49.10926514457765,856.6372680664062,1031.3231639508158,646.9877604227513,313.9160722056404,0.37109375,117610
|
||||
77,0.6328125,,,,848.2918701171875,1028.9669121271,646.005708633922,313.33684751437977,0.3984375,117610
|
||||
78,0.6328125,,,,836.6986083984375,911.5672724130563,560.0547143132426,287.5774989039637,0.34765625,117610
|
||||
79,0.65625,,,,856.6270141601562,1086.8746752021834,712.7699016896077,303.58870471827686,0.412109375,117610
|
||||
80,0.5,0.3,15.8,40.68115896358543,867.8051147460938,1172.4720568540506,733.7728673098609,358.2690418479033,0.28125,117610
|
||||
81,0.6328125,,,,829.6460571289062,976.3369140150025,596.2475583553314,311.386835264042,0.400390625,117610
|
||||
82,0.5,,,,870.4857177734375,1111.1445019259118,678.2065090439282,355.80106785101816,0.2431640625,117610
|
||||
83,0.71875,,,,836.8998413085938,975.0908286077902,630.6664013490081,282.215487557929,0.4921875,117610
|
||||
84,0.640625,0.4,15.725,41.30748276942356,837.8508911132812,1157.8580382908694,713.8382352460176,364.0167114059441,0.498046875,117610
|
||||
85,0.5234375,,,,854.0055541992188,1146.2418191228062,702.7682227240875,358.14689655508846,0.32421875,117610
|
||||
86,0.609375,,,,839.7620239257812,1063.302877958864,672.9510853141546,316.86757072480395,0.37109375,117610
|
||||
87,0.7734375,,,,823.6213989257812,901.3103298349306,555.5903235049918,281.46095914114267,0.5859375,117610
|
||||
88,0.5234375,0.325,16.225,41.62867038920832,856.6713256835938,1128.800559183117,683.088544363156,360.8899938953109,0.32421875,117610
|
||||
89,0.4921875,,,,866.9029541015625,1199.5366350440308,727.9772844840772,384.19470559665933,0.2890625,117610
|
||||
90,0.5390625,,,,847.6346435546875,1082.1704699192196,667.291337471921,336.693435870111,0.29296875,117610
|
||||
91,0.515625,,,,863.8761596679688,1219.087663142942,742.6878459607251,391.8133728369139,0.291015625,117610
|
||||
92,0.6640625,0.425,15.675,43.9487030075188,834.0369873046875,971.0695746331476,552.8291859067976,347.24920363584533,0.421875,117610
|
||||
93,0.7890625,,,,818.5821533203125,767.7507211933844,443.4379415018484,270.9852881990373,0.52734375,117610
|
||||
94,0.5703125,,,,848.5193481445312,1116.6490032169968,664.7278517126106,374.48328295210376,0.318359375,117610
|
||||
95,0.5625,,,,846.4791870117188,1183.0659849327058,702.8679037117399,399.1422047931701,0.3515625,117610
|
||||
96,0.4765625,0.475,14.55,42.79920048701299,875.340576171875,1570.4535123840906,1040.1404876960441,437.75154913868755,0.294921875,117610
|
||||
97,0.703125,,,,816.9262084960938,1097.108550177887,694.1780394073576,331.45318541303277,0.5,117610
|
||||
98,0.6328125,,,,848.9102783203125,1195.6850957870483,733.1738747470081,384.3928339392878,0.41796875,117610
|
||||
99,0.65625,,,,843.986083984375,1192.4051685379818,736.648401861079,380.18598491698503,0.447265625,117610
|
||||
100,0.46875,0.425,14.775,48.24344190327647,863.0053100585938,1355.5787717560306,813.9199617747217,449.5442746761255,0.28515625,117610
|
||||
|
@@ -0,0 +1,297 @@
|
||||
import csv
|
||||
import json
|
||||
from collections import defaultdict
|
||||
|
||||
# File mappings
|
||||
files = {
|
||||
"qwen4b_withtool": "twenty_questions_qwen4b_withtool41_gpt5mini_20251027.jsonl",
|
||||
"qwen4b_notool": "twenty_questions_qwen4b_notool_gpt5mini_20251026.jsonl",
|
||||
"qwen30b_withtool": "twenty_questions_qwen30b_withtool41_gpt5mini_20251027.jsonl",
|
||||
"qwen30b_notool": "twenty_questions_qwen30b_notool_gpt5mini_20251026.jsonl",
|
||||
"qwen235b_notool": "twenty_questions_qwen235b_notool_gpt5mini_20251026.jsonl",
|
||||
"gpt41_notool": "twenty_questions_gpt41_notool_gpt5mini_20251026.jsonl",
|
||||
}
|
||||
|
||||
# Display names for configurations
|
||||
display_names = {
|
||||
"qwen4b_withtool": "Qwen-4B + Tool",
|
||||
"qwen4b_notool": "Qwen-4B No Tool",
|
||||
"qwen30b_withtool": "Qwen-30B + Tool",
|
||||
"qwen30b_notool": "Qwen-30B No Tool",
|
||||
"qwen235b_notool": "Qwen-235B No Tool",
|
||||
"gpt41_notool": "GPT-4.1 No Tool",
|
||||
}
|
||||
|
||||
|
||||
def load_split_mapping():
|
||||
"""Load the CSV mapping from answer to train/test split."""
|
||||
split_map = {}
|
||||
with open("../q20_nouns.csv", "r") as f:
|
||||
reader = csv.DictReader(f)
|
||||
for row in reader:
|
||||
split_map[row["answer"].lower()] = row["split"]
|
||||
return split_map
|
||||
|
||||
|
||||
def load_data(filename):
|
||||
"""Load JSONL data and extract relevant information."""
|
||||
data = []
|
||||
with open(filename, "r") as f:
|
||||
for line in f:
|
||||
entry = json.loads(line)
|
||||
if "correct" in entry and "category" in entry and "answer" in entry:
|
||||
data.append({"correct": entry["correct"], "category": entry["category"], "answer": entry["answer"]})
|
||||
else:
|
||||
print(f"Skipping entry: {entry}")
|
||||
continue
|
||||
return data
|
||||
|
||||
|
||||
# Load split mapping
|
||||
split_map = load_split_mapping()
|
||||
|
||||
# Load all data
|
||||
all_data = {config: load_data(filename) for config, filename in files.items()}
|
||||
|
||||
# Calculate overall success rates
|
||||
overall_data = []
|
||||
for config, data in all_data.items():
|
||||
total = len(data)
|
||||
correct = sum(1 for item in data if item["correct"])
|
||||
success_rate = (correct / total * 100) if total > 0 else 0
|
||||
overall_data.append({"configuration": display_names[config], "success_rate": success_rate})
|
||||
|
||||
# Calculate success rate by category for specific configurations
|
||||
configs_to_compare = ["qwen4b_withtool", "qwen30b_notool", "gpt41_notool"]
|
||||
category_data = []
|
||||
|
||||
for config in configs_to_compare:
|
||||
data = all_data[config]
|
||||
categories = set(item["category"] for item in data)
|
||||
|
||||
for category in categories:
|
||||
category_items = [item for item in data if item["category"] == category]
|
||||
total = len(category_items)
|
||||
correct = sum(1 for item in category_items if item["correct"])
|
||||
success_rate = (correct / total * 100) if total > 0 else 0
|
||||
category_data.append(
|
||||
{
|
||||
"category": category.capitalize(),
|
||||
"configuration": display_names[config],
|
||||
"success_rate": success_rate,
|
||||
}
|
||||
)
|
||||
|
||||
# Calculate success rate by train/test split for all configurations
|
||||
split_data = []
|
||||
for config, data in all_data.items():
|
||||
for split_type in ["train", "test"]:
|
||||
split_items = [item for item in data if split_map.get(item["answer"].lower()) == split_type]
|
||||
total = len(split_items)
|
||||
correct = sum(1 for item in split_items if item["correct"])
|
||||
success_rate = (correct / total * 100) if total > 0 else 0
|
||||
split_data.append(
|
||||
{"split": split_type.capitalize(), "configuration": display_names[config], "success_rate": success_rate}
|
||||
)
|
||||
|
||||
# Calculate count by category from the CSV
|
||||
category_count_data = []
|
||||
with open("../q20_nouns.csv", "r") as f:
|
||||
reader = csv.DictReader(f)
|
||||
category_counts = defaultdict(int)
|
||||
for row in reader:
|
||||
if row["category"]: # Skip empty rows
|
||||
category_counts[row["category"].capitalize()] += 1
|
||||
|
||||
for category, count in sorted(category_counts.items()):
|
||||
category_count_data.append({"category": category, "count": count})
|
||||
|
||||
# Vega-Lite specification for overall success rate
|
||||
vega_spec_overall = {
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"description": "Overall Success Rate Across Six Configurations",
|
||||
"width": 600,
|
||||
"height": 400,
|
||||
"config": {
|
||||
"axis": {"labelFontSize": 14, "titleFontSize": 16, "titleFontWeight": "normal"},
|
||||
"legend": {"labelFontSize": 14, "titleFontSize": 14},
|
||||
},
|
||||
"data": {"values": overall_data},
|
||||
"mark": {"type": "bar", "color": "#2E86AB", "opacity": 0.8},
|
||||
"encoding": {
|
||||
"x": {
|
||||
"field": "configuration",
|
||||
"type": "nominal",
|
||||
"title": "Configuration",
|
||||
"axis": {"labelAngle": -45, "labelAlign": "right"},
|
||||
},
|
||||
"y": {
|
||||
"field": "success_rate",
|
||||
"type": "quantitative",
|
||||
"title": "Success Rate (%)",
|
||||
"scale": {"domain": [0, 100]},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
# Vega-Lite specification for success rate by category
|
||||
vega_spec_category = {
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"description": "Success Rate by Category: Model Comparison",
|
||||
"width": 600,
|
||||
"height": 400,
|
||||
"config": {
|
||||
"axis": {"labelFontSize": 14, "titleFontSize": 16, "titleFontWeight": "normal"},
|
||||
"legend": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 14,
|
||||
"fillColor": "white",
|
||||
"strokeColor": "#ccc",
|
||||
"padding": 10,
|
||||
"cornerRadius": 5,
|
||||
},
|
||||
},
|
||||
"data": {"values": category_data},
|
||||
"mark": {"type": "bar", "opacity": 0.8},
|
||||
"encoding": {
|
||||
"x": {
|
||||
"field": "category",
|
||||
"type": "nominal",
|
||||
"title": "Category",
|
||||
"axis": {"labelAngle": -45, "labelAlign": "right"},
|
||||
},
|
||||
"y": {
|
||||
"field": "success_rate",
|
||||
"type": "quantitative",
|
||||
"title": "Success Rate (%)",
|
||||
"scale": {"domain": [0, 100]},
|
||||
},
|
||||
"color": {
|
||||
"field": "configuration",
|
||||
"type": "nominal",
|
||||
"title": "Configuration",
|
||||
"scale": {
|
||||
"domain": [
|
||||
display_names["qwen4b_withtool"],
|
||||
display_names["qwen30b_notool"],
|
||||
display_names["gpt41_notool"],
|
||||
],
|
||||
"range": ["#2E86AB", "#E63946", "#06A77D"],
|
||||
},
|
||||
},
|
||||
"xOffset": {"field": "configuration"},
|
||||
},
|
||||
}
|
||||
|
||||
# Vega-Lite specification for success rate by train/test split
|
||||
vega_spec_split = {
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"description": "Success Rate by Train/Test Split: All Configurations",
|
||||
"width": 600,
|
||||
"height": 400,
|
||||
"config": {
|
||||
"axis": {"labelFontSize": 14, "titleFontSize": 16, "titleFontWeight": "normal"},
|
||||
"legend": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 14,
|
||||
"fillColor": "white",
|
||||
"strokeColor": "#ccc",
|
||||
"padding": 10,
|
||||
"cornerRadius": 5,
|
||||
},
|
||||
},
|
||||
"data": {"values": split_data},
|
||||
"mark": {"type": "bar", "opacity": 0.8},
|
||||
"encoding": {
|
||||
"x": {
|
||||
"field": "configuration",
|
||||
"type": "nominal",
|
||||
"title": "Configuration",
|
||||
"axis": {"labelAngle": -45, "labelAlign": "right"},
|
||||
},
|
||||
"y": {
|
||||
"field": "success_rate",
|
||||
"type": "quantitative",
|
||||
"title": "Success Rate (%)",
|
||||
"scale": {"domain": [0, 100]},
|
||||
},
|
||||
"color": {
|
||||
"field": "split",
|
||||
"type": "nominal",
|
||||
"title": "Split",
|
||||
"scale": {
|
||||
"domain": ["Train", "Test"],
|
||||
"range": ["#2E86AB", "#E63946"],
|
||||
},
|
||||
},
|
||||
"xOffset": {"field": "split"},
|
||||
},
|
||||
}
|
||||
|
||||
# Vega-Lite specification for category counts
|
||||
vega_spec_category_count = {
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"description": "Item Count by Category",
|
||||
"width": 600,
|
||||
"height": 400,
|
||||
"config": {
|
||||
"axis": {"labelFontSize": 14, "titleFontSize": 16, "titleFontWeight": "normal"},
|
||||
"legend": {"labelFontSize": 14, "titleFontSize": 14},
|
||||
},
|
||||
"data": {"values": category_count_data},
|
||||
"mark": {"type": "bar", "color": "#06A77D", "opacity": 0.8},
|
||||
"encoding": {
|
||||
"x": {
|
||||
"field": "category",
|
||||
"type": "nominal",
|
||||
"title": "Category",
|
||||
"axis": {"labelAngle": -45, "labelAlign": "right"},
|
||||
},
|
||||
"y": {
|
||||
"field": "count",
|
||||
"type": "quantitative",
|
||||
"title": "Number of Items",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
# Save specifications
|
||||
with open("barplot_overall.json", "w") as f:
|
||||
json.dump(vega_spec_overall, f, indent=2)
|
||||
|
||||
with open("barplot_category.json", "w") as f:
|
||||
json.dump(vega_spec_category, f, indent=2)
|
||||
|
||||
with open("barplot_split.json", "w") as f:
|
||||
json.dump(vega_spec_split, f, indent=2)
|
||||
|
||||
with open("barplot_category_count.json", "w") as f:
|
||||
json.dump(vega_spec_category_count, f, indent=2)
|
||||
|
||||
print("Created barplot_overall.json, barplot_category.json, barplot_split.json, and barplot_category_count.json")
|
||||
|
||||
# Print summary statistics
|
||||
print("\n=== Overall Success Rates ===")
|
||||
for item in overall_data:
|
||||
print(f"{item['configuration']:25s}: {item['success_rate']:.1f}%")
|
||||
|
||||
print("\n=== Success Rates by Category ===")
|
||||
categories = sorted(set(item["category"] for item in category_data))
|
||||
for category in categories:
|
||||
print(f"\n{category}:")
|
||||
for item in category_data:
|
||||
if item["category"] == category:
|
||||
print(f" {item['configuration']:25s}: {item['success_rate']:.1f}%")
|
||||
|
||||
print("\n=== Success Rates by Train/Test Split ===")
|
||||
for split_type in ["Train", "Test"]:
|
||||
print(f"\n{split_type}:")
|
||||
for item in split_data:
|
||||
if item["split"] == split_type:
|
||||
print(f" {item['configuration']:25s}: {item['success_rate']:.1f}%")
|
||||
|
||||
print("\n=== Item Count by Category ===")
|
||||
total_items = sum(item["count"] for item in category_count_data)
|
||||
for item in category_count_data:
|
||||
print(f"{item['category']:15s}: {item['count']:3d} items")
|
||||
print(f"\n{'Total':15s}: {total_items:3d} items")
|
||||
@@ -0,0 +1,191 @@
|
||||
{
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"description": "Success Rate by Category: Model Comparison",
|
||||
"width": 600,
|
||||
"height": 400,
|
||||
"config": {
|
||||
"axis": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 16,
|
||||
"titleFontWeight": "normal"
|
||||
},
|
||||
"legend": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 14,
|
||||
"fillColor": "white",
|
||||
"strokeColor": "#ccc",
|
||||
"padding": 10,
|
||||
"cornerRadius": 5
|
||||
}
|
||||
},
|
||||
"data": {
|
||||
"values": [
|
||||
{
|
||||
"category": "Electronics",
|
||||
"configuration": "Qwen-4B + Tool",
|
||||
"success_rate": 65.21739130434783
|
||||
},
|
||||
{
|
||||
"category": "Stationery",
|
||||
"configuration": "Qwen-4B + Tool",
|
||||
"success_rate": 75.0
|
||||
},
|
||||
{
|
||||
"category": "Flower",
|
||||
"configuration": "Qwen-4B + Tool",
|
||||
"success_rate": 36.84210526315789
|
||||
},
|
||||
{
|
||||
"category": "Animal",
|
||||
"configuration": "Qwen-4B + Tool",
|
||||
"success_rate": 51.515151515151516
|
||||
},
|
||||
{
|
||||
"category": "Celebrity",
|
||||
"configuration": "Qwen-4B + Tool",
|
||||
"success_rate": 13.333333333333334
|
||||
},
|
||||
{
|
||||
"category": "Furniture",
|
||||
"configuration": "Qwen-4B + Tool",
|
||||
"success_rate": 91.66666666666666
|
||||
},
|
||||
{
|
||||
"category": "Instrument",
|
||||
"configuration": "Qwen-4B + Tool",
|
||||
"success_rate": 85.0
|
||||
},
|
||||
{
|
||||
"category": "Character",
|
||||
"configuration": "Qwen-4B + Tool",
|
||||
"success_rate": 37.5
|
||||
},
|
||||
{
|
||||
"category": "Electronics",
|
||||
"configuration": "Qwen-30B No Tool",
|
||||
"success_rate": 30.434782608695656
|
||||
},
|
||||
{
|
||||
"category": "Stationery",
|
||||
"configuration": "Qwen-30B No Tool",
|
||||
"success_rate": 35.0
|
||||
},
|
||||
{
|
||||
"category": "Flower",
|
||||
"configuration": "Qwen-30B No Tool",
|
||||
"success_rate": 15.0
|
||||
},
|
||||
{
|
||||
"category": "Animal",
|
||||
"configuration": "Qwen-30B No Tool",
|
||||
"success_rate": 58.333333333333336
|
||||
},
|
||||
{
|
||||
"category": "Celebrity",
|
||||
"configuration": "Qwen-30B No Tool",
|
||||
"success_rate": 19.35483870967742
|
||||
},
|
||||
{
|
||||
"category": "Furniture",
|
||||
"configuration": "Qwen-30B No Tool",
|
||||
"success_rate": 70.83333333333334
|
||||
},
|
||||
{
|
||||
"category": "Instrument",
|
||||
"configuration": "Qwen-30B No Tool",
|
||||
"success_rate": 80.0
|
||||
},
|
||||
{
|
||||
"category": "Character",
|
||||
"configuration": "Qwen-30B No Tool",
|
||||
"success_rate": 15.384615384615385
|
||||
},
|
||||
{
|
||||
"category": "Electronics",
|
||||
"configuration": "GPT-4.1 No Tool",
|
||||
"success_rate": 60.86956521739131
|
||||
},
|
||||
{
|
||||
"category": "Stationery",
|
||||
"configuration": "GPT-4.1 No Tool",
|
||||
"success_rate": 80.0
|
||||
},
|
||||
{
|
||||
"category": "Flower",
|
||||
"configuration": "GPT-4.1 No Tool",
|
||||
"success_rate": 70.0
|
||||
},
|
||||
{
|
||||
"category": "Animal",
|
||||
"configuration": "GPT-4.1 No Tool",
|
||||
"success_rate": 77.77777777777779
|
||||
},
|
||||
{
|
||||
"category": "Celebrity",
|
||||
"configuration": "GPT-4.1 No Tool",
|
||||
"success_rate": 64.51612903225806
|
||||
},
|
||||
{
|
||||
"category": "Furniture",
|
||||
"configuration": "GPT-4.1 No Tool",
|
||||
"success_rate": 87.5
|
||||
},
|
||||
{
|
||||
"category": "Instrument",
|
||||
"configuration": "GPT-4.1 No Tool",
|
||||
"success_rate": 90.0
|
||||
},
|
||||
{
|
||||
"category": "Character",
|
||||
"configuration": "GPT-4.1 No Tool",
|
||||
"success_rate": 69.23076923076923
|
||||
}
|
||||
]
|
||||
},
|
||||
"mark": {
|
||||
"type": "bar",
|
||||
"opacity": 0.8
|
||||
},
|
||||
"encoding": {
|
||||
"x": {
|
||||
"field": "category",
|
||||
"type": "nominal",
|
||||
"title": "Category",
|
||||
"axis": {
|
||||
"labelAngle": -45,
|
||||
"labelAlign": "right"
|
||||
}
|
||||
},
|
||||
"y": {
|
||||
"field": "success_rate",
|
||||
"type": "quantitative",
|
||||
"title": "Success Rate (%)",
|
||||
"scale": {
|
||||
"domain": [
|
||||
0,
|
||||
100
|
||||
]
|
||||
}
|
||||
},
|
||||
"color": {
|
||||
"field": "configuration",
|
||||
"type": "nominal",
|
||||
"title": "Configuration",
|
||||
"scale": {
|
||||
"domain": [
|
||||
"Qwen-4B + Tool",
|
||||
"Qwen-30B No Tool",
|
||||
"GPT-4.1 No Tool"
|
||||
],
|
||||
"range": [
|
||||
"#2E86AB",
|
||||
"#E63946",
|
||||
"#06A77D"
|
||||
]
|
||||
}
|
||||
},
|
||||
"xOffset": {
|
||||
"field": "configuration"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
{
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"description": "Item Count by Category",
|
||||
"width": 600,
|
||||
"height": 400,
|
||||
"config": {
|
||||
"axis": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 16,
|
||||
"titleFontWeight": "normal"
|
||||
},
|
||||
"legend": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 14
|
||||
}
|
||||
},
|
||||
"data": {
|
||||
"values": [
|
||||
{
|
||||
"category": "Animal",
|
||||
"count": 36
|
||||
},
|
||||
{
|
||||
"category": "Celebrity",
|
||||
"count": 31
|
||||
},
|
||||
{
|
||||
"category": "Character",
|
||||
"count": 26
|
||||
},
|
||||
{
|
||||
"category": "Electronics",
|
||||
"count": 23
|
||||
},
|
||||
{
|
||||
"category": "Flower",
|
||||
"count": 20
|
||||
},
|
||||
{
|
||||
"category": "Furniture",
|
||||
"count": 24
|
||||
},
|
||||
{
|
||||
"category": "Instrument",
|
||||
"count": 20
|
||||
},
|
||||
{
|
||||
"category": "Stationery",
|
||||
"count": 20
|
||||
}
|
||||
]
|
||||
},
|
||||
"mark": {
|
||||
"type": "bar",
|
||||
"color": "#06A77D",
|
||||
"opacity": 0.8
|
||||
},
|
||||
"encoding": {
|
||||
"x": {
|
||||
"field": "category",
|
||||
"type": "nominal",
|
||||
"title": "Category",
|
||||
"axis": {
|
||||
"labelAngle": -45,
|
||||
"labelAlign": "right"
|
||||
}
|
||||
},
|
||||
"y": {
|
||||
"field": "count",
|
||||
"type": "quantitative",
|
||||
"title": "Number of Items"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
{
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"description": "Overall Success Rate Across Six Configurations",
|
||||
"width": 600,
|
||||
"height": 400,
|
||||
"config": {
|
||||
"axis": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 16,
|
||||
"titleFontWeight": "normal"
|
||||
},
|
||||
"legend": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 14
|
||||
}
|
||||
},
|
||||
"data": {
|
||||
"values": [
|
||||
{
|
||||
"configuration": "Qwen-4B + Tool",
|
||||
"success_rate": 54.92227979274611
|
||||
},
|
||||
{
|
||||
"configuration": "Qwen-4B No Tool",
|
||||
"success_rate": 14.499999999999998
|
||||
},
|
||||
{
|
||||
"configuration": "Qwen-30B + Tool",
|
||||
"success_rate": 49.23076923076923
|
||||
},
|
||||
{
|
||||
"configuration": "Qwen-30B No Tool",
|
||||
"success_rate": 40.5
|
||||
},
|
||||
{
|
||||
"configuration": "Qwen-235B No Tool",
|
||||
"success_rate": 63.775510204081634
|
||||
},
|
||||
{
|
||||
"configuration": "GPT-4.1 No Tool",
|
||||
"success_rate": 74.5
|
||||
}
|
||||
]
|
||||
},
|
||||
"mark": {
|
||||
"type": "bar",
|
||||
"color": "#2E86AB",
|
||||
"opacity": 0.8
|
||||
},
|
||||
"encoding": {
|
||||
"x": {
|
||||
"field": "configuration",
|
||||
"type": "nominal",
|
||||
"title": "Configuration",
|
||||
"axis": {
|
||||
"labelAngle": -45,
|
||||
"labelAlign": "right"
|
||||
}
|
||||
},
|
||||
"y": {
|
||||
"field": "success_rate",
|
||||
"type": "quantitative",
|
||||
"title": "Success Rate (%)",
|
||||
"scale": {
|
||||
"domain": [
|
||||
0,
|
||||
100
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,129 @@
|
||||
{
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"description": "Success Rate by Train/Test Split: All Configurations",
|
||||
"width": 600,
|
||||
"height": 400,
|
||||
"config": {
|
||||
"axis": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 16,
|
||||
"titleFontWeight": "normal"
|
||||
},
|
||||
"legend": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 14,
|
||||
"fillColor": "white",
|
||||
"strokeColor": "#ccc",
|
||||
"padding": 10,
|
||||
"cornerRadius": 5
|
||||
}
|
||||
},
|
||||
"data": {
|
||||
"values": [
|
||||
{
|
||||
"split": "Train",
|
||||
"configuration": "Qwen-4B + Tool",
|
||||
"success_rate": 55.84415584415584
|
||||
},
|
||||
{
|
||||
"split": "Test",
|
||||
"configuration": "Qwen-4B + Tool",
|
||||
"success_rate": 51.28205128205128
|
||||
},
|
||||
{
|
||||
"split": "Train",
|
||||
"configuration": "Qwen-4B No Tool",
|
||||
"success_rate": 15.625
|
||||
},
|
||||
{
|
||||
"split": "Test",
|
||||
"configuration": "Qwen-4B No Tool",
|
||||
"success_rate": 10.0
|
||||
},
|
||||
{
|
||||
"split": "Train",
|
||||
"configuration": "Qwen-30B + Tool",
|
||||
"success_rate": 49.358974358974365
|
||||
},
|
||||
{
|
||||
"split": "Test",
|
||||
"configuration": "Qwen-30B + Tool",
|
||||
"success_rate": 48.717948717948715
|
||||
},
|
||||
{
|
||||
"split": "Train",
|
||||
"configuration": "Qwen-30B No Tool",
|
||||
"success_rate": 43.75
|
||||
},
|
||||
{
|
||||
"split": "Test",
|
||||
"configuration": "Qwen-30B No Tool",
|
||||
"success_rate": 27.500000000000004
|
||||
},
|
||||
{
|
||||
"split": "Train",
|
||||
"configuration": "Qwen-235B No Tool",
|
||||
"success_rate": 65.82278481012658
|
||||
},
|
||||
{
|
||||
"split": "Test",
|
||||
"configuration": "Qwen-235B No Tool",
|
||||
"success_rate": 55.26315789473685
|
||||
},
|
||||
{
|
||||
"split": "Train",
|
||||
"configuration": "GPT-4.1 No Tool",
|
||||
"success_rate": 72.5
|
||||
},
|
||||
{
|
||||
"split": "Test",
|
||||
"configuration": "GPT-4.1 No Tool",
|
||||
"success_rate": 82.5
|
||||
}
|
||||
]
|
||||
},
|
||||
"mark": {
|
||||
"type": "bar",
|
||||
"opacity": 0.8
|
||||
},
|
||||
"encoding": {
|
||||
"x": {
|
||||
"field": "configuration",
|
||||
"type": "nominal",
|
||||
"title": "Configuration",
|
||||
"axis": {
|
||||
"labelAngle": -45,
|
||||
"labelAlign": "right"
|
||||
}
|
||||
},
|
||||
"y": {
|
||||
"field": "success_rate",
|
||||
"type": "quantitative",
|
||||
"title": "Success Rate (%)",
|
||||
"scale": {
|
||||
"domain": [
|
||||
0,
|
||||
100
|
||||
]
|
||||
}
|
||||
},
|
||||
"color": {
|
||||
"field": "split",
|
||||
"type": "nominal",
|
||||
"title": "Split",
|
||||
"scale": {
|
||||
"domain": [
|
||||
"Train",
|
||||
"Test"
|
||||
],
|
||||
"range": [
|
||||
"#2E86AB",
|
||||
"#E63946"
|
||||
]
|
||||
}
|
||||
},
|
||||
"xOffset": {
|
||||
"field": "split"
|
||||
}
|
||||
}
|
||||
}
|
||||
+75
@@ -0,0 +1,75 @@
|
||||
{"index": 95, "id": "215f2b47-cb97-4d13-b511-d6f5c434605e", "answer": "Spaghetti", "category": "food", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it an electronic device?", "response": "no"}, {"question": "Is it a kitchen utensil?", "response": "no"}, {"question": "Is it a tool used for cleaning?", "response": "no"}, {"question": "Is it a tool used for writing?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it a tool used for repairing or fixing things?", "response": "no"}, {"question": "Is it a tool used for measuring?", "response": "no"}, {"question": "Is it a tool used for cutting?", "response": "no"}, {"question": "Is it a tool used for fastening or securing objects?", "response": "no"}, {"question": "Is it a tool used for opening or closing containers?", "response": "no"}, {"question": "Is it a tool used for lighting a fire?", "response": "no"}, {"question": "Is it a tool used for grooming or personal care?", "response": "no"}, {"question": "Is it a tool used for connecting or joining materials together?", "response": "no"}, {"question": "Is it a paperclip?", "response": "no"}, {"question": "Is it a stapler?", "response": "no"}, {"question": "Is it a tool used for hanging or mounting objects on walls?", "response": "no"}, {"question": "Is it a hammer?", "response": "no"}, {"question": "Is it a key?", "response": "no"}]}
|
||||
{"index": 15, "id": "84c80d82-8c7a-452e-92f9-fc764d4e04bf", "answer": "Isaac Newton", "category": "person", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it an object?", "response": "no"}, {"question": "Is it a living thing?", "response": "no"}, {"question": "Is it a concept?", "response": "no"}, {"question": "Is it a physical place?", "response": "no"}, {"question": "Is it a fictional character?", "response": "no"}, {"question": "Is it a sports team?", "response": "no"}, {"question": "Is it a sports league?", "response": "no"}, {"question": "Is it a historical event?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it a form of entertainment?", "response": "no"}, {"question": "Is it a form of communication?", "response": "no"}, {"question": "Is it a scientific theory?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a form of transportation?", "response": "no"}, {"question": "Is it a holiday?", "response": "no"}, {"question": "Is it a natural disaster?", "response": "no"}, {"question": "Is it a mountain?", "response": "no"}, {"question": "Is it a celestial body?", "response": "no"}, {"question": "Is it a color?", "response": "no"}, {"question": "Is it a letter of the alphabet?", "response": "no"}]}
|
||||
{"index": 30, "id": "85f5e4dc-6e02-4db7-90d2-24428a001399", "answer": "Taj Mahal", "category": "place", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a human-made object?", "response": "yes"}, {"question": "Is it a tool used in everyday household tasks?", "response": "no"}, {"question": "Is it an electronic device?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it a mode of transportation?", "response": "no"}, {"question": "Is it a clothing item?", "response": "no"}, {"question": "Is it a kitchen appliance?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a sports equipment?", "response": "no"}, {"question": "Is it a book?", "response": "no"}, {"question": "Is it a common writing utensil?", "response": "no"}, {"question": "Is it a common household object not typically found in the kitchen or bathroom?", "response": "no"}, {"question": "Is it a common household object found in the bedroom or living room?", "response": "no"}, {"question": "Is it a common household object found in the bathroom?", "response": "no"}, {"question": "Is it a common household object found in an office or study?", "response": "no"}, {"question": "Is it a common household object found in hallways or used for organization?", "response": "no"}, {"question": "Is it a common household object used for illumination?", "response": "no"}, {"question": "Is it a common household object used for timekeeping?", "response": "no"}, {"question": "Is it a mirror?", "response": "no"}]}
|
||||
{"index": 158, "id": "edbd2a58-0f15-4ec2-bca7-a32882942489", "answer": "The Joker", "category": "character", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "yes"}, {"question": "Is it an animal?", "response": "n/a"}, {"question": "Is it a real animal?", "response": "no"}, {"question": "Is it a fictional creature?", "response": "no"}, {"question": "Is it a mythical being?", "response": "no"}, {"question": "Is it a plant?", "response": "no"}, {"question": "Is it a fungus?", "response": "no"}, {"question": "Is it a microorganism?", "response": "no"}, {"question": "Is it a non-animal living organism?", "response": "no"}, {"question": "Is it a living organism that is not classified under known biological kingdoms?", "response": "no"}, {"question": "Is it a concept?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it a virus?", "response": "no"}, {"question": "Is it a natural geological formation?", "response": "no"}, {"question": "Is it a natural biological entity?", "response": "no"}, {"question": "Is it a natural entity that is not biological or geological in nature?", "response": "no"}, {"question": "Is it an abstract entity?", "response": "no"}, {"question": "Is it a fictional character?", "response": "yes"}, {"question": "Is it a character from a fairy tale?", "response": "no"}, {"question": "Is it a superhero?", "response": "no"}]}
|
||||
{"index": 128, "id": "08dec2a4-6333-463b-b888-1592230d55d3", "answer": "Golf", "category": "sport", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it a physical place or location?", "response": "no"}, {"question": "Is it an abstract concept?", "response": "no"}, {"question": "Is it a celestial body?", "response": "no"}, {"question": "Is it a force or form of energy?", "response": "no"}, {"question": "Is it a geological formation?", "response": "no"}, {"question": "Is it a body of water?", "response": "no"}, {"question": "Is it a meteorological event?", "response": "no"}, {"question": "Is it a subatomic particle?", "response": "no"}, {"question": "Is it a mathematical constant?", "response": "no"}, {"question": "Is it a naturally occurring chemical element?", "response": "no"}, {"question": "Is it a naturally occurring mineral?", "response": "no"}, {"question": "Is it a naturally occurring organic compound?", "response": "no"}, {"question": "Is it a naturally occurring inorganic compound?", "response": "n/a"}, {"question": "Is it a naturally occurring inorganic substance?", "response": "no"}, {"question": "Is it a naturally occurring inorganic compound?", "response": "no"}, {"question": "Is it a naturally occurring non-compound substance?", "response": "n/a"}, {"question": "Is it gravity?", "response": "no"}]}
|
||||
{"index": 115, "id": "af113f90-d1a5-4acf-999a-f269624f60bc", "answer": "Music", "category": "concept", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 9, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it man-made?", "response": "yes"}, {"question": "Is it an object?", "response": "no"}, {"question": "Is it a mode of transportation?", "response": "no"}, {"question": "Is it a form of entertainment?", "response": "yes"}, {"question": "Is it a type of performance art?", "response": "yes"}, {"question": "Is it a form of dance?", "response": "no"}, {"question": "Is it a form of theater?", "response": "no"}, {"question": "Is it music?", "response": "yes"}]}
|
||||
{"index": 69, "id": "eb13eaba-e9f0-4559-bbdc-a5c41532d36e", "answer": "Watch", "category": "object", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living thing?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it an electronic device?", "response": "yes"}, {"question": "Is it primarily used for communication?", "response": "no"}, {"question": "Is it primarily used for entertainment?", "response": "no"}, {"question": "Is it primarily used for generating or consuming energy?", "response": "no"}, {"question": "Is it primarily used for storing or processing data?", "response": "yes"}, {"question": "Is it a computer?", "response": "yes"}, {"question": "Is it a desktop computer?", "response": "no"}, {"question": "Is it a laptop?", "response": "no"}, {"question": "Is it a tablet?", "response": "no"}, {"question": "Is it a smartphone?", "response": "no"}, {"question": "Is it a wearable computer?", "response": "yes"}, {"question": "Is it a smartwatch?", "response": "no"}, {"question": "Is it a fitness tracker?", "response": "no"}, {"question": "Is it Google Glass?", "response": "no"}, {"question": "Is it a VR headset?", "response": "no"}, {"question": "Is it an Apple Watch?", "response": "no"}, {"question": "Is it a smart ring?", "response": "no"}, {"question": "Is it a smart glasses device?", "response": "no"}]}
|
||||
{"index": 170, "id": "132aad0f-f8c3-4ba6-a684-4bd5ff4d11c9", "answer": "Cloud", "category": "nature", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it an electronic device?", "response": "no"}, {"question": "Is it a tool?", "response": "yes"}, {"question": "Is it primarily used in household tasks?", "response": "no"}, {"question": "Is it primarily used in construction or outdoor work?", "response": "no"}, {"question": "Is it a tool used in sports or physical activities?", "response": "no"}, {"question": "Is it a tool used in artistic or creative activities?", "response": "yes"}, {"question": "Is it a paintbrush?", "response": "no"}, {"question": "Is it a writing instrument?", "response": "no"}, {"question": "Is it a sculpting tool?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a tool used in drawing or sketching?", "response": "no"}, {"question": "Is it a sewing needle?", "response": "no"}, {"question": "Is it a chisel?", "response": "no"}, {"question": "Is it a tool used in printing or engraving?", "response": "no"}, {"question": "Is it a tool used in woodworking or carving?", "response": "no"}, {"question": "Is it a tool used in metalworking or jewelry making?", "response": "no"}, {"question": "Is it a tool used in pottery or ceramics?", "response": "no"}, {"question": "Is it a spatula?", "response": "no"}]}
|
||||
{"index": 174, "id": "4f9e30b2-2deb-40c8-abce-2bb459634596", "answer": "Treasure", "category": "object", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it an animal?", "response": "no"}, {"question": "Is it a living thing?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it an electronic device?", "response": "no"}, {"question": "Is it a household object?", "response": "no"}, {"question": "Is it a tool?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it a piece of clothing?", "response": "no"}, {"question": "Is it a kitchen utensil?", "response": "no"}, {"question": "Is it a type of sports equipment?", "response": "no"}, {"question": "Is it a form of transportation?", "response": "no"}, {"question": "Is it a writing instrument?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a book?", "response": "no"}, {"question": "Is it a piece of jewelry?", "response": "no"}, {"question": "Is it a mirror?", "response": "no"}, {"question": "Is it a clock?", "response": "no"}, {"question": "Is it a key?", "response": "no"}, {"question": "Is it a hammer?", "response": "no"}, {"question": "Is it a chair?", "response": "no"}]}
|
||||
{"index": 45, "id": "8fd61c6f-24d7-4b18-8b6a-10cac54eb706", "answer": "Eagle", "category": "animal", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "yes"}, {"question": "Is it an animal?", "response": "yes"}, {"question": "Does it live primarily in water?", "response": "no"}, {"question": "Does it have fur?", "response": "no"}, {"question": "Does it have feathers?", "response": "yes"}, {"question": "Is it a bird?", "response": "yes"}, {"question": "Is it a flightless bird?", "response": "no"}, {"question": "Is it a bird commonly found in urban or city environments?", "response": "no"}, {"question": "Is it a bird that migrates long distances?", "response": "yes"}, {"question": "Is it a bird that migrates across continents?", "response": "yes"}, {"question": "Is it a bird that breeds in the Arctic and winters in the Antarctic?", "response": "no"}, {"question": "Is it the Arctic Tern?", "response": "no"}, {"question": "Is it the Barn Swallow?", "response": "no"}, {"question": "Is it the **Bald Eagle**?", "response": "no"}, {"question": "Is it the **Swallow**?", "response": "no"}, {"question": "Is it the **American Robin**?", "response": "no"}, {"question": "Is it the **Peregrine Falcon**?", "response": "no"}, {"question": "Is it the **Bar-tailed Godwit**?", "response": "no"}, {"question": "Is it the **Arctic Tern**?", "response": "no"}, {"question": "Is it the **Swainson's Hawk**?", "response": "no"}]}
|
||||
{"index": 66, "id": "2fa619e1-07e8-40e9-97f9-93d080a46297", "answer": "Umbrella", "category": "object", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it a tool?", "response": "yes"}, {"question": "Is it typically used in a household setting?", "response": "no"}, {"question": "Is it a tool used in construction or building?", "response": "no"}, {"question": "Is it a tool used in sports or physical activities?", "response": "no"}, {"question": "Is it a tool used in artistic or creative activities?", "response": "yes"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a tool used in visual arts, such as drawing or painting?", "response": "no"}, {"question": "Is it a tool used in writing or\u4e66\u6cd5 (calligraphy)?", "response": "no"}, {"question": "Is it a tool used in sculpting or carving?", "response": "no"}, {"question": "Is it a tool used in photography or filmmaking?", "response": "yes"}, {"question": "Is it a camera?", "response": "no"}, {"question": "Is it a tripod?", "response": "no"}, {"question": "Is it a microphone?", "response": "no"}, {"question": "Is it a lighting equipment used in photography or filmmaking?", "response": "yes"}, {"question": "Is it a reflector?", "response": "no"}, {"question": "Is it a softbox?", "response": "no"}, {"question": "Is it a diffuser?", "response": "yes"}, {"question": "Is it a flash?", "response": "no"}]}
|
||||
{"index": 182, "id": "c891d0fb-6bb0-46d3-9a3d-6bcff4edbcd2", "answer": "Wallet", "category": "object", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it an electronic device?", "response": "no"}, {"question": "Is it a tool?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it typically found in a kitchen?", "response": "no"}, {"question": "Is it a piece of clothing?", "response": "no"}, {"question": "Is it a household item?", "response": "yes"}, {"question": "Is it a cleaning supply?", "response": "no"}, {"question": "Is it a writing instrument?", "response": "no"}, {"question": "Is it a household item used for storage?", "response": "no"}, {"question": "Is it a household item used for personal grooming?", "response": "no"}, {"question": "Is it a household item used for organizing or arranging things?", "response": "no"}, {"question": "Is it a household item used for measuring or quantifying something?", "response": "no"}, {"question": "Is it a household item used for serving or eating food?", "response": "no"}, {"question": "Is it a household item used for lighting?", "response": "no"}, {"question": "Is it a household item used for repairing or fixing things?", "response": "no"}, {"question": "Is it a household item used for decoration?", "response": "no"}, {"question": "Is it a household item used for holding or containing objects?", "response": "yes"}, {"question": "Is it a container?", "response": "yes"}]}
|
||||
{"index": 165, "id": "de8b7f69-0dad-4274-b7ac-20e1af94ec8f", "answer": "Moon", "category": "nature", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "yes"}, {"question": "Is it typically visible to the naked eye?", "response": "yes"}, {"question": "Is it a weather-related phenomenon?", "response": "no"}, {"question": "Is it a geological formation?", "response": "no"}, {"question": "Is it a celestial phenomenon?", "response": "no"}, {"question": "Is it a biological process?", "response": "no"}, {"question": "Is it a natural light phenomenon?", "response": "no"}, {"question": "Is it a natural process involving water?", "response": "no"}, {"question": "Is it a natural sound phenomenon?", "response": "no"}, {"question": "Is it a natural magnetic phenomenon?", "response": "no"}, {"question": "Is it an earthquake?", "response": "no"}, {"question": "Is it a natural thermal phenomenon?", "response": "no"}, {"question": "Is it a volcanic eruption?", "response": "no"}, {"question": "Is it an aurora?", "response": "no"}, {"question": "Is it a natural electric phenomenon?", "response": "no"}, {"question": "Is it a tsunami?", "response": "no"}, {"question": "Is it a natural phenomenon caused by gravity?", "response": "no"}, {"question": "Is it a rainbow?", "response": "no"}]}
|
||||
{"index": 78, "id": "aaa0e94a-88ad-428c-aaf8-58ac6d8eaf2e", "answer": "Harp", "category": "instrument", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it an animal?", "response": "no"}, {"question": "Is it a person?", "response": "no"}, {"question": "Is it a physical object?", "response": "yes"}, {"question": "Is it smaller than a microwave?", "response": "yes"}, {"question": "Is it commonly found in a kitchen?", "response": "no"}, {"question": "Is it an electronic device?", "response": "no"}, {"question": "Is it commonly found in a bathroom?", "response": "no"}, {"question": "Is it something used for writing?", "response": "no"}, {"question": "Is it something commonly found in a living room?", "response": "no"}, {"question": "Is it something commonly found in a bedroom?", "response": "no"}, {"question": "Is it something commonly found in an office?", "response": "no"}, {"question": "Is it something commonly found in a classroom?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it a piece of clothing?", "response": "no"}, {"question": "Is it a book?", "response": "no"}, {"question": "Is it a clock?", "response": "no"}, {"question": "Is it a mirror?", "response": "no"}, {"question": "Is it a key?", "response": "no"}, {"question": "Is it a stapler?", "response": "no"}, {"question": "Is it a pen?", "response": "no"}]}
|
||||
{"index": 186, "id": "6a18f226-779e-41ad-9fd1-8e60fe0c5eb4", "answer": "Blanket", "category": "object", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is it an object?", "response": "yes"}, {"question": "Is it a household object?", "response": "yes"}, {"question": "Is it typically found in the kitchen?", "response": "no"}, {"question": "Is it typically found in the bathroom?", "response": "no"}, {"question": "Is it typically found in the bedroom?", "response": "yes"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it an electronic device?", "response": "no"}, {"question": "Is it clothing?", "response": "no"}, {"question": "Is it a piece of bedding?", "response": "yes"}, {"question": "Is it a pillow?", "response": "no"}, {"question": "Is it a blanket?", "response": "yes"}]}
|
||||
{"index": 177, "id": "d910a0b3-909f-44f4-aeb0-72abb0167bd6", "answer": "Wizard", "category": "character", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "yes"}, {"question": "Is it an animal?", "response": "n/a"}, {"question": "Is it an animal?", "response": "n/a"}, {"question": "Is it a vertebrate?", "response": "yes"}, {"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it a carnivore?", "response": "n/a"}, {"question": "Is it a predator?", "response": "n/a"}, {"question": "Is it a domesticated animal?", "response": "no"}, {"question": "Is it a wild mammal?", "response": "no"}, {"question": "Is it a marine mammal?", "response": "no"}, {"question": "Is it a bat?", "response": "no"}, {"question": "Is it a primate?", "response": "n/a"}, {"question": "Is it a nocturnal mammal?", "response": "no"}, {"question": "Is it a rodent?", "response": "no"}, {"question": "Is it a marsupial?", "response": "no"}, {"question": "Is it a herbivorous mammal?", "response": "no"}, {"question": "Is it a herbivore?", "response": "n/a"}, {"question": "Is it an omnivorous mammal?", "response": "yes"}, {"question": "Is it a bear?", "response": "no"}, {"question": "Is it a raccoon?", "response": "no"}]}
|
||||
{"index": 56, "id": "a84caa16-0b1d-428f-b6fc-11c2a1700065", "answer": "Bear", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 8, "interactions": [{"question": "Is it a living organism?", "response": "yes"}, {"question": "Is it an animal?", "response": "yes"}, {"question": "Is it a mammal?", "response": "yes"}, {"question": "Does it live primarily in aquatic environments?", "response": "no"}, {"question": "Is it a carnivore?", "response": "yes"}, {"question": "Does it live primarily on land?", "response": "yes"}, {"question": "Is it a big cat?", "response": "no"}, {"question": "Is it a bear?", "response": "yes"}]}
|
||||
{"index": 152, "id": "aa636312-6930-4bef-81dc-8f617876d972", "answer": "Star Wars", "category": "fiction", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it an object?", "response": "no"}, {"question": "Is it a concept?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it a man-made structure?", "response": "no"}, {"question": "Is it an abstract entity or idea?", "response": "no"}, {"question": "Is it a man-made non-physical construct?", "response": "yes"}, {"question": "Is it a government system?", "response": "no"}, {"question": "Is it a form of currency?", "response": "no"}, {"question": "Is it a legal system?", "response": "no"}, {"question": "Is it a form of entertainment?", "response": "yes"}, {"question": "Is it a sport?", "response": "no"}, {"question": "Is it a movie?", "response": "yes"}, {"question": "Is it a fictional movie?", "response": "yes"}, {"question": "Is it a superhero movie?", "response": "no"}, {"question": "Is it a science fiction movie?", "response": "yes"}, {"question": "Is it a Star Wars movie?", "response": "yes"}, {"question": "Is it a Star Wars movie released in the 1970s?", "response": "yes"}, {"question": "Is it Star Wars: A New Hope?", "response": "no"}, {"question": "Is it The Empire Strikes Back?", "response": "no"}]}
|
||||
{"index": 82, "id": "e719302d-6a5c-439c-9df9-f3f6f994af25", "answer": "Smartphone", "category": "object", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 9, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it an object?", "response": "yes"}, {"question": "Is it a man-made object used in daily household activities?", "response": "yes"}, {"question": "Is it typically found in the kitchen?", "response": "no"}, {"question": "Is it typically found in the bathroom?", "response": "no"}, {"question": "Is it typically found in the bedroom?", "response": "yes"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it an electronic device used for communication or entertainment?", "response": "yes"}, {"question": "Is it a smartphone?", "response": "yes"}]}
|
||||
{"index": 68, "id": "df230679-2679-4ba8-aee6-4821995360ea", "answer": "Lock", "category": "object", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it an electronic device?", "response": "yes"}, {"question": "Is it primarily used for communication?", "response": "no"}, {"question": "Is it primarily used for entertainment?", "response": "no"}, {"question": "Is it primarily used for navigation?", "response": "no"}, {"question": "Is it primarily used for timekeeping?", "response": "no"}, {"question": "Is it primarily used for computation?", "response": "no"}, {"question": "Is it a calculator?", "response": "no"}, {"question": "Is it used for recording or storing data?", "response": "no"}, {"question": "Is it a digital camera?", "response": "no"}, {"question": "Is it a gaming console?", "response": "no"}, {"question": "Is it a smartphone?", "response": "no"}, {"question": "Is it a smartwatch?", "response": "no"}, {"question": "Is it a fitness tracker?", "response": "no"}, {"question": "Is it a smart home device?", "response": "no"}, {"question": "Is it a microwave oven?", "response": "no"}, {"question": "Is it a television?", "response": "no"}, {"question": "Is it a computer?", "response": "no"}, {"question": "Is it a refrigerator?", "response": "no"}]}
|
||||
{"index": 124, "id": "007222b7-c6e7-43d6-87bc-1be0f0fe6c9b", "answer": "Basketball", "category": "sport", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 14, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it an electronic device?", "response": "no"}, {"question": "Is it a household object?", "response": "no"}, {"question": "Is it a mode of transportation?", "response": "no"}, {"question": "Is it a tool?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it a piece of clothing?", "response": "no"}, {"question": "Is it a kitchen utensil?", "response": "no"}, {"question": "Is it a writing instrument?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a sports equipment?", "response": "yes"}, {"question": "Is it a ball?", "response": "yes"}, {"question": "Is it a basketball?", "response": "yes"}]}
|
||||
{"index": 16, "id": "733e6776-c646-4fdc-b328-36597da25411", "answer": "William Shakespeare", "category": "person", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living thing?", "response": "no"}, {"question": "Is it a man-made object?", "response": "n/a"}, {"question": "Is it a physical object?", "response": "no"}, {"question": "Is it an abstract concept?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it an event?", "response": "no"}, {"question": "Is it a word?", "response": "no"}, {"question": "Is it a unit of measurement?", "response": "no"}, {"question": "Is it a signal?", "response": "no"}, {"question": "Is it a color?", "response": "n/a"}, {"question": "Is it a sound?", "response": "no"}, {"question": "Is it a feeling?", "response": "no"}, {"question": "Is it a natural force?", "response": "no"}, {"question": "Is it a fundamental force?", "response": "no"}, {"question": "Is it a natural element?", "response": "no"}, {"question": "Is it a natural process?", "response": "no"}, {"question": "Is it gravity?", "response": "no"}, {"question": "Is it time?", "response": "n/a"}, {"question": "Is it darkness?", "response": "no"}, {"question": "Is it silence?", "response": "no"}]}
|
||||
{"index": 148, "id": "fcf03e54-082f-495b-b3a6-da33281df2ea", "answer": "SpongeBob", "category": "fiction", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living thing?", "response": "yes"}, {"question": "Is it an animal?", "response": "yes"}, {"question": "Is it a mammal?", "response": "no"}, {"question": "Is it a reptile?", "response": "no"}, {"question": "Is it a bird?", "response": "no"}, {"question": "Is it an amphibian?", "response": "no"}, {"question": "Is it an insect?", "response": "no"}, {"question": "Is it a fish?", "response": "no"}, {"question": "Is it a spider?", "response": "no"}, {"question": "Is it a crustacean?", "response": "no"}, {"question": "Is it a cephalopod?", "response": "no"}, {"question": "Is it a jellyfish?", "response": "no"}, {"question": "Is it an echinoderm?", "response": "no"}, {"question": "Is it a cnidarian?", "response": "no"}, {"question": "Is it a mollusk?", "response": "no"}, {"question": "Is it a tardigrade?", "response": "no"}, {"question": "Is it a comb jelly?", "response": "no"}, {"question": "Is it a tardigrade?", "response": "no"}, {"question": "Is it a tardigrade?", "response": "no"}, {"question": "Is it a tardigrade?", "response": "no"}]}
|
||||
{"index": 93, "id": "db73e05f-e1f6-4033-baa5-c02329dd0338", "answer": "Watermelon", "category": "food", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "no"}, {"question": "Is it a natural geographical feature?", "response": "no"}, {"question": "Is it a phenomenon related to weather or atmospheric conditions?", "response": "no"}, {"question": "Is it a celestial body?", "response": "no"}, {"question": "Is it a natural non-geographical feature such as a cloud, river, or glacier?", "response": "no"}, {"question": "Is it a natural phenomenon that occurs on Earth but is not a weather or atmospheric event, geographical feature, cloud, river, or glacier?", "response": "yes"}, {"question": "Is it an earthquake?", "response": "no"}, {"question": "Is it a volcanic eruption?", "response": "no"}, {"question": "Is it a tsunami?", "response": "no"}, {"question": "Is it a natural phenomenon caused by tectonic or seismic activity?", "response": "no"}, {"question": "Is it a natural phenomenon involving the movement of water or liquid on Earth's surface, such as a wave, current, or flood?", "response": "no"}, {"question": "Is it a natural phenomenon involving the movement of air, such as wind or a tornado?", "response": "no"}, {"question": "Is it a natural phenomenon involving light, such as an aurora or rainbow?", "response": "no"}, {"question": "Is it a natural phenomenon involving the shifting or deformation of Earth's surface, such as subsidence or uplift?", "response": "no"}, {"question": "Is it a natural phenomenon involving the emission of light or energy from living organisms, such as bioluminescence?", "response": "no"}, {"question": "Is it a natural phenomenon involving sound, such as thunder or a sonic boom?", "response": "no"}, {"question": "Is it a natural phenomenon involving the release of energy from the Earth's interior, such as geothermal activity?", "response": "no"}, {"question": "Is it a natural phenomenon involving the periodic rise and fall of sea levels due to gravitational forces?", "response": "no"}, {"question": "Is it a natural phenomenon involving periodic biological events, such as migration or flowering?", "response": "no"}]}
|
||||
{"index": 65, "id": "6bc6ad73-f17e-4be5-8a4c-56a1b0878ad9", "answer": "Camera", "category": "object", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it an electronic device?", "response": "yes"}, {"question": "Is it primarily used for communication?", "response": "no"}, {"question": "Is it primarily used for entertainment?", "response": "no"}, {"question": "Is it primarily used for navigation?", "response": "no"}, {"question": "Is it a kitchen appliance?", "response": "no"}, {"question": "Is it a medical device?", "response": "no"}, {"question": "Is it a timekeeping device?", "response": "no"}, {"question": "Is it a computer?", "response": "no"}, {"question": "Is it a camera?", "response": "yes"}]}
|
||||
{"index": 60, "id": "9f1f6087-a564-45a6-9327-ac854730b7a1", "answer": "Chair", "category": "object", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 6, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a manufactured object?", "response": "yes"}, {"question": "Is it a tool?", "response": "no"}, {"question": "Is it an electronic device?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "yes"}, {"question": "Is it a chair?", "response": "yes"}]}
|
||||
{"index": 84, "id": "aaf5ac10-a450-4699-9537-9fd1bd9fd389", "answer": "Coffee", "category": "food", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it a celestial body?", "response": "no"}, {"question": "Is it a geological formation?", "response": "no"}, {"question": "Is it a body of water?", "response": "no"}, {"question": "Is it an atmospheric phenomenon?", "response": "no"}, {"question": "Is it an abstract concept?", "response": "no"}, {"question": "Is it a physical feature of Earth's surface?", "response": "no"}, {"question": "Is it a mountain?", "response": "no"}, {"question": "Is it a valley?", "response": "no"}, {"question": "Is it a cave?", "response": "no"}, {"question": "Is it a desert?", "response": "no"}, {"question": "Is it a physical structure formed by natural processes on Earth's surface?", "response": "no"}, {"question": "Is it a glacier?", "response": "no"}, {"question": "Is it a volcano?", "response": "no"}, {"question": "Is it a forest?", "response": "no"}, {"question": "Is it a natural, non-living feature of Earth that is not a geological formation, body of water, or atmospheric phenomenon?", "response": "no"}, {"question": "Is it a concept?", "response": "no"}, {"question": "Is it a rainbow?", "response": "no"}]}
|
||||
{"index": 67, "id": "21f13dcb-788f-44f3-b0df-542b2803a32c", "answer": "Bicycle", "category": "object", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it an electronic device?", "response": "no"}, {"question": "Is it a household object?", "response": "no"}, {"question": "Is it a tool?", "response": "yes"}, {"question": "Is it a mechanical tool used for cutting or shaping materials?", "response": "no"}, {"question": "Is it a tool used in construction or woodworking?", "response": "no"}, {"question": "Is it a tool used in writing or drawing?", "response": "no"}, {"question": "Is it a tool used in gardening or outdoor maintenance?", "response": "no"}, {"question": "Is it a tool used in sports or physical activities?", "response": "yes"}, {"question": "Is it a tool used in team sports?", "response": "yes"}, {"question": "Is it a piece of protective equipment?", "response": "no"}, {"question": "Is it a bat used in baseball or cricket?", "response": "no"}, {"question": "Is it a piece of sports equipment used in a ball-and-stick game?", "response": "no"}, {"question": "Is it a piece of sports equipment used in hockey?", "response": "no"}, {"question": "Is it a piece of sports equipment used in football (soccer)?", "response": "no"}, {"question": "Is it a piece of sports equipment used in basketball?", "response": "no"}, {"question": "Is it a piece of sports equipment used in volleyball?", "response": "no"}, {"question": "Is it a piece of sports equipment used in baseball?", "response": "no"}, {"question": "Is it a racket used in tennis?", "response": "no"}]}
|
||||
{"index": 125, "id": "eb299ba8-e0dd-4974-875b-a614d06fd065", "answer": "Tennis", "category": "sport", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a human-made object?", "response": "yes"}, {"question": "Is it a household object?", "response": "no"}, {"question": "Is it a technological device?", "response": "no"}, {"question": "Is it a vehicle?", "response": "no"}, {"question": "Is it a tool?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it an article of clothing?", "response": "no"}, {"question": "Is it a piece of sports equipment?", "response": "no"}, {"question": "Is it a weapon?", "response": "no"}, {"question": "Is it a writing instrument?", "response": "no"}, {"question": "Is it a kitchen utensil?", "response": "no"}, {"question": "Is it a piece of office equipment?", "response": "no"}, {"question": "Is it a piece of playground equipment?", "response": "no"}, {"question": "Is it a piece of exercise equipment?", "response": "no"}, {"question": "Is it a piece of construction equipment?", "response": "no"}, {"question": "Is it a piece of recreational equipment?", "response": "no"}, {"question": "Is it a clock?", "response": "no"}, {"question": "Is it a ladder?", "response": "no"}]}
|
||||
{"index": 132, "id": "4d6005f4-83f1-45eb-94cf-78bfe50a29cf", "answer": "Chess", "category": "sport", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it an electronic device?", "response": "no"}, {"question": "Is it a household object?", "response": "no"}, {"question": "Is it a tool?", "response": "no"}, {"question": "Is it a piece of clothing?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it a kitchen utensil?", "response": "no"}, {"question": "Is it a mode of transportation?", "response": "no"}, {"question": "Is it a weapon?", "response": "no"}, {"question": "Is it a writing instrument?", "response": "no"}, {"question": "Is it a sports equipment?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a book?", "response": "no"}, {"question": "Is it a sculpture?", "response": "no"}, {"question": "Is it a statue?", "response": "no"}, {"question": "Is it a monument?", "response": "no"}, {"question": "Is it a monument made of stone?", "response": "no"}, {"question": "Is it a famous landmark?", "response": "no"}, {"question": "Is it a historical artifact?", "response": "no"}]}
|
||||
{"index": 9, "id": "6675ef70-d6d1-4a42-8843-98c1eeda71d0", "answer": "Leonardo da Vinci", "category": "person", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it an object?", "response": "no"}, {"question": "Is it a living thing?", "response": "no"}, {"question": "Is it a concept?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it a fictional character?", "response": "no"}, {"question": "Is it a sport?", "response": "no"}, {"question": "Is it a food?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it a form of energy?", "response": "no"}, {"question": "Is it an instrument?", "response": "n/a"}, {"question": "Is it an animal?", "response": "n/a"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a man-made structure?", "response": "n/a"}, {"question": "Is it a man-made object?", "response": "no"}, {"question": "Is it a natural landmark?", "response": "no"}, {"question": "Is it an abstract concept?", "response": "no"}, {"question": "Is it a celestial body?", "response": "no"}, {"question": "Is it a form of entertainment?", "response": "no"}, {"question": "Is it a historical figure?", "response": "yes"}, {"question": "Is it a fictional historical figure?", "response": "no"}]}
|
||||
{"index": 18, "id": "6215f18e-4444-4b3e-a8f8-e81dc68fa564", "answer": "Gandhi", "category": "person", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it a geographical feature?", "response": "no"}, {"question": "Is it a celestial body?", "response": "no"}, {"question": "Is it an abstract concept?", "response": "no"}, {"question": "Is it a natural event?", "response": "no"}, {"question": "Is it a body of water?", "response": "no"}, {"question": "Is it an atmospheric condition?", "response": "n/a"}, {"question": "Is it a natural material?", "response": "no"}, {"question": "Is it a natural force or energy?", "response": "no"}, {"question": "Is it a natural structure formed by geological processes?", "response": "no"}, {"question": "Is it a natural feature formed by erosion or weathering?", "response": "n/a"}, {"question": "Is it an ocean?", "response": "no"}, {"question": "Is it a mountain?", "response": "no"}, {"question": "Is it a forest?", "response": "no"}, {"question": "Is it a river?", "response": "no"}, {"question": "Is it a cave?", "response": "no"}, {"question": "Is it a volcano?", "response": "no"}, {"question": "Is it a desert?", "response": "no"}]}
|
||||
{"index": 55, "id": "f67e5a55-c98f-4f73-a026-ddecf33bad93", "answer": "Rabbit", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 10, "interactions": [{"question": "Is it a living organism?", "response": "yes"}, {"question": "Is it an animal?", "response": "yes"}, {"question": "Does it live primarily in water?", "response": "no"}, {"question": "Does it live primarily on land?", "response": "yes"}, {"question": "Is it a mammal?", "response": "yes"}, {"question": "Does it have four legs?", "response": "yes"}, {"question": "Is it a domesticated animal commonly kept as a pet?", "response": "yes"}, {"question": "Is it a dog?", "response": "no"}, {"question": "Is it a cat?", "response": "no"}, {"question": "Is it a rabbit?", "response": "yes"}]}
|
||||
{"index": 75, "id": "91d1b024-10d0-4cc2-b60f-5df8d9b2e2c3", "answer": "Airplane", "category": "object", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it an object?", "response": "yes"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it primarily used in a household setting?", "response": "no"}, {"question": "Is it primarily used in a vehicle?", "response": "no"}, {"question": "Is it an electronic device?", "response": "no"}, {"question": "Is it a tool?", "response": "yes"}, {"question": "Is it a hand tool?", "response": "no"}, {"question": "Is it a power tool?", "response": "no"}, {"question": "Is it a construction equipment?", "response": "no"}, {"question": "Is it a tool used in sports or physical exercise?", "response": "no"}, {"question": "Is it a tool used in gardening or outdoor maintenance?", "response": "no"}, {"question": "Is it a kitchen appliance?", "response": "no"}, {"question": "Is it a tool used in medical procedures?", "response": "no"}, {"question": "Is it a tool used in educational or classroom settings?", "response": "no"}, {"question": "Is it a tool used in manufacturing or industrial processes?", "response": "no"}, {"question": "Is it a tool used in woodworking or carpentry?", "response": "no"}, {"question": "Is it a tool used in office or administrative work?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a tool used in scientific experiments?", "response": "yes"}]}
|
||||
{"index": 150, "id": "265d3f32-6894-4314-a1eb-2042eb7316a1", "answer": "Frozen", "category": "fiction", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it an electronic device?", "response": "no"}, {"question": "Is it a tool?", "response": "no"}, {"question": "Is it a household item?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it a mode of transportation?", "response": "no"}, {"question": "Is it a piece of clothing?", "response": "no"}, {"question": "Is it a kitchen utensil?", "response": "no"}, {"question": "Is it a writing instrument?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a type of container?", "response": "no"}, {"question": "Is it a piece of sports equipment?", "response": "no"}, {"question": "Is it a weapon?", "response": "no"}, {"question": "Is it a book?", "response": "no"}, {"question": "Is it a clock?", "response": "no"}, {"question": "Is it a mirror?", "response": "no"}, {"question": "Is it a key?", "response": "no"}, {"question": "Is it a hammer?", "response": "no"}, {"question": "Is it a hammer?", "response": "no"}]}
|
||||
{"index": 104, "id": "7dde4014-5c15-4469-b65b-9d90b5967911", "answer": "Love", "category": "concept", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "yes"}, {"question": "Is it a weather-related phenomenon?", "response": "no"}, {"question": "Is it an astronomical phenomenon?", "response": "no"}, {"question": "Is it a geological phenomenon?", "response": "no"}, {"question": "Is it a biological phenomenon?", "response": "yes"}, {"question": "Is it a circadian rhythm?", "response": "no"}, {"question": "Is it a reflex?", "response": "no"}, {"question": "Is it a photosynthesis?", "response": "no"}, {"question": "Is it a menstrual cycle?", "response": "no"}, {"question": "Is it a process involving cell division?", "response": "no"}, {"question": "Is it a process involving the immune system?", "response": "no"}, {"question": "Is it a process involving digestion?", "response": "no"}, {"question": "Is it a process involving respiration?", "response": "no"}, {"question": "Is it a process involving neural signaling?", "response": "yes"}, {"question": "Is it a process involving synaptic transmission?", "response": "yes"}, {"question": "Is it an action potential?", "response": "no"}, {"question": "Is it synaptic plasticity?", "response": "no"}, {"question": "Is it long-term potentiation?", "response": "no"}]}
|
||||
{"index": 135, "id": "b9ff782b-8c3d-43ce-9f90-eb38dc341991", "answer": "Archery", "category": "sport", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it an object?", "response": "no"}, {"question": "Is it a living thing?", "response": "no"}, {"question": "Is it a concept?", "response": "no"}, {"question": "Is it a physical place?", "response": "no"}, {"question": "Is it a fictional character?", "response": "no"}, {"question": "Is it a sports team?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it an event?", "response": "yes"}, {"question": "Is it a historical event?", "response": "no"}, {"question": "Is it a recurring event?", "response": "no"}, {"question": "Is it a planned human event?", "response": "no"}, {"question": "Is it a natural event?", "response": "no"}, {"question": "Is it a weather event?", "response": "no"}, {"question": "Is it a cultural event?", "response": "no"}, {"question": "Is it a personal milestone event?", "response": "no"}, {"question": "Is it a random occurrence?", "response": "n/a"}, {"question": "Is it a sudden, unpredictable event that occurs in nature?", "response": "no"}, {"question": "Is it a rare cosmic event?", "response": "no"}, {"question": "Is it a rare human experience?", "response": "no"}, {"question": "Is it a rare natural event?", "response": "no"}]}
|
||||
{"index": 137, "id": "07a0cb50-ae99-4618-94a3-65ce53057103", "answer": "Skateboarding", "category": "sport", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living creature?", "response": "no"}, {"question": "Is it a man-made object?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it a geographical feature?", "response": "no"}, {"question": "Is it an astronomical object?", "response": "no"}, {"question": "Is it a concept?", "response": "yes"}, {"question": "Is it an abstract concept related to time?", "response": "no"}, {"question": "Is it a concept related to human emotions or relationships?", "response": "no"}, {"question": "Is it a concept related to justice or morality?", "response": "no"}, {"question": "Is it a concept related to science or mathematics?", "response": "no"}, {"question": "Is it a concept related to communication or language?", "response": "no"}, {"question": "Is it a concept related to education or learning?", "response": "no"}, {"question": "Is it a concept related to government or political systems?", "response": "no"}, {"question": "Is it a concept related to economics or trade?", "response": "no"}, {"question": "Is it a concept related to health or medicine?", "response": "no"}, {"question": "Is it a concept related to space or spatial dimensions?", "response": "no"}, {"question": "Is it a concept related to measurement or units?", "response": "no"}, {"question": "Is it a concept related to existence or ontology?", "response": "no"}, {"question": "Is it a concept related to chance or randomness?", "response": "no"}, {"question": "Is it gravity?", "response": "no"}]}
|
||||
{"index": 164, "id": "5eb27378-5162-4e81-96e5-6fa856391701", "answer": "Volcano", "category": "nature", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 6, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "no"}, {"question": "Is it a natural geographical feature?", "response": "yes"}, {"question": "Is it a mountain?", "response": "yes"}, {"question": "Is it taller than 8,000 meters?", "response": "no"}, {"question": "Is it a volcano?", "response": "yes"}]}
|
||||
{"index": 76, "id": "9e15a2c7-745c-4111-9750-e8b7f9117463", "answer": "Piano", "category": "instrument", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it an electronic device?", "response": "no"}, {"question": "Is it a mechanical device?", "response": "yes"}, {"question": "Is it a tool commonly used in everyday household tasks?", "response": "no"}, {"question": "Is it a mechanical device used primarily in transportation?", "response": "no"}, {"question": "Is it a mechanical device used in sports or physical activities?", "response": "no"}, {"question": "Is it a mechanical device used in the preparation or serving of food?", "response": "no"}, {"question": "Is it a mechanical device used in construction or building?", "response": "no"}, {"question": "Is it a mechanical device used in timekeeping?", "response": "no"}, {"question": "Is it a mechanical device used in entertainment or music?", "response": "yes"}, {"question": "Is it a mechanical device used in making music, such as a wind, string, or percussion instrument?", "response": "yes"}, {"question": "Is it a percussion instrument?", "response": "yes"}, {"question": "Is it a drum?", "response": "no"}, {"question": "Is it a mallet-based percussion instrument?", "response": "no"}, {"question": "Is it a cymbal?", "response": "no"}, {"question": "Is it a xylophone?", "response": "no"}, {"question": "Is it a tambourine?", "response": "no"}, {"question": "Is it a snare drum?", "response": "no"}, {"question": "Is it a piano?", "response": "yes"}]}
|
||||
{"index": 79, "id": "3b8b781b-a921-457d-a62a-056e5fcd2890", "answer": "Trombone", "category": "instrument", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it an electronic device?", "response": "no"}, {"question": "Is it a kitchen utensil?", "response": "no"}, {"question": "Is it a tool used in writing?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it a type of clothing?", "response": "no"}, {"question": "Is it a tool used in gardening?", "response": "no"}, {"question": "Is it a tool used in construction?", "response": "no"}, {"question": "Is it a tool used in household cleaning?", "response": "no"}, {"question": "Is it a tool used in mechanical repair?", "response": "no"}, {"question": "Is it a tool used in woodworking?", "response": "no"}, {"question": "Is it a tool used in sewing or tailoring?", "response": "no"}, {"question": "Is it a tool used in painting or drawing?", "response": "no"}, {"question": "Is it a tool used in crafting or diy projects?", "response": "no"}, {"question": "Is it a tool used in gardening, construction, or household cleaning?", "response": "no"}, {"question": "Is it a tool used in sports or physical exercise?", "response": "no"}, {"question": "Is it a tool used in food preparation?", "response": "no"}, {"question": "Is it a tool used in music?", "response": "yes"}, {"question": "Is it a drum?", "response": "no"}]}
|
||||
{"index": 197, "id": "2ad69dd3-f44a-4109-b64c-5d83d8efed69", "answer": "Mouse", "category": "object", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "yes"}, {"question": "Is it an animal?", "response": "yes"}, {"question": "Is it a mammal?", "response": "yes"}, {"question": "Does it live primarily in aquatic environments?", "response": "no"}, {"question": "Does it live primarily in forests or grasslands?", "response": "yes"}, {"question": "Does it have hooves?", "response": "no"}, {"question": "Is it a primate?", "response": "no"}, {"question": "Is it a carnivore?", "response": "no"}, {"question": "Is it a herbivore?", "response": "no"}, {"question": "Is it an omnivore?", "response": "yes"}, {"question": "Is it a bear?", "response": "no"}, {"question": "Is it a pig?", "response": "no"}, {"question": "Is it a raccoon?", "response": "no"}, {"question": "Is it a giant panda?", "response": "no"}, {"question": "Is it a badger?", "response": "no"}, {"question": "Is it a fox?", "response": "no"}, {"question": "Is it a skunk?", "response": "no"}, {"question": "Is it a squirrel?", "response": "no"}, {"question": "Is it a raccoon?", "response": "no"}, {"question": "Is it a badger?", "response": "no"}]}
|
||||
{"index": 38, "id": "dba667fe-2709-47f4-a943-ae3b05d210cd", "answer": "Antarctica", "category": "place", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "yes"}, {"question": "Is it a weather-related phenomenon?", "response": "no"}, {"question": "Is it a geological phenomenon?", "response": "no"}, {"question": "Is it an astronomical phenomenon?", "response": "no"}, {"question": "Is it a biological phenomenon?", "response": "no"}, {"question": "Is it a phenomenon related to time?", "response": "no"}, {"question": "Is it a physical process that occurs on Earth involving energy transfer?", "response": "no"}, {"question": "Is it a phenomenon related to light or optics?", "response": "no"}, {"question": "Is it a phenomenon related to sound or acoustics?", "response": "no"}, {"question": "Is it a phenomenon related to magnetism or electromagnetism?", "response": "no"}, {"question": "Is it a phenomenon related to gravity or gravitational forces?", "response": "no"}, {"question": "Is it a phenomenon related to heat or thermal energy?", "response": "no"}, {"question": "Is it a phenomenon related to motion or kinetic energy?", "response": "no"}, {"question": "Is it a phenomenon related to chemical reactions or changes?", "response": "no"}, {"question": "Is it a phenomenon related to electricity or electric charge?", "response": "no"}, {"question": "Is it a phenomenon related to phase transitions or changes in state of matter?", "response": "no"}, {"question": "Is it a phenomenon related to quantum mechanics or subatomic particles?", "response": "no"}, {"question": "Is it a phenomenon related to relativity or spacetime?", "response": "no"}]}
|
||||
{"index": 24, "id": "aa41e3f7-5f08-4453-8c36-b847287d211e", "answer": "Sydney Opera House", "category": "place", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it a tool?", "response": "no"}, {"question": "Is it an electronic device?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it a household item?", "response": "no"}, {"question": "Is it a form of transportation?", "response": "no"}, {"question": "Is it a weapon?", "response": "no"}, {"question": "Is it a piece of clothing?", "response": "no"}, {"question": "Is it a kitchen utensil?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a writing instrument?", "response": "no"}, {"question": "Is it a form of currency?", "response": "no"}, {"question": "Is it a book?", "response": "no"}, {"question": "Is it a toy?", "response": "no"}, {"question": "Is it a window?", "response": "no"}, {"question": "Is it a door?", "response": "no"}, {"question": "Is it a mirror?", "response": "no"}, {"question": "Is it a clock?", "response": "no"}, {"question": "Is it a chair?", "response": "no"}]}
|
||||
{"index": 122, "id": "2e594a80-38f9-40e3-98c9-04097c3d86a5", "answer": "Memory", "category": "concept", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it a device used in communication?", "response": "no"}, {"question": "Is it a tool used in a household?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it an object used in sports or physical activities?", "response": "no"}, {"question": "Is it an object used in education or learning?", "response": "no"}, {"question": "Is it an object used in writing or drawing?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it an object used in cooking or food preparation?", "response": "no"}, {"question": "Is it an object used for measurement?", "response": "no"}, {"question": "Is it a weapon?", "response": "no"}, {"question": "Is it an object used for transportation?", "response": "no"}, {"question": "Is it an object used for decoration or aesthetic purposes?", "response": "no"}, {"question": "Is it a timekeeping device?", "response": "no"}, {"question": "Is it a tool used in construction or building?", "response": "no"}, {"question": "Is it a mirror?", "response": "no"}, {"question": "Is it a key?", "response": "no"}, {"question": "Is it a clock?", "response": "no"}, {"question": "Is it a book?", "response": "no"}]}
|
||||
{"index": 195, "id": "c1e75572-43fb-4794-b5c0-86906e95f1e5", "answer": "Credit card", "category": "object", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it an electronic device?", "response": "yes"}, {"question": "Is it primarily used for communication?", "response": "no"}, {"question": "Is it a device used primarily for entertainment?", "response": "no"}, {"question": "Is it a kitchen appliance?", "response": "no"}, {"question": "Is it a device used primarily for computation or data processing?", "response": "no"}, {"question": "Is it a medical device?", "response": "no"}, {"question": "Is it a device used primarily for capturing or recording sensory information (e.g., images, sound, temperature)?", "response": "no"}, {"question": "Is it a device used for navigation, such as a GPS?", "response": "no"}, {"question": "Is it a device used for measuring time, such as a clock or watch?", "response": "no"}, {"question": "Is it a device used for producing sound, such as a speaker or buzzer?", "response": "no"}, {"question": "Is it a device used for detecting or sensing environmental changes, such as motion, light, or temperature?", "response": "no"}, {"question": "Is it a device used for storing or preserving data, such as a hard drive or memory card?", "response": "no"}, {"question": "Is it a device used for surveillance or security, such as a camera or sensor?", "response": "no"}, {"question": "Is it a device used for generating power or energy, such as a battery or solar panel?", "response": "no"}, {"question": "Is it a device used for heating or cooling substances, such as a microwave or air conditioner?", "response": "no"}, {"question": "Is it a smoke detector?", "response": "no"}, {"question": "Is it a flashlight?", "response": "no"}, {"question": "Is it a printer?", "response": "no"}]}
|
||||
{"index": 29, "id": "6751e272-c29d-448c-b285-33940f74775b", "answer": "Big Ben", "category": "place", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it a tool used primarily for writing?", "response": "no"}, {"question": "Is it an electronic device?", "response": "no"}, {"question": "Is it a kitchen utensil?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it a transportation vehicle?", "response": "no"}, {"question": "Is it a household item?", "response": "no"}, {"question": "Is it a piece of clothing?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "yes"}, {"question": "Is it a string instrument?", "response": "no"}, {"question": "Is it a wind instrument?", "response": "no"}, {"question": "Is it a percussion instrument?", "response": "yes"}, {"question": "Is it a drum?", "response": "no"}, {"question": "Is it a xylophone?", "response": "no"}, {"question": "Is it a cymbal?", "response": "no"}, {"question": "Is it a tambourine?", "response": "no"}, {"question": "Is it a maraca?", "response": "no"}, {"question": "Is it a triangle?", "response": "no"}, {"question": "Is it a gong?", "response": "no"}]}
|
||||
{"index": 19, "id": "5d4199db-07db-4de0-a519-7c2e68128b9d", "answer": "Picasso", "category": "person", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a physical object?", "response": "no"}, {"question": "Is it an abstract concept?", "response": "no"}, {"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a fictional character?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it a man-made structure?", "response": "no"}, {"question": "Is it a celestial body?", "response": "no"}, {"question": "Is it a form of energy?", "response": "no"}, {"question": "Is it a planet?", "response": "no"}, {"question": "Is it a form of electromagnetic radiation?", "response": "no"}, {"question": "Is it a natural landform?", "response": "no"}, {"question": "Is it a body of water?", "response": "no"}, {"question": "Is it a weather phenomenon?", "response": "no"}, {"question": "Is it a natural satellite?", "response": "no"}, {"question": "Is it a mountain?", "response": "no"}, {"question": "Is it a river?", "response": "no"}, {"question": "Is it a volcano?", "response": "no"}, {"question": "Is it a cave?", "response": "no"}, {"question": "Is it a lake?", "response": "no"}, {"question": "Is it a desert?", "response": "no"}]}
|
||||
{"index": 143, "id": "a79ec639-1193-4e82-a007-67a265793793", "answer": "Lightsaber", "category": "fiction", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it an object?", "response": "yes"}, {"question": "Is it something that is typically found in a home?", "response": "no"}, {"question": "Is it something used in outdoor sports or recreational activities?", "response": "yes"}, {"question": "Is it used in team sports played outdoors?", "response": "no"}, {"question": "Is it used in individual outdoor sports or recreational activities?", "response": "yes"}, {"question": "Is it used in individual outdoor sports involving physical exercise?", "response": "no"}, {"question": "Is it used in individual outdoor recreational activities that do not involve physical exercise, such as gardening or fishing?", "response": "no"}, {"question": "Is it used in outdoor recreational activities involving equipment or tools?", "response": "no"}, {"question": "Is it a kite?", "response": "no"}, {"question": "Is it a frisbee?", "response": "no"}, {"question": "Is it a piece of sports equipment used in golf?", "response": "no"}, {"question": "Is it a skateboard?", "response": "no"}, {"question": "Is it a piece of equipment used in cycling?", "response": "no"}, {"question": "Is it a piece of equipment used in winter sports?", "response": "no"}, {"question": "Is it used in outdoor recreational activities involving flying or airborne motion?", "response": "no"}, {"question": "Is it a surfboard?", "response": "no"}, {"question": "Is it a piece of equipment used in outdoor recreational activities involving wheels?", "response": "no"}, {"question": "Is it a piece of equipment used in outdoor recreational activities involving water?", "response": "no"}, {"question": "Is it a jump rope?", "response": "no"}, {"question": "Is it a yo-yo?", "response": "no"}]}
|
||||
{"index": 86, "id": "94c3d263-d212-4542-a775-29fdd905a5fb", "answer": "Chocolate", "category": "food", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it a celestial body?", "response": "no"}, {"question": "Is it a geographical feature?", "response": "no"}, {"question": "Is it a physical entity that can be directly observed?", "response": "yes"}, {"question": "Is it a natural formation found on Earth's surface?", "response": "no"}, {"question": "Is it a natural event that occurs in the atmosphere?", "response": "no"}, {"question": "Is it a naturally occurring event on Earth that is not atmospheric and not on the surface?", "response": "no"}, {"question": "Is it an aurora?", "response": "no"}, {"question": "Is it a physical entity that occurs underground?", "response": "no"}, {"question": "Is it a physical entity that exists underwater?", "response": "no"}, {"question": "Is it a physical entity found in space?", "response": "no"}, {"question": "Is it a physical entity that exists in the atmosphere?", "response": "no"}, {"question": "Is it a physical entity that exists within living organisms?", "response": "no"}, {"question": "Is it a physical entity that exists as a part of Earth's biosphere but is not a living organism?", "response": "yes"}, {"question": "Is it a fossil?", "response": "no"}, {"question": "Is it a mineral?", "response": "no"}, {"question": "Is it a stalactite?", "response": "no"}, {"question": "Is it a coral reef?", "response": "no"}]}
|
||||
{"index": 114, "id": "f5c6204b-2ffe-4e01-92d9-5bfbc0bba40f", "answer": "Technology", "category": "concept", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it an object?", "response": "no"}, {"question": "Is it a living thing?", "response": "no"}, {"question": "Is it a concept?", "response": "yes"}, {"question": "Is it an abstract concept related to time or existence?", "response": "no"}, {"question": "Is it a concept related to human emotions or relationships?", "response": "no"}, {"question": "Is it a concept related to science or mathematics?", "response": "yes"}, {"question": "Is it a concept related to mathematics?", "response": "no"}, {"question": "Is it a concept related to physics?", "response": "no"}, {"question": "Is it a concept related to chemistry?", "response": "no"}, {"question": "Is it a concept related to biology?", "response": "no"}, {"question": "Is it a concept related to earth science or geology?", "response": "no"}, {"question": "Is it a concept related to astronomy or space?", "response": "no"}, {"question": "Is it a concept related to environmental science or ecology?", "response": "yes"}, {"question": "Is it a concept related to climate change?", "response": "no"}, {"question": "Is it a concept related to biodiversity?", "response": "no"}, {"question": "Is it a concept related to conservation?", "response": "no"}, {"question": "Is it a concept related to pollution?", "response": "yes"}, {"question": "Is it a concept related to water pollution?", "response": "no"}, {"question": "Is it air pollution?", "response": "no"}, {"question": "Is it soil pollution?", "response": "no"}]}
|
||||
{"index": 173, "id": "e128c1d4-4794-4a4d-9501-22fc40f0ebbd", "answer": "Alien", "category": "creature", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "yes"}, {"question": "Is it an animal?", "response": "n/a"}, {"question": "Is it an animal?", "response": "n/a"}, {"question": "Is it a mammal?", "response": "n/a"}, {"question": "Is it a vertebrate?", "response": "n/a"}, {"question": "Is it a vertebrate?", "response": "n/a"}, {"question": "Is it an animal?", "response": "n/a"}, {"question": "Is it an animal?", "response": "n/a"}, {"question": "Is it an animal?", "response": "n/a"}, {"question": "Is it an animal?", "response": "n/a"}, {"question": "Is it an animal?", "response": "yes"}, {"question": "Is it a land animal?", "response": "n/a"}, {"question": "Is it a reptile?", "response": "no"}, {"question": "Is it a bird?", "response": "no"}, {"question": "Is it a mammal?", "response": "n/a"}, {"question": "Is it a mammal?", "response": "n/a"}, {"question": "Is it a mammal?", "response": "n/a"}, {"question": "Is it a mammal?", "response": "n/a"}, {"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it a dog?", "response": "no"}]}
|
||||
{"index": 5, "id": "aee5bd77-96a4-48cc-9a3c-8f4a8fea938f", "answer": "Harry Potter", "category": "character", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "yes"}, {"question": "Is it an animal?", "response": "n/a"}, {"question": "Is it a mammal?", "response": "yes"}, {"question": "Does it live primarily in aquatic environments?", "response": "no"}, {"question": "Does it have four legs?", "response": "no"}, {"question": "Is it a human?", "response": "yes"}, {"question": "Is it a male human?", "response": "yes"}, {"question": "Is it a fictional character?", "response": "yes"}, {"question": "Is it a superhero?", "response": "no"}, {"question": "Is it a character from a movie?", "response": "yes"}, {"question": "Is it a character from a science fiction movie?", "response": "no"}, {"question": "Is it a character from a 20th-century film?", "response": "no"}, {"question": "Is it a character from a 21st-century animated film?", "response": "no"}, {"question": "Is it a character from a 21st-century live-action film?", "response": "yes"}, {"question": "Is it a character from a 21st-century action movie?", "response": "no"}, {"question": "Is it a character from a 21st-century drama film?", "response": "no"}, {"question": "Is it a character from a 21st-century comedy film?", "response": "no"}, {"question": "Is it a character from a 21st-century thriller film?", "response": "no"}, {"question": "Is it a character from a 21st-century fantasy film?", "response": "yes"}, {"question": "Is it Gollum?", "response": "no"}]}
|
||||
{"index": 126, "id": "8e90bc2f-8cb5-4946-9209-b9cdc3126146", "answer": "Swimming", "category": "sport", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living animal?", "response": "no"}, {"question": "Is it a physical object?", "response": "no"}, {"question": "Is it an abstract concept?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it a fictional character?", "response": "no"}, {"question": "Is it a type of machine?", "response": "no"}, {"question": "Is it a man-made structure?", "response": "no"}, {"question": "Is it a celestial body?", "response": "no"}, {"question": "Is it a form of energy?", "response": "no"}, {"question": "Is it a unit of measurement?", "response": "no"}, {"question": "Is it a form of electromagnetic radiation?", "response": "no"}, {"question": "Is it time?", "response": "n/a"}, {"question": "Is it a dimension?", "response": "no"}, {"question": "Is it a fundamental force?", "response": "no"}, {"question": "Is it a form of matter?", "response": "no"}, {"question": "Is it a natural landmark?", "response": "no"}, {"question": "Is it gravity?", "response": "no"}, {"question": "Is it sound?", "response": "n/a"}, {"question": "Is it a natural process?", "response": "yes"}, {"question": "Is it photosynthesis?", "response": "no"}]}
|
||||
{"index": 117, "id": "ffe7fa9d-93ef-470b-aa1e-af913d56db8e", "answer": "War", "category": "concept", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it an object?", "response": "no"}, {"question": "Is it a living thing?", "response": "no"}, {"question": "Is it a concept?", "response": "yes"}, {"question": "Is it an abstract concept related to time or existence?", "response": "no"}, {"question": "Is it a concept related to social structures or human interactions?", "response": "yes"}, {"question": "Is it a concept related to governance or political systems?", "response": "yes"}, {"question": "Is it a concept related to democracy?", "response": "yes"}, {"question": "Is it a concept related to voting?", "response": "no"}, {"question": "Is it a concept related to representation in government?", "response": "no"}, {"question": "Is it a concept related to the rule of law?", "response": "yes"}, {"question": "Is it a concept related to justice?", "response": "yes"}, {"question": "Is it a concept related to equal treatment under the law?", "response": "no"}, {"question": "Is it a concept related to fairness in legal systems?", "response": "no"}, {"question": "Is it a concept related to accountability in legal systems?", "response": "no"}, {"question": "Is it a concept related to punishment in legal systems?", "response": "no"}, {"question": "Is it a concept related to the enforcement of laws?", "response": "no"}, {"question": "Is it a concept related to due process?", "response": "no"}, {"question": "Is it a concept related to legal rights?", "response": "yes"}, {"question": "Is it a concept related to the right to a fair trial?", "response": "no"}, {"question": "Is it a concept related to the presumption of innocence?", "response": "no"}]}
|
||||
{"index": 73, "id": "4d4ad18d-0dc0-41c1-b6f7-a17c8560dda7", "answer": "Clock", "category": "object", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 10, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it typically used in a household setting?", "response": "yes"}, {"question": "Is it an electronic device?", "response": "yes"}, {"question": "Is it primarily used for communication?", "response": "no"}, {"question": "Is it primarily used for entertainment?", "response": "no"}, {"question": "Is it primarily used for cleaning?", "response": "no"}, {"question": "Is it primarily used for cooking or food preparation?", "response": "no"}, {"question": "Is it primarily used for timekeeping?", "response": "yes"}, {"question": "Is it a clock?", "response": "yes"}]}
|
||||
{"index": 140, "id": "cd67d667-95ee-471b-99c4-ab450dabed87", "answer": "Dancing", "category": "sport", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it an animal?", "response": "no"}, {"question": "Is it a physical object?", "response": "no"}, {"question": "Is it a concept?", "response": "yes"}, {"question": "Is it a concept related to time?", "response": "no"}, {"question": "Is it a concept related to space or distance?", "response": "yes"}, {"question": "Is it a concept related to measurement?", "response": "no"}, {"question": "Is it a concept related to direction?", "response": "no"}, {"question": "Is it gravity?", "response": "no"}, {"question": "Is it a concept related to navigation?", "response": "no"}, {"question": "Is it a concept related to astronomy?", "response": "no"}, {"question": "Is it a concept related to geography?", "response": "no"}, {"question": "Is it a concept related to perspective or relative position?", "response": "no"}, {"question": "Is it a concept related to physical forces or interactions?", "response": "no"}, {"question": "Is it a concept related to motion or movement?", "response": "yes"}, {"question": "Is it a concept related to speed or velocity?", "response": "no"}, {"question": "Is it a concept related to acceleration or deceleration?", "response": "no"}, {"question": "Is it a concept related to rotation or spinning?", "response": "no"}, {"question": "Is it momentum?", "response": "no"}, {"question": "Is it inertia?", "response": "no"}, {"question": "Is it motion?", "response": "yes"}]}
|
||||
{"index": 98, "id": "c310251c-1e4a-48aa-a787-800cfe053cb8", "answer": "Orange juice", "category": "food", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it a celestial body?", "response": "no"}, {"question": "Is it a geographical feature?", "response": "no"}, {"question": "Is it an abstract concept?", "response": "no"}, {"question": "Is it a body of water?", "response": "no"}, {"question": "Is it an atmospheric phenomenon?", "response": "no"}, {"question": "Is it a natural structure?", "response": "no"}, {"question": "Is it a natural phenomenon\u0637\u0627\u0631", "response": "no"}, {"question": "Is it a natural formation?", "response": "no"}, {"question": "Is it a mountain?", "response": "no"}, {"question": "Is it a natural landform?", "response": "no"}, {"question": "Is it a forest?", "response": "no"}, {"question": "Is it a cave?", "response": "no"}, {"question": "Is it a volcano?", "response": "no"}, {"question": "Is it a glacier?", "response": "no"}, {"question": "Is it a desert?", "response": "no"}, {"question": "Is it a natural resource?", "response": "no"}, {"question": "Is it a natural force?", "response": "no"}]}
|
||||
{"index": 172, "id": "c0155793-dc3f-4524-a525-4bd56438a5a9", "answer": "Robot", "category": "object", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it an object?", "response": "yes"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it an electronic device?", "response": "yes"}, {"question": "Is it a portable electronic device?", "response": "no"}, {"question": "Is it a desktop computer?", "response": "no"}, {"question": "Is it a television?", "response": "no"}, {"question": "Is it a household appliance?", "response": "no"}, {"question": "Is it a computer peripheral?", "response": "no"}, {"question": "Is it a display or monitor?", "response": "no"}, {"question": "Is it a gaming console?", "response": "no"}, {"question": "Is it a router or networking device?", "response": "no"}, {"question": "Is it a printer?", "response": "no"}, {"question": "Is it a server?", "response": "no"}, {"question": "Is it an appliance used for data storage or processing?", "response": "no"}, {"question": "Is it a projector?", "response": "no"}, {"question": "Is it a piece of office equipment?", "response": "no"}, {"question": "Is it a landline telephone?", "response": "no"}, {"question": "Is it a microwave oven?", "response": "no"}, {"question": "Is it a desktop scanner?", "response": "no"}, {"question": "Is it a desktop clock?", "response": "no"}]}
|
||||
{"index": 96, "id": "014680b1-3088-4cf0-a7a7-7714973f45c8", "answer": "Cheese", "category": "food", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a manufactured object?", "response": "yes"}, {"question": "Is it a tool?", "response": "no"}, {"question": "Is it an electronic device?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it a household item?", "response": "yes"}, {"question": "Is it typically found in a kitchen?", "response": "yes"}, {"question": "Is it typically used for preparing or serving food?", "response": "yes"}, {"question": "Is it a utensil?", "response": "no"}, {"question": "Is it a container?", "response": "no"}, {"question": "Is it a kitchen appliance?", "response": "no"}, {"question": "Is it a countertop appliance?", "response": "no"}, {"question": "Is it a cutting board?", "response": "no"}, {"question": "Is it a kitchen item used for baking?", "response": "no"}, {"question": "Is it a kitchen item made of glass or ceramic?", "response": "no"}, {"question": "Is it a kitchen item made of metal?", "response": "no"}, {"question": "Is it a kitchen item made of plastic or wood?", "response": "no"}, {"question": "Is it a kitchen item made of silicone or rubber?", "response": "no"}, {"question": "Is it a kitchen item primarily used for measuring ingredients?", "response": "no"}, {"question": "Is it a kitchen towel?", "response": "no"}]}
|
||||
{"index": 169, "id": "e9993833-b488-4922-be59-eda8ecd0ee6a", "answer": "Ocean", "category": "nature", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "yes"}, {"question": "Is it a weather-related phenomenon?", "response": "no"}, {"question": "Is it a geological phenomenon?", "response": "no"}, {"question": "Is it an astronomical phenomenon?", "response": "no"}, {"question": "Is it a biological phenomenon?", "response": "no"}, {"question": "Is it a phenomenon related to time?", "response": "no"}, {"question": "Is it a phenomenon related to light or optics?", "response": "no"}, {"question": "Is it a phenomenon related to sound or acoustics?", "response": "no"}, {"question": "Is it a phenomenon related to magnetism or electricity?", "response": "no"}, {"question": "Is it a phenomenon related to gravity or motion?", "response": "no"}, {"question": "Is it a phenomenon related to heat or thermodynamics?", "response": "no"}, {"question": "Is it a phenomenon related to chemical reactions or processes?", "response": "no"}, {"question": "Is it a phenomenon related to human perception or cognition?", "response": "no"}, {"question": "Is it an optical illusion?", "response": "no"}, {"question": "Is it a phenomenon related to quantum mechanics or subatomic particles?", "response": "no"}, {"question": "Is it an echo?", "response": "no"}, {"question": "Is it a mirage?", "response": "no"}, {"question": "Is it a tidal wave?", "response": "no"}]}
|
||||
{"index": 97, "id": "de4b18c3-874a-4628-a4b0-c30a5e265722", "answer": "Bread", "category": "food", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it an electronic device?", "response": "no"}, {"question": "Is it a household tool?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it a kitchen utensil?", "response": "no"}, {"question": "Is it a vehicle?", "response": "no"}, {"question": "Is it a piece of clothing?", "response": "no"}, {"question": "Is it a writing instrument?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a tool used in sports?", "response": "no"}, {"question": "Is it a tool used in construction or repair?", "response": "no"}, {"question": "Is it a tool used in gardening?", "response": "no"}, {"question": "Is it a tool used in art or drawing?", "response": "no"}, {"question": "Is it a tool used in cooking or food preparation?", "response": "no"}, {"question": "Is it a tool used in cleaning?", "response": "no"}, {"question": "Is it a timekeeping device?", "response": "no"}, {"question": "Is it a tool used in office or school settings?", "response": "no"}, {"question": "Is it a tool used in DIY or home maintenance?", "response": "no"}, {"question": "Is it a mirror?", "response": "no"}]}
|
||||
{"index": 31, "id": "c9b651bf-a006-44e5-b3e8-eefaf5de61eb", "answer": "Niagara Falls", "category": "place", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 19, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it an object?", "response": "no"}, {"question": "Is it a concept?", "response": "no"}, {"question": "Is it a physical place?", "response": "yes"}, {"question": "Is it a natural geographic feature?", "response": "yes"}, {"question": "Is it a mountain?", "response": "no"}, {"question": "Is it a body of water?", "response": "no"}, {"question": "Is it a cave?", "response": "no"}, {"question": "Is it a valley?", "response": "no"}, {"question": "Is it a desert?", "response": "no"}, {"question": "Is it a forest?", "response": "no"}, {"question": "Is it a canyon?", "response": "no"}, {"question": "Is it a glacier?", "response": "no"}, {"question": "Is it a volcano?", "response": "no"}, {"question": "Is it a plateau?", "response": "no"}, {"question": "Is it a hill?", "response": "no"}, {"question": "Is it a cliff?", "response": "no"}, {"question": "Is it a waterfall?", "response": "yes"}, {"question": "Is it Niagara Falls?", "response": "yes"}]}
|
||||
{"index": 12, "id": "9e19ee80-e3f5-480a-b8b5-6ca0eaa699e1", "answer": "Steve Jobs", "category": "person", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it a celestial body?", "response": "no"}, {"question": "Is it a geographical feature?", "response": "no"}, {"question": "Is it a body of water?", "response": "no"}, {"question": "Is it a mountain?", "response": "no"}, {"question": "Is it a natural disaster?", "response": "no"}, {"question": "Is it a concept?", "response": "no"}, {"question": "Is it an abstract concept related to time?", "response": "no"}, {"question": "Is it a physical natural feature of Earth?", "response": "no"}, {"question": "Is it an atmospheric phenomenon?", "response": "n/a"}, {"question": "Is it a natural formation caused by erosion?", "response": "n/a"}, {"question": "Is it a cloud?", "response": "no"}, {"question": "Is it a rainbow?", "response": "no"}, {"question": "Is it a natural event that occurs in the sky?", "response": "n/a"}, {"question": "Is it a natural phenomenon that is visible to the naked eye?", "response": "no"}, {"question": "Is it darkness?", "response": "no"}, {"question": "Is it silence?", "response": "n/a"}, {"question": "Is it a vacuum?", "response": "no"}]}
|
||||
{"index": 35, "id": "ff6a2ab7-078b-4e8f-8e4a-a37804ba56d4", "answer": "The North Pole", "category": "place", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it a geographical feature?", "response": "yes"}, {"question": "Is it a mountain?", "response": "no"}, {"question": "Is it a body of water?", "response": "no"}, {"question": "Is it a valley?", "response": "no"}, {"question": "Is it a cave?", "response": "no"}, {"question": "Is it a desert?", "response": "yes"}, {"question": "Is it the Sahara Desert?", "response": "no"}, {"question": "Is it a desert located in North America?", "response": "no"}, {"question": "Is it the Gobi Desert?", "response": "no"}, {"question": "Is it the Antarctic Desert?", "response": "no"}, {"question": "Is it the Atacama Desert?", "response": "no"}, {"question": "Is it the Sonoran Desert?", "response": "no"}, {"question": "Is it the Kalahari Desert?", "response": "no"}, {"question": "Is it the Mojave Desert?", "response": "no"}, {"question": "Is it the Arabian Desert?", "response": "no"}, {"question": "Is it the Namib Desert?", "response": "no"}, {"question": "Is it the Taklamakan Desert?", "response": "no"}]}
|
||||
{"index": 119, "id": "8c1e6a99-d533-42fd-ab4b-05c37404255f", "answer": "Nature", "category": "concept", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "yes"}, {"question": "Is it a weather-related phenomenon?", "response": "no"}, {"question": "Is it a geological phenomenon?", "response": "no"}, {"question": "Is it an astronomical phenomenon?", "response": "no"}, {"question": "Is it a biological phenomenon?", "response": "no"}, {"question": "Is it a physical process that occurs at the molecular or atomic level?", "response": "yes"}, {"question": "Is it a process that involves changes in the state of matter?", "response": "no"}, {"question": "Is it a process that involves energy transfer at the atomic level?", "response": "no"}, {"question": "Is it a process involving subatomic particles?", "response": "no"}, {"question": "Is it a process involving quantum tunneling?", "response": "n/a"}, {"question": "Is it diffusion?", "response": "no"}, {"question": "Is it a process involving the movement of particles from high to low concentration?", "response": "no"}, {"question": "Is it osmosis?", "response": "no"}, {"question": "Is it Brownian motion?", "response": "no"}, {"question": "Is it a process involving the random motion of particles due to thermal energy?", "response": "no"}, {"question": "Is it a process involving the emission or absorption of photons?", "response": "no"}, {"question": "Is it a process involving the alignment of magnetic domains?", "response": "no"}, {"question": "Is it diffusion of heat through a solid?", "response": "no"}]}
|
||||
{"index": 42, "id": "2555bc36-c9b3-40f3-b0ab-9775568c038f", "answer": "Dolphin", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 8, "interactions": [{"question": "Is it an object?", "response": "no"}, {"question": "Is it a living thing?", "response": "yes"}, {"question": "Is it an animal?", "response": "yes"}, {"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it a land-dwelling animal?", "response": "no"}, {"question": "Is it a marine mammal?", "response": "yes"}, {"question": "Is it a cetacean?", "response": "yes"}, {"question": "Is it a dolphin?", "response": "yes"}]}
|
||||
{"index": 189, "id": "140dd774-ff9f-4e5d-b5c6-53a76da6122a", "answer": "Car", "category": "object", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living animal?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it typically found in a kitchen?", "response": "no"}, {"question": "Is it an object typically found in a living room?", "response": "no"}, {"question": "Is it an electronic device?", "response": "no"}, {"question": "Is it an object typically found in a bedroom?", "response": "no"}, {"question": "Is it a piece of furniture typically found in a bathroom?", "response": "no"}, {"question": "Is it an object typically found in an office?", "response": "no"}, {"question": "Is it a piece of clothing?", "response": "no"}, {"question": "Is it a tool used in gardening?", "response": "no"}, {"question": "Is it a tool used in construction?", "response": "no"}, {"question": "Is it a tool used in writing?", "response": "no"}, {"question": "Is it a tool used in cleaning?", "response": "no"}, {"question": "Is it a tool used in repairs around the house?", "response": "no"}, {"question": "Is it a tool used in sports?", "response": "yes"}, {"question": "Is it a piece of sports equipment used in team sports?", "response": "no"}, {"question": "Is it a piece of sports equipment used in individual\u7ade\u6280 sports?", "response": "no"}, {"question": "Is it a jump rope?", "response": "no"}, {"question": "Is it a frisbee?", "response": "no"}, {"question": "Is it a skateboard?", "response": "no"}]}
|
||||
{"index": 90, "id": "f8043400-696e-4a66-8823-c7b556be1ddf", "answer": "Sandwich", "category": "food", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it an electronic device?", "response": "no"}, {"question": "Is it a kitchen utensil?", "response": "no"}, {"question": "Is it commonly found in a bathroom?", "response": "no"}, {"question": "Is it a handheld tool?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it a piece of clothing?", "response": "no"}, {"question": "Is it a tool used in writing?", "response": "no"}, {"question": "Is it a tool used in construction?", "response": "no"}, {"question": "Is it a tool used in gardening?", "response": "no"}, {"question": "Is it a tool used in carpentry?", "response": "no"}, {"question": "Is it a tool used in home repairs?", "response": "no"}, {"question": "Is it a tool used in cleaning?", "response": "no"}, {"question": "Is it a tool used in crafting or art?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a tool used in sports or physical exercise?", "response": "no"}, {"question": "Is it a tool used in sewing or tailoring?", "response": "no"}, {"question": "Is it a tool used in timekeeping?", "response": "no"}, {"question": "Is it a pen?", "response": "no"}]}
|
||||
{"index": 136, "id": "89e0d5dd-08d1-42a0-867c-fdde8a56ed89", "answer": "Fishing", "category": "sport", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it a man-made object?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it a geographical feature?", "response": "no"}, {"question": "Is it an abstract concept?", "response": "no"}, {"question": "Is it a celestial body?", "response": "no"}, {"question": "Is it a form of energy?", "response": "no"}, {"question": "Is it a natural force?", "response": "no"}, {"question": "Is it a natural structure?", "response": "no"}, {"question": "Is it a natural event?", "response": "no"}, {"question": "Is it a natural substance?", "response": "no"}, {"question": "Is it a natural process?", "response": "yes"}, {"question": "Is it a weather-related process?", "response": "no"}, {"question": "Is it a geological process?", "response": "no"}, {"question": "Is it a biological process?", "response": "no"}, {"question": "Is it a chemical reaction?", "response": "no"}, {"question": "Is it a physical process involving change in state or phase?", "response": "no"}, {"question": "Is it photosynthesis?", "response": "no"}, {"question": "Is it evolution?", "response": "no"}, {"question": "Is it erosion?", "response": "no"}]}
|
||||
{"index": 51, "id": "4612ce35-efa0-47f9-a4d9-3b29e96df048", "answer": "Horse", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 8, "interactions": [{"question": "Is it a living organism?", "response": "yes"}, {"question": "Is it an animal?", "response": "yes"}, {"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it a land-dwelling animal?", "response": "yes"}, {"question": "Does it have hooves?", "response": "yes"}, {"question": "Is it a cow?", "response": "no"}, {"question": "Is it a deer?", "response": "no"}, {"question": "Is it a horse?", "response": "yes"}]}
|
||||
{"index": 127, "id": "a776cc54-6c36-4e7a-b8f3-ca9333be9ae3", "answer": "Running", "category": "sport", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living thing?", "response": "no"}, {"question": "Is it a man-made object?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it a physical feature of the Earth's surface?", "response": "no"}, {"question": "Is it a celestial body?", "response": "no"}, {"question": "Is it a concept?", "response": "yes"}, {"question": "Is it an abstract concept related to time or existence?", "response": "no"}, {"question": "Is it a social construct?", "response": "no"}, {"question": "Is it a mathematical concept?", "response": "no"}, {"question": "Is it a concept related to human emotions or feelings?", "response": "no"}, {"question": "Is it a physical law or principle?", "response": "no"}, {"question": "Is it a concept related to language or communication?", "response": "no"}, {"question": "Is it a concept related to justice or fairness?", "response": "no"}, {"question": "Is it a concept related to chance or randomness?", "response": "no"}, {"question": "Is it a concept related to learning or knowledge?", "response": "no"}, {"question": "Is it a concept related to structure or organization?", "response": "no"}, {"question": "Is it gravity?", "response": "no"}, {"question": "Is it a concept related to motion or movement?", "response": "yes"}, {"question": "Is it momentum?", "response": "no"}, {"question": "Is it inertia?", "response": "no"}]}
|
||||
{"index": 162, "id": "71a86d6a-df83-4a21-8c79-a29bc59781f0", "answer": "Stranger Things", "category": "fiction", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it an object?", "response": "no"}, {"question": "Is it a living thing?", "response": "no"}, {"question": "Is it a concept?", "response": "no"}, {"question": "Is it a physical place?", "response": "no"}, {"question": "Is it a form of entertainment?", "response": "yes"}, {"question": "Is it a sport?", "response": "no"}, {"question": "Is it a form of visual art?", "response": "yes"}, {"question": "Is it a form of performance art?", "response": "no"}, {"question": "Is it a form of static visual art?", "response": "no"}, {"question": "Is it a form of digital art?", "response": "no"}, {"question": "Is it photography?", "response": "no"}, {"question": "Is it a painting?", "response": "no"}, {"question": "Is it sculpture?", "response": "no"}, {"question": "Is it architecture?", "response": "no"}, {"question": "Is it graffiti?", "response": "no"}, {"question": "Is it street art?", "response": "no"}, {"question": "Is it a form of kinetic art?", "response": "no"}, {"question": "Is it a mural?", "response": "no"}, {"question": "Is it a drawing?", "response": "no"}, {"question": "Is it a collage?", "response": "no"}]}
|
||||
{"index": 41, "id": "d7366b94-7828-4250-aad5-74541cfbf9ab", "answer": "Tiger", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 7, "interactions": [{"question": "Is it a living organism?", "response": "yes"}, {"question": "Is it an animal?", "response": "yes"}, {"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it a land-dwelling mammal?", "response": "yes"}, {"question": "Does it have stripes?", "response": "yes"}, {"question": "Is it a zebra?", "response": "no"}, {"question": "Is it a tiger?", "response": "yes"}]}
|
||||
{"index": 118, "id": "36829e76-19f7-4645-8c03-e6dc243f1c2c", "answer": "Truth", "category": "concept", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a living organism?", "response": "no"}, {"question": "Is it an object?", "response": "no"}, {"question": "Is it a concept?", "response": "yes"}, {"question": "Is it an abstract concept related to time or existence?", "response": "yes"}, {"question": "Is it a concept related to time?", "response": "no"}, {"question": "Is it a concept related to identity or self?", "response": "no"}, {"question": "Is it a concept related to morality or ethics?", "response": "yes"}, {"question": "Is it a concept related to fairness?", "response": "yes"}, {"question": "Is it justice?", "response": "no"}, {"question": "Is it a concept related to equality?", "response": "no"}, {"question": "Is it a concept related to rights?", "response": "no"}, {"question": "Is it a concept related to legal or societal rules?", "response": "yes"}, {"question": "Is it a concept related to punishment or consequences for wrongdoing?", "response": "no"}, {"question": "Is it a concept related to laws or regulations?", "response": "no"}, {"question": "Is it a concept related to social order or structure?", "response": "no"}, {"question": "Is it a concept related to duty or obligation?", "response": "no"}, {"question": "Is it a concept related to responsibility or accountability?", "response": "yes"}, {"question": "Is it accountability?", "response": "no"}, {"question": "Is it integrity?", "response": "no"}, {"question": "Is it responsibility?", "response": "no"}]}
|
||||
+80
@@ -0,0 +1,80 @@
|
||||
{"index": 95, "id": "ecb79aa7-50c6-48cd-9f88-3bd2b33fee65", "answer": "Spaghetti", "category": "food", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a thing that can be found in a kitchen?", "response": "yes"}, {"question": "Is it a cooking utensil?", "response": "no"}, {"question": "Is it a kitchen appliance?", "response": "no"}, {"question": "Is it a food?", "response": "yes"}, {"question": "Is it a fruit?", "response": "no"}, {"question": "Is it a vegetable?", "response": "no"}, {"question": "Is it a type of grain?", "response": "no"}, {"question": "Is it a type of nut?", "response": "no"}, {"question": "Is it a spice?", "response": "no"}, {"question": "Is it a condiment?", "response": "no"}, {"question": "Is it a common ingredient in salad dressings?", "response": "no"}, {"question": "Is it a dairy product?", "response": "no"}, {"question": "Is it a type of bread?", "response": "no"}, {"question": "Is it a type of bean?", "response": "no"}, {"question": "Is it a type of legume?", "response": "no"}, {"question": "Is it a type of seasoning?", "response": "no"}, {"question": "Is it olive oil?", "response": "no"}]}
|
||||
{"index": 15, "id": "66f66c06-5a44-4933-a2f3-8d77c0882520", "answer": "Isaac Newton", "category": "person", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "yes"}, {"question": "Is it a real person rather than a fictional character?", "response": "yes"}, {"question": "Is it a historically significant figure?", "response": "yes"}, {"question": "Is it a person who lived more than 100 years ago?", "response": "yes"}, {"question": "Is it a person who lived more than 500 years ago?", "response": "no"}, {"question": "Is it a person who lived more than 1,000 years ago?", "response": "no"}, {"question": "Is it a person who lived between 500 and 1,000 years ago?", "response": "no"}, {"question": "Is it a person who lived between 400 and 500 years ago?", "response": "no"}, {"question": "Is it a person who lived between 300 and 400 years ago?", "response": "yes"}, {"question": "Is it a person who lived between 300 and 350 years ago?", "response": "yes"}, {"question": "Is it a person who lived between 300 and 325 years ago?", "response": "yes"}, {"question": "Is it a person who lived between 300 and 312 years ago?", "response": "yes"}, {"question": "Is it a person who lived between 300 and 306 years ago?", "response": "yes"}, {"question": "Is it a person who lived between 300 and 303 years ago?", "response": "yes"}, {"question": "Is it a person who lived between 300 and 301 years ago?", "response": "no"}, {"question": "Is it a person who lived between 301 and 303 years ago?", "response": "yes"}, {"question": "Is it a person who lived between 301 and 302 years ago?", "response": "yes"}, {"question": "Is it a person who lived around 301 or 302 years ago?", "response": "no"}, {"question": "Is it Christopher Columbus?", "response": "no"}, {"question": "Is it Leonardo da Vinci?", "response": "no"}]}
|
||||
{"index": 30, "id": "f5cd3b71-a715-4b57-8cf6-e36fe9b5cd6f", "answer": "Taj Mahal", "category": "place", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it an object?", "response": "yes"}, {"question": "Is it a tool?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it a household item?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it a kitchen appliance?", "response": "no"}, {"question": "Is it a transportation device?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a piece of technology?", "response": "no"}, {"question": "Is it a piece of electronic equipment?", "response": "no"}, {"question": "Is it a piece of wearable technology?", "response": "no"}, {"question": "Is it a type of container?", "response": "no"}, {"question": "Is it a piece of decorative art?", "response": "no"}, {"question": "Is it a piece of equipment used in sports?", "response": "no"}, {"question": "Is it a piece of equipment used in medical settings?", "response": "no"}, {"question": "Is it a type of machine?", "response": "no"}, {"question": "Is it a piece of equipment used in construction?", "response": "no"}, {"question": "Is it a piece of outdoor recreational equipment?", "response": "no"}, {"question": "Is it a key?", "response": "no"}]}
|
||||
{"index": 158, "id": "99e2b570-e49a-4490-af10-bdddeed11e9f", "answer": "The Joker", "category": "character", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "yes"}, {"question": "Is it a real person?", "response": "no"}, {"question": "Is it a fictional character from a well-known book or film?", "response": "yes"}, {"question": "Is it a character from a famous fantasy story?", "response": "no"}, {"question": "Is it a character from a famous science fiction story?", "response": "no"}, {"question": "Is it a character from a famous work of science fiction literature?", "response": "no"}, {"question": "Is it a character from a famous work of science fiction television?", "response": "no"}, {"question": "Is it a character from a famous work of science fiction film?", "response": "no"}, {"question": "Is it a character from a famous work of science fiction film that is also a cyborg?", "response": "no"}, {"question": "Is it a character from a famous work of science fiction that is not a cyborg but has enhanced technological abilities?", "response": "no"}, {"question": "Is it a character from a famous work of science fiction that is not a cyborg and does not have enhanced technological abilities, but is instead magical or supernatural in nature?", "response": "no"}, {"question": "Is it a character from a famous work of science fiction that is not a cyborg, does not have enhanced technological abilities, and is not magical or supernatural, but is instead a human with extraordinary leadership or strategic abilities?", "response": "no"}, {"question": "Is it a character from a famous work of science fiction that is a robot or artificial intelligence?", "response": "no"}, {"question": "Is it a character from a famous work of science fiction that is a humanoid alien?", "response": "no"}, {"question": "Is it a character from a famous work of science fiction that is a non-human entity with biological but non-terrestrial origins?", "response": "no"}, {"question": "Is it a character from a famous work of science fiction that is a non-human entity with biological but non-terrestrial origins?", "response": "no"}, {"question": "Is it a character from a famous work of science fiction that is a non-human entity with biological but non-terrestrial origins?", "response": "no"}, {"question": "Is it a character from a famous work of science fiction that is a non-human entity with biological but non-terrestrial origins?", "response": "no"}, {"question": "Is it a character from a famous work of fantasy literature?", "response": "no"}, {"question": "Is it a character from a famous work of fantasy film or television?", "response": "no"}]}
|
||||
{"index": 128, "id": "264a18f6-92d4-4d97-ad8d-46a666233832", "answer": "Golf", "category": "sport", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a real-world object?", "response": "no"}, {"question": "Is it a concept?", "response": "no"}, {"question": "Is it a fictional character?", "response": "no"}, {"question": "Is it a food?", "response": "no"}, {"question": "Is it a sport?", "response": "yes"}, {"question": "Is it a team sport?", "response": "no"}, {"question": "Is it an individual athletic event?", "response": "yes"}, {"question": "Is it swimming?", "response": "no"}, {"question": "Is it gymnastics?", "response": "no"}, {"question": "Is it a track and field event?", "response": "no"}, {"question": "Is it a throwing event?", "response": "no"}, {"question": "Is it a martial arts competition?", "response": "no"}, {"question": "Is it wrestling?", "response": "no"}, {"question": "Is it a combat sport?", "response": "no"}, {"question": "Is it fencing?", "response": "no"}, {"question": "Is it archery?", "response": "no"}, {"question": "Is it boxing?", "response": "no"}]}
|
||||
{"index": 115, "id": "7cb18e36-d62a-4ee3-908e-3b62a64aff6c", "answer": "Music", "category": "concept", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it an object?", "response": "no"}, {"question": "Is it a concept?", "response": "yes"}, {"question": "Is it a tangible concept?", "response": "no"}, {"question": "Is it an abstract concept?", "response": "yes"}, {"question": "Is it a fundamental idea in philosophy?", "response": "no"}, {"question": "Is it a concept related to human consciousness?", "response": "yes"}, {"question": "Is it a concept related to self-awareness?", "response": "no"}, {"question": "Is it a concept related to perception or awareness?", "response": "yes"}, {"question": "Is it a concept related to mental awareness?", "response": "yes"}, {"question": "Is it a concept related to attention?", "response": "no"}, {"question": "Is it consciousness?", "response": "no"}, {"question": "Is it attention?", "response": "no"}, {"question": "Is it a mental state that involves awareness of one's surroundings?", "response": "no"}, {"question": "Is it mindfulness?", "response": "no"}, {"question": "Is it awareness?", "response": "no"}, {"question": "Is it a state of being awake?", "response": "no"}, {"question": "Is it cognition?", "response": "no"}]}
|
||||
{"index": 69, "id": "36f865ac-e58e-4497-9d93-cce241a2c8c0", "answer": "Watch", "category": "object", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an object?", "response": "yes"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it a tool?", "response": "yes"}, {"question": "Is it used for cutting?", "response": "no"}, {"question": "Is it a writing instrument?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a kitchen utensil?", "response": "no"}, {"question": "Is it a handheld tool used for driving nails?", "response": "no"}, {"question": "Is it a type of fastener?", "response": "no"}, {"question": "Is it a type of container?", "response": "no"}, {"question": "Is it a type of clothing?", "response": "no"}, {"question": "Is it a type of measuring tool?", "response": "yes"}, {"question": "Is it a measuring tool used for determining distance?", "response": "no"}, {"question": "Is it a measuring tool used for measuring angles?", "response": "no"}, {"question": "Is it a measuring tool used for determining weight?", "response": "no"}, {"question": "Is it a scale?", "response": "no"}, {"question": "Is it a measuring tool used for length?", "response": "no"}, {"question": "Is it a ruler?", "response": "no"}]}
|
||||
{"index": 170, "id": "cc9181ed-1690-4947-a863-e49d260e0cf2", "answer": "Cloud", "category": "nature", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "yes"}, {"question": "Is it a fictional character?", "response": "yes"}, {"question": "Is it a character from a well-known book?", "response": "no"}, {"question": "Is it a character from a famous movie?", "response": "yes"}, {"question": "Is it a character from a major Hollywood franchise?", "response": "no"}, {"question": "Is it a character from a Marvel or DC film?", "response": "no"}, {"question": "Is it a character from a Star Wars film?", "response": "no"}, {"question": "Is it a character from a non-Marvel, non-DC, non-Star Wars blockbuster film?", "response": "no"}, {"question": "Is it a character from a famous fantasy film?", "response": "yes"}, {"question": "Is it a character from The Lord of the Rings film trilogy?", "response": "no"}, {"question": "Is it a character from a famous fantasy film produced by DreamWorks?", "response": "no"}, {"question": "Is it a character from a famous fantasy film produced by Walt Disney Pictures?", "response": "no"}, {"question": "Is it a character from a famous fantasy film produced by Pixar?", "response": "no"}, {"question": "Is it a character from a famous fantasy film produced by Universal Pictures?", "response": "no"}, {"question": "Is it a character from a famous fantasy film produced by Columbia Pictures?", "response": "no"}, {"question": "Is it a character from a famous fantasy film produced by Warner Bros.?", "response": "no"}, {"question": "Is it a character from a famous fantasy film produced by a studio other than Disney, DreamWorks, Pixar, Universal, Columbia, Warner Bros., Marvel, DC, or Star Wars?", "response": "yes"}, {"question": "Is it a character from a famous fantasy film produced by a studio that is not a major Hollywood studio and not associated with the major franchises?", "response": "no"}, {"question": "Is it a character from a famous fantasy film produced by a studio known primarily for non-franchise, original content?", "response": "no"}, {"question": "Is it a character from the film *Pan's Labyrinth*?", "response": "no"}]}
|
||||
{"index": 174, "id": "43a4ca76-14aa-47a4-8a49-f94226b933c4", "answer": "Treasure", "category": "object", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it an object?", "response": "yes"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it a tool used for cutting?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a household object?", "response": "no"}, {"question": "Is it used for writing or drawing?", "response": "no"}, {"question": "Is it a transport vehicle?", "response": "no"}, {"question": "Is it a device used for communication?", "response": "no"}, {"question": "Is it a piece of electronic equipment?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it a type of food?", "response": "no"}, {"question": "Is it a type of clothing?", "response": "no"}, {"question": "Is it a type of technology?", "response": "no"}, {"question": "Is it a type of weapon?", "response": "no"}, {"question": "Is it a type of container?", "response": "no"}, {"question": "Is it a key?", "response": "no"}, {"question": "Is it a door?", "response": "no"}]}
|
||||
{"index": 45, "id": "355b031a-c5ec-41ca-926d-8343b2944953", "answer": "Eagle", "category": "animal", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it a thing?", "response": "yes"}, {"question": "Is it an animal?", "response": "yes"}, {"question": "Is it a mammal?", "response": "no"}, {"question": "Is it a reptile?", "response": "no"}, {"question": "Is it a bird?", "response": "yes"}, {"question": "Is it a bird that can fly?", "response": "yes"}, {"question": "Is it a bird that is commonly found in urban environments?", "response": "no"}, {"question": "Is it a bird that is native to the Americas?", "response": "yes"}, {"question": "Is it a bird that is native to North America and known for its bright red crest?", "response": "no"}, {"question": "Is it a bird native to North America that is known for its loud, distinctive call?", "response": "yes"}, {"question": "Is it a North American bird known for its loud, territorial call and commonly associated with forests?", "response": "no"}, {"question": "Is it a North American bird known for its loud, territorial call and commonly associated with open fields or grasslands?", "response": "no"}, {"question": "Is it a North American bird known for its loud, territorial call and commonly associated with wetlands?", "response": "no"}, {"question": "Is it a North American bird known for its loud, territorial call and commonly associated with open marshes?", "response": "no"}, {"question": "Is it a North American bird known for its loud, territorial call and commonly associated with wooded areas?", "response": "no"}, {"question": "Is it a North American bird known for its loud, territorial call and commonly associated with dense forests?", "response": "no"}, {"question": "Is it a North American bird known for its loud, territorial call and commonly associated with open woodlands?", "response": "no"}, {"question": "Is it a Northern Cardinal?", "response": "no"}]}
|
||||
{"index": 66, "id": "7142ebe4-c53b-4009-b995-cfe208af82a6", "answer": "Umbrella", "category": "object", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an object?", "response": "yes"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it a tool?", "response": "yes"}, {"question": "Is it a handheld tool?", "response": "yes"}, {"question": "Is it used for cutting?", "response": "no"}, {"question": "Is it a knife?", "response": "no"}, {"question": "Is it a writing instrument?", "response": "no"}, {"question": "Is it a measuring tool?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a container?", "response": "no"}, {"question": "Is it a common household tool used for driving nails?", "response": "no"}, {"question": "Is it a handheld, man-made tool used for gripping or holding objects?", "response": "no"}, {"question": "Is it a handheld, man-made tool used for turning screws?", "response": "no"}, {"question": "Is it a handheld, man-made tool used for tightening or loosening bolts?", "response": "no"}, {"question": "Is it a handheld, man-made tool used for gripping or holding objects?", "response": "no"}, {"question": "Is it a handheld, man-made tool used for shaping or smoothing surfaces?", "response": "no"}, {"question": "Is it a handheld, man-made tool used for lifting or prying objects?", "response": "no"}, {"question": "Is it a wrench?", "response": "no"}]}
|
||||
{"index": 182, "id": "f9173612-999a-441f-bb71-29a4ff49ceb2", "answer": "Wallet", "category": "object", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it a thing that can be found in a kitchen?", "response": "no"}, {"question": "Is it a concept?", "response": "no"}, {"question": "Is it a sport?", "response": "no"}, {"question": "Is it a fictional character?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it an object?", "response": "yes"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a tool used for cutting?", "response": "no"}, {"question": "Is it a device used for communication?", "response": "no"}, {"question": "Is it a computer?", "response": "no"}, {"question": "Is it a type of fruit?", "response": "no"}, {"question": "Is it a type of clothing?", "response": "no"}, {"question": "Is it a type of plant?", "response": "no"}, {"question": "Is it a type of vehicle?", "response": "no"}, {"question": "Is it a type of energy?", "response": "no"}, {"question": "Is it a type of weather?", "response": "no"}, {"question": "Is it a coin?", "response": "no"}]}
|
||||
{"index": 165, "id": "5e69a65d-7c3e-403e-9398-ec80fbd9e27d", "answer": "Moon", "category": "nature", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "yes"}, {"question": "Is it a natural place?", "response": "yes"}, {"question": "Is it a mountain?", "response": "no"}, {"question": "Is it a continent?", "response": "no"}, {"question": "Is it a river?", "response": "no"}, {"question": "Is it a lake?", "response": "no"}, {"question": "Is it a lake larger than 10,000 square kilometers?", "response": "no"}, {"question": "Is it a large freshwater lake?", "response": "no"}, {"question": "Is it a large lake smaller than 10,000 square kilometers?", "response": "no"}, {"question": "Is it a body of water smaller than 10,000 square kilometers?", "response": "no"}, {"question": "Is it a lake smaller than 1,000 square kilometers?", "response": "no"}, {"question": "Is it a lake smaller than 100 square kilometers?", "response": "no"}, {"question": "Is it a lake smaller than 10 square kilometers?", "response": "no"}, {"question": "Is it a body of water smaller than 1 square kilometer?", "response": "no"}, {"question": "Is it a lake smaller than 1 square kilometer?", "response": "no"}, {"question": "Is it a body of water smaller than 0.1 square kilometers?", "response": "no"}, {"question": "Is it a lake smaller than 0.01 square kilometers?", "response": "no"}, {"question": "Is it a body of water smaller than 0.001 square kilometers?", "response": "no"}, {"question": "Is it the Sea of Galilee?", "response": "no"}]}
|
||||
{"index": 78, "id": "47314f82-d3a4-4d25-9dae-831c723172dd", "answer": "Harp", "category": "instrument", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 16, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a thing?", "response": "yes"}, {"question": "Is it a natural object?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it a tool?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "yes"}, {"question": "Is it a stringed instrument?", "response": "yes"}, {"question": "Is it a guitar?", "response": "no"}, {"question": "Is it a percussion instrument?", "response": "no"}, {"question": "Is it a keyboard instrument?", "response": "no"}, {"question": "Is it a keyboard instrument that uses strings struck by hammers?", "response": "no"}, {"question": "Is it a piano?", "response": "no"}, {"question": "Is it a violin?", "response": "no"}, {"question": "Is it a harp?", "response": "yes"}]}
|
||||
{"index": 186, "id": "3ce593f2-2090-4c70-a80c-431445b22dc6", "answer": "Blanket", "category": "object", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it an object?", "response": "yes"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it a tool?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it a technological device?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a type of kitchen utensil?", "response": "no"}, {"question": "Is it a type of container?", "response": "no"}, {"question": "Is it a type of clothing?", "response": "no"}, {"question": "Is it a type of transportation?", "response": "no"}, {"question": "Is it a type of weapon?", "response": "no"}, {"question": "Is it a type of electronic device?", "response": "no"}, {"question": "Is it a type of household item?", "response": "yes"}, {"question": "Is it a type of kitchen appliance?", "response": "no"}, {"question": "Is it a type of cleaning tool?", "response": "no"}, {"question": "Is it a type of light fixture?", "response": "no"}, {"question": "Is it a chair?", "response": "no"}]}
|
||||
{"index": 177, "id": "f7880480-187f-44cb-b4e6-9b55103d7d69", "answer": "Wizard", "category": "character", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "yes"}, {"question": "Is it a historical figure?", "response": "no"}, {"question": "Is it a fictional character?", "response": "yes"}, {"question": "Is it a character from a famous book?", "response": "yes"}, {"question": "Is it a character from a classic novel?", "response": "no"}, {"question": "Is it a character from a 20th-century novel?", "response": "yes"}, {"question": "Is it a character from a well-known 20th-century novel by a British author?", "response": "no"}, {"question": "Is it a character from a 20th-century novel by an American author?", "response": "yes"}, {"question": "Is it a character from a 20th-century American novel by a female author?", "response": "yes"}, {"question": "Is it a character from a 20th-century American novel by a female author who is also a prominent figure in feminist literature?", "response": "yes"}, {"question": "Is it a character from *The Handmaid's Tale*?", "response": "no"}, {"question": "Is it a character from a 20th-century American feminist novel by Margaret Atwood?", "response": "no"}, {"question": "Is it a character from a 20th-century American feminist novel by a female author who wrote a prominent work on gender and power?", "response": "no"}, {"question": "Is it a character from a 20th-century American feminist novel by a female author who wrote *The Feminine Mystique*?", "response": "no"}, {"question": "Is it a character from a 20th-century American feminist novel by a female author who wrote a seminal work on women's societal roles?", "response": "no"}, {"question": "Is it a character from a 20th-century American feminist novel by a female author who wrote a major work on reproductive rights?", "response": "no"}, {"question": "Is it a character from a 20th-century American feminist novel by a female author who wrote a book about the limitations of domestic life?", "response": "no"}, {"question": "Is it a character from a 20th-century American feminist novel by a female author who wrote about the constraints of marriage and motherhood?", "response": "no"}, {"question": "Is it a character from a 20th-century American feminist novel by a female author who wrote about the psychological toll of oppression in domestic roles?", "response": "no"}, {"question": "Is it a character from a 20th-century American feminist novel by a female author who wrote *The Bell Jar*?", "response": "no"}]}
|
||||
{"index": 56, "id": "b33a5e2e-c26d-4766-9225-2bcca038a286", "answer": "Bear", "category": "animal", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "yes"}, {"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it a domestic animal?", "response": "no"}, {"question": "Is it a wild animal that is larger than a fox?", "response": "yes"}, {"question": "Is it a predator?", "response": "yes"}, {"question": "Is it a big cat?", "response": "no"}, {"question": "Is it a feline predator that lives in Asia?", "response": "no"}, {"question": "Is it a large wild cat native to Africa?", "response": "no"}, {"question": "Is it a large wild feline found in the Americas?", "response": "no"}, {"question": "Is it a large wild carnivore native to the Americas that is not a big cat?", "response": "yes"}, {"question": "Is it a large wild carnivore native to North America?", "response": "yes"}, {"question": "Is it a large wild carnivore native to North America that is not a bear?", "response": "no"}, {"question": "Is it a wolf?", "response": "no"}, {"question": "Is it a jaguar?", "response": "no"}, {"question": "Is it a cougar?", "response": "no"}, {"question": "Is it a puma?", "response": "no"}, {"question": "Is it a wolverine?", "response": "no"}, {"question": "Is it a coyote?", "response": "no"}]}
|
||||
{"index": 152, "id": "b9a8e621-143e-42c6-8bd5-89c6baaeeba7", "answer": "Star Wars", "category": "fiction", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an object?", "response": "no"}, {"question": "Is it a living thing?", "response": "no"}, {"question": "Is it a concept?", "response": "no"}, {"question": "Is it a creature?", "response": "no"}, {"question": "Is it a food?", "response": "no"}, {"question": "Is it a sport?", "response": "no"}, {"question": "Is it an instrument?", "response": "no"}, {"question": "Is it a fictional character?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it a fictional entity?", "response": "yes"}, {"question": "Is it a fictional entity that is a well-known symbol in popular culture?", "response": "yes"}, {"question": "Is it a fictional entity from a well-known myth or legend?", "response": "no"}, {"question": "Is it a fictional entity that is a well-known symbol in popular culture and originates from a modern movie or TV series?", "response": "yes"}, {"question": "Is it a fictional entity from a popular animated TV show?", "response": "no"}, {"question": "Is it a fictional entity from a popular live-action TV series?", "response": "no"}, {"question": "Is it a fictional entity from a popular modern sci-fi TV series?", "response": "no"}, {"question": "Is it a fictional entity from a popular modern fantasy TV series?", "response": "no"}, {"question": "Is it a fictional entity from a popular modern fantasy book series?", "response": "no"}]}
|
||||
{"index": 82, "id": "fd1084d8-5b70-4049-a8a2-e6d7a85a2ef1", "answer": "Smartphone", "category": "object", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 12, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an object?", "response": "yes"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it a tool used for cutting?", "response": "no"}, {"question": "Is it a handheld object?", "response": "yes"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a type of writing instrument?", "response": "no"}, {"question": "Is it a small, portable electronic device?", "response": "yes"}, {"question": "Is it a battery-powered device?", "response": "yes"}, {"question": "Is it a smartphone?", "response": "yes"}]}
|
||||
{"index": 68, "id": "765195e1-0d98-4bde-b9b2-b026adfd4bcf", "answer": "Lock", "category": "object", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a thing that can be found in a kitchen?", "response": "yes"}, {"question": "Is it a cooking utensil?", "response": "no"}, {"question": "Is it a cooking ingredient?", "response": "no"}, {"question": "Is it a commonly used kitchen appliance?", "response": "no"}, {"question": "Is it a kitchen tool used for mixing or stirring?", "response": "no"}, {"question": "Is it a kitchen item used for cutting?", "response": "no"}, {"question": "Is it a kitchen item used for storing food?", "response": "no"}, {"question": "Is it a kitchen item used for heating food?", "response": "no"}, {"question": "Is it a kitchen item used for serving food?", "response": "no"}, {"question": "Is it a kitchen item used for measuring ingredients?", "response": "no"}, {"question": "Is it a kitchen item used for storing liquids?", "response": "no"}, {"question": "Is it a kitchen item used for preparing food that is not a utensil, appliance, or storage container?", "response": "no"}, {"question": "Is it a kitchen item used for food preservation?", "response": "no"}, {"question": "Is it a kitchen item used for cleaning?", "response": "no"}, {"question": "Is it a kitchen item used for food preparation that is not a utensil, appliance, or storage container?", "response": "no"}, {"question": "Is it a kitchen item used for food presentation?", "response": "no"}, {"question": "Is it a kitchen item used for food preservation that is commonly found in pantries?", "response": "no"}]}
|
||||
{"index": 124, "id": "2671f43f-ddb0-4cca-9897-1a21cc917c5a", "answer": "Basketball", "category": "sport", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a physical object?", "response": "yes"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it a tool used for cutting?", "response": "no"}, {"question": "Is it a household item?", "response": "no"}, {"question": "Is it a digital device?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a type of vehicle?", "response": "no"}, {"question": "Is it a piece of clothing?", "response": "no"}, {"question": "Is it a type of food?", "response": "no"}, {"question": "Is it a type of weapon?", "response": "no"}, {"question": "Is it a natural object?", "response": "no"}, {"question": "Is it a type of building?", "response": "no"}, {"question": "Is it a coin?", "response": "no"}, {"question": "Is it a type of electronic device?", "response": "no"}, {"question": "Is it a key?", "response": "no"}, {"question": "Is it a gemstone?", "response": "no"}]}
|
||||
{"index": 16, "id": "08f89c8a-703c-45bd-aa70-316a440c6887", "answer": "William Shakespeare", "category": "person", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "yes"}, {"question": "Is it a historical figure?", "response": "yes"}, {"question": "Is it a person from ancient history?", "response": "no"}, {"question": "Is it a person from medieval history?", "response": "no"}, {"question": "Is it a person from the Renaissance period?", "response": "yes"}, {"question": "Is it a person known primarily for their contributions to art or science during the Renaissance?", "response": "yes"}, {"question": "Is it a person known primarily for their work in painting during the Renaissance?", "response": "no"}, {"question": "Is it a person known primarily for their contributions to medicine or anatomy during the Renaissance?", "response": "no"}, {"question": "Is it a person known primarily for their contributions to astronomy during the Renaissance?", "response": "no"}, {"question": "Is it Leonardo da Vinci?", "response": "no"}, {"question": "Is it a person known primarily for their contributions to engineering during the Renaissance?", "response": "no"}, {"question": "Is it a person known primarily for their contributions to mathematics during the Renaissance?", "response": "no"}, {"question": "Is it a person known primarily for their contributions to physics during the Renaissance?", "response": "no"}, {"question": "Is it Galileo Galilei?", "response": "no"}, {"question": "Is it a person known primarily for their contributions to philosophy during the Renaissance?", "response": "no"}, {"question": "Is it a person known primarily for their contributions to cartography during the Renaissance?", "response": "no"}, {"question": "Is it Nicolaus Copernicus?", "response": "no"}, {"question": "Is it a person known primarily for their contributions to navigation during the Renaissance?", "response": "no"}, {"question": "Is it a person known primarily for their contributions to architecture during the Renaissance?", "response": "no"}, {"question": "Is it Michelangelo?", "response": "no"}]}
|
||||
{"index": 148, "id": "1612556f-3add-45be-9003-16d9b4fafc66", "answer": "SpongeBob", "category": "fiction", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "yes"}, {"question": "Is it a mammal?", "response": "no"}, {"question": "Is it a bird?", "response": "no"}, {"question": "Is it a reptile?", "response": "no"}, {"question": "Is it a fish?", "response": "no"}, {"question": "Is it an insect?", "response": "no"}, {"question": "Is it a spider?", "response": "no"}, {"question": "Is it a crustacean?", "response": "no"}, {"question": "Is it a mollusk?", "response": "no"}, {"question": "Is it a cephalopod?", "response": "no"}, {"question": "Is it a jellyfish?", "response": "no"}, {"question": "Is it a mollusk?", "response": "no"}, {"question": "Is it a vertebrate?", "response": "no"}, {"question": "Is it a starfish?", "response": "no"}, {"question": "Is it a sea anemone?", "response": "no"}, {"question": "Is it a coral?", "response": "no"}, {"question": "Is it a sponge?", "response": "yes"}, {"question": "Is it a sponge?", "response": "yes"}]}
|
||||
{"index": 93, "id": "0098c650-1b14-4c76-8e25-685326b7cf2b", "answer": "Watermelon", "category": "food", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a thing?", "response": "yes"}, {"question": "Is it a man-made object?", "response": "no"}, {"question": "Is it a natural object?", "response": "yes"}, {"question": "Is it a rock or mineral?", "response": "no"}, {"question": "Is it a celestial body?", "response": "no"}, {"question": "Is it a plant?", "response": "no"}, {"question": "Is it a body of water?", "response": "no"}, {"question": "Is it a natural object found in forests?", "response": "no"}, {"question": "Is it a natural object found in deserts?", "response": "no"}, {"question": "Is it a natural object found in mountains?", "response": "no"}, {"question": "Is it a natural object found in oceans?", "response": "no"}, {"question": "Is it a natural object found in caves?", "response": "no"}, {"question": "Is it a natural object found in rivers?", "response": "no"}, {"question": "Is it a natural object found in forests?", "response": "no"}, {"question": "Is it a natural object found in snow or ice environments?", "response": "no"}, {"question": "Is it a glacier?", "response": "no"}, {"question": "Is it a snowflake?", "response": "no"}]}
|
||||
{"index": 65, "id": "ca52db96-8e3a-4206-9c32-8b2bc2901672", "answer": "Camera", "category": "object", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it a thing?", "response": "yes"}, {"question": "Is it an object used in everyday household activities?", "response": "yes"}, {"question": "Is it a cooking utensil?", "response": "no"}, {"question": "Is it a tool used for cutting or slicing?", "response": "no"}, {"question": "Is it a kitchen appliance?", "response": "no"}, {"question": "Is it a device used for cleaning?", "response": "no"}, {"question": "Is it a cleaning tool used for dusting?", "response": "no"}, {"question": "Is it a small, handheld object used for personal grooming?", "response": "no"}, {"question": "Is it a small, handheld electronic device?", "response": "yes"}, {"question": "Is it a smartphone?", "response": "no"}, {"question": "Is it a wearable electronic device?", "response": "no"}, {"question": "Is it a small electronic device used for communication?", "response": "no"}, {"question": "Is it a small electronic device used for timekeeping?", "response": "no"}, {"question": "Is it a small electronic device used for measuring physical activity?", "response": "no"}, {"question": "Is it a small electronic device used for measuring time?", "response": "no"}, {"question": "Is it a small electronic device used for tracking health metrics?", "response": "no"}, {"question": "Is it a small electronic device used for displaying information?", "response": "no"}, {"question": "Is it a key?", "response": "no"}]}
|
||||
{"index": 60, "id": "0be3e334-f9cd-4a1f-8087-58c0643dd09f", "answer": "Chair", "category": "object", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it a food?", "response": "no"}, {"question": "Is it a concept?", "response": "yes"}, {"question": "Is it a tangible concept?", "response": "no"}, {"question": "Is it an abstract concept?", "response": "no"}, {"question": "Is it a fictional concept?", "response": "no"}, {"question": "Is it a naturally occurring phenomenon?", "response": "no"}, {"question": "Is it a law?", "response": "no"}, {"question": "Is it a supernatural phenomenon?", "response": "no"}, {"question": "Is it a sport?", "response": "no"}, {"question": "Is it a universally derived principle or concept within human thought systems?", "response": "no"}, {"question": "Is it a mathematical concept?", "response": "no"}, {"question": "Is it a time?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it a well-known symbol?", "response": "no"}, {"question": "Is it nothing?", "response": "no"}, {"question": "Is it a universal constant?", "response": "no"}, {"question": "Is it a myth?", "response": "no"}]}
|
||||
{"index": 84, "id": "97da2d1b-393e-462a-a248-7549328f7741", "answer": "Coffee", "category": "food", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it a food?", "response": "no"}, {"question": "Is it a concept?", "response": "no"}, {"question": "Is it a fictional character?", "response": "no"}, {"question": "Is it an object?", "response": "yes"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a tool?", "response": "no"}, {"question": "Is it a natural object?", "response": "yes"}, {"question": "Is it a mineral?", "response": "no"}, {"question": "Is it a rock?", "response": "no"}, {"question": "Is it a type of gemstone?", "response": "no"}, {"question": "Is it a type of crystal?", "response": "no"}, {"question": "Is it a type of natural stone?", "response": "no"}, {"question": "Is it a type of natural mineral or non-mineral substance found in geological formations?", "response": "no"}, {"question": "Is it a type of natural substance that forms through biological processes?", "response": "yes"}, {"question": "Is it a type of organic mineral formed by biological processes?", "response": "no"}, {"question": "Is it a type of organic material formed by biological processes that is not a mineral?", "response": "yes"}, {"question": "Is it coal?", "response": "no"}]}
|
||||
{"index": 67, "id": "499a2dd4-89d0-476e-b3aa-2a3d44102d8f", "answer": "Bicycle", "category": "object", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it an object?", "response": "yes"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it a tool used for writing?", "response": "no"}, {"question": "Is it a household item?", "response": "no"}, {"question": "Is it a piece of technology?", "response": "yes"}, {"question": "Is it a digital device?", "response": "no"}, {"question": "Is it a device used for communication?", "response": "no"}, {"question": "Is it a device used for transportation?", "response": "yes"}, {"question": "Is it a vehicle used for personal transportation?", "response": "yes"}, {"question": "Is it a vehicle that operates on rails?", "response": "no"}, {"question": "Is it a vehicle powered by electricity?", "response": "yes"}, {"question": "Is it a vehicle that operates using batteries rather than fuel?", "response": "no"}, {"question": "Is it a vehicle that operates on electricity from an external source rather than stored energy?", "response": "no"}, {"question": "Is it a vehicle that runs on electric power drawn from overhead wires?", "response": "no"}, {"question": "Is it a vehicle that runs on electric power from a battery pack?", "response": "no"}, {"question": "Is it a vehicle that uses electric power from a plug-in source?", "response": "no"}, {"question": "Is it a vehicle that uses electric power from a battery and is commonly used for short-distance urban travel?", "response": "no"}, {"question": "Is it a vehicle that uses electric power drawn from an external source like overhead wires or third rails?", "response": "no"}, {"question": "Is it a bicycle?", "response": "yes"}]}
|
||||
{"index": 125, "id": "523eff2d-609f-4142-8795-cbf1d71dbc2a", "answer": "Tennis", "category": "sport", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 14, "interactions": [{"question": "Is it a living being?", "response": "no"}, {"question": "Is it a man-made object?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it a fictional entity?", "response": "no"}, {"question": "Is it a physical object that exists in the natural world and is not man-made?", "response": "no"}, {"question": "Is it a concept?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it a sport?", "response": "yes"}, {"question": "Is it a team sport?", "response": "no"}, {"question": "Is it an individual sport?", "response": "yes"}, {"question": "Is it a sport that involves the use of a ball?", "response": "yes"}, {"question": "Is it a sport that is typically played indoors?", "response": "no"}, {"question": "Is it a sport that involves the use of a racket?", "response": "yes"}, {"question": "Is it tennis?", "response": "yes"}]}
|
||||
{"index": 132, "id": "a959aca2-6f9a-4330-bba0-eccc9128bb03", "answer": "Chess", "category": "sport", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it an object?", "response": "yes"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it a tool used for cutting?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a commonly used household item?", "response": "no"}, {"question": "Is it a piece of technology?", "response": "no"}, {"question": "Is it a natural object found in forests?", "response": "no"}, {"question": "Is it a type of fruit?", "response": "no"}, {"question": "Is it a type of coin?", "response": "no"}, {"question": "Is it a type of gemstone?", "response": "no"}, {"question": "Is it a type of rock?", "response": "no"}, {"question": "Is it a type of clothing?", "response": "no"}, {"question": "Is it a type of vehicle?", "response": "no"}, {"question": "Is it a type of plant?", "response": "no"}, {"question": "Is it a type of natural phenomenon?", "response": "no"}, {"question": "Is it a type of mineral?", "response": "no"}, {"question": "Is it a key?", "response": "no"}]}
|
||||
{"index": 9, "id": "9dccdf7b-5905-450d-931a-2463348b042e", "answer": "Leonardo da Vinci", "category": "person", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "yes"}, {"question": "Is it a historically significant person?", "response": "yes"}, {"question": "Is it a person from ancient history?", "response": "no"}, {"question": "Is it a person from the 20th century?", "response": "no"}, {"question": "Is it a person from the 19th century?", "response": "no"}, {"question": "Is it a person from the 18th century?", "response": "no"}, {"question": "Is it a person from the 17th century?", "response": "no"}, {"question": "Is it a person from the 16th century?", "response": "yes"}, {"question": "Is it a person who lived in the 16th century and is known for their contributions to science or exploration?", "response": "yes"}, {"question": "Is it a person from the 16th century known for contributions to astronomy?", "response": "no"}, {"question": "Is it a person from the 16th century known for contributions to navigation or exploration?", "response": "no"}, {"question": "Is it Christopher Columbus?", "response": "no"}, {"question": "Is it a 16th-century person known for contributions to medicine or anatomy?", "response": "yes"}, {"question": "Is it Andreas Vesalius?", "response": "no"}, {"question": "Is it Andreas Vesalius?", "response": "no"}, {"question": "Is it a 16th-century person known for contributions to medicine or anatomy and associated with the University of Padua?", "response": "no"}, {"question": "Is it a 16th-century person known for contributions to medicine or anatomy and associated with the University of Bologna?", "response": "no"}, {"question": "Is it a 16th-century person known for contributions to medicine or anatomy and associated with the University of Leiden?", "response": "no"}, {"question": "Is it William Harvey?", "response": "no"}, {"question": "Is it Andreas Vesalius?", "response": "no"}]}
|
||||
{"index": 18, "id": "2bb2406b-0084-4f6d-ab1c-c57e01c6a117", "answer": "Gandhi", "category": "person", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "yes"}, {"question": "Is it a historical figure?", "response": "yes"}, {"question": "Is it a person from ancient history?", "response": "no"}, {"question": "Is it a person from the last 500 years?", "response": "yes"}, {"question": "Is it a person who lived in Europe?", "response": "yes"}, {"question": "Is it a person who lived in the 18th or 19th century?", "response": "yes"}, {"question": "Is it a person who was prominent in the field of science or mathematics?", "response": "no"}, {"question": "Is it a person who played a key role in the Enlightenment era?", "response": "no"}, {"question": "Is it a person who played a key role in the American or French Revolution?", "response": "no"}, {"question": "Is it a person who played a key role in the Industrial Revolution?", "response": "no"}, {"question": "Is it a person who played a key role in the Romantic movement in literature or the arts?", "response": "no"}, {"question": "Is it a person who significantly influenced political thought in the 18th or 19th century?", "response": "no"}, {"question": "Is it a person widely known for their contributions to music or the arts in the 18th or 19th century?", "response": "no"}, {"question": "Is it a person widely known for their contributions to literature in the 18th or 19th century?", "response": "no"}, {"question": "Is it a person widely known for their contributions to philosophy in the 18th or 19th century?", "response": "no"}, {"question": "Is it a person known primarily for their role in the founding of a major nation?", "response": "yes"}, {"question": "Is it a person known primarily for their role in the founding of the United States?", "response": "no"}, {"question": "Is it a person known primarily for their role in the founding of a nation outside the United States?", "response": "yes"}, {"question": "Is it a person known primarily for their role in the founding of a nation in Latin America?", "response": "no"}, {"question": "Is it Sim\u00f3n Bol\u00edvar?", "response": "no"}]}
|
||||
{"index": 55, "id": "6542ce87-7380-4129-be99-d5ddf37b30d9", "answer": "Rabbit", "category": "animal", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it a thing that can be found in a kitchen?", "response": "yes"}, {"question": "Is it a cooking utensil?", "response": "no"}, {"question": "Is it a common kitchen appliance?", "response": "no"}, {"question": "Is it a kitchen tool used for chopping or slicing?", "response": "no"}, {"question": "Is it a kitchen item used for measuring ingredients?", "response": "no"}, {"question": "Is it a kitchen item used for stirring or mixing ingredients?", "response": "no"}, {"question": "Is it a kitchen item used for storing food?", "response": "no"}, {"question": "Is it a kitchen item used for heating food?", "response": "no"}, {"question": "Is it a kitchen item used for cutting food?", "response": "no"}, {"question": "Is it a kitchen item used for serving food?", "response": "no"}, {"question": "Is it a kitchen item used for cleaning?", "response": "no"}, {"question": "Is it a kitchen item used for storing liquids?", "response": "no"}, {"question": "Is it a kitchen item used for grinding or crushing ingredients?", "response": "no"}, {"question": "Is it a kitchen item used for straining or filtering liquids?", "response": "no"}, {"question": "Is it a kitchen item used for holding or containing food?", "response": "no"}, {"question": "Is it a kitchen item used for preserving food?", "response": "no"}, {"question": "Is it a kitchen item used for food preparation that is not a tool, appliance, or container?", "response": "no"}, {"question": "Is it a spice?", "response": "no"}]}
|
||||
{"index": 75, "id": "b233a04d-7aee-4e1d-85f1-2996e95aebfc", "answer": "Airplane", "category": "object", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 18, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it an object?", "response": "yes"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it a tool?", "response": "no"}, {"question": "Is it a kitchen utensil?", "response": "no"}, {"question": "Is it a device used for communication?", "response": "no"}, {"question": "Is it a common household appliance?", "response": "no"}, {"question": "Is it a wearable item?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it a type of vehicle?", "response": "yes"}, {"question": "Is it a vehicle used primarily for personal transportation?", "response": "no"}, {"question": "Is it a vehicle used for transportation over water?", "response": "no"}, {"question": "Is it a vehicle used for transportation on land?", "response": "no"}, {"question": "Is it a vehicle used for transportation in the air?", "response": "yes"}, {"question": "Is it an aircraft typically used for military purposes?", "response": "no"}, {"question": "Is it an aircraft used for commercial passenger travel?", "response": "yes"}, {"question": "Is it a plane?", "response": "yes"}]}
|
||||
{"index": 150, "id": "aedb9c06-d1df-4d93-b110-3eed7e370c31", "answer": "Frozen", "category": "fiction", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it a living thing?", "response": "no"}, {"question": "Is it an object?", "response": "no"}, {"question": "Is it a concept?", "response": "yes"}, {"question": "Is it a mathematical concept?", "response": "no"}, {"question": "Is it a abstract concept related to time?", "response": "no"}, {"question": "Is it a concept related to human emotion?", "response": "no"}, {"question": "Is it a concept related to logic or reasoning?", "response": "no"}, {"question": "Is it a concept related to philosophy?", "response": "no"}, {"question": "Is it a concept related to science or the natural world?", "response": "yes"}, {"question": "Is it a concept related to physics?", "response": "yes"}, {"question": "Is it a concept related to thermodynamics?", "response": "yes"}, {"question": "Is it entropy?", "response": "no"}, {"question": "Is it a concept related to heat transfer?", "response": "yes"}, {"question": "Is it a concept related to heat flow?", "response": "yes"}, {"question": "Is it a concept related to thermal insulation?", "response": "no"}, {"question": "Is it heat?", "response": "no"}, {"question": "Is it temperature?", "response": "no"}, {"question": "Is it convection?", "response": "no"}]}
|
||||
{"index": 104, "id": "8d9caaf1-a01d-4cb4-897f-d95334ef46b3", "answer": "Love", "category": "concept", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it an object?", "response": "no"}, {"question": "Is it a concept?", "response": "yes"}, {"question": "Is it an abstract idea?", "response": "yes"}, {"question": "Is it a fundamental principle in science?", "response": "no"}, {"question": "Is it a principle related to the physical universe?", "response": "no"}, {"question": "Is it a law of physics?", "response": "no"}, {"question": "Is it a mathematical concept?", "response": "no"}, {"question": "Is it a moral principle?", "response": "yes"}, {"question": "Is it a principle of ethics?", "response": "yes"}, {"question": "Is it a principle that guides individual behavior in moral decision-making?", "response": "yes"}, {"question": "Is it a principle that emphasizes intentions over consequences?", "response": "yes"}, {"question": "Is it the principle of utilitarianism?", "response": "no"}, {"question": "Is it the principle of deontology?", "response": "no"}, {"question": "Is it the principle of duty?", "response": "no"}, {"question": "Is it the principle of altruism?", "response": "no"}, {"question": "Is it the principle of fairness?", "response": "no"}, {"question": "Is it the principle of justice?", "response": "no"}]}
|
||||
{"index": 135, "id": "f6e1a740-e358-43a1-b3df-07a8e5b7075e", "answer": "Archery", "category": "sport", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it a creature?", "response": "no"}, {"question": "Is it an object?", "response": "no"}, {"question": "Is it a food?", "response": "no"}, {"question": "Is it a concept?", "response": "no"}, {"question": "Is it a sport?", "response": "yes"}, {"question": "Is it a team sport?", "response": "yes"}, {"question": "Is it a global sport played in the Olympics?", "response": "yes"}, {"question": "Is it a team sport played with a ball?", "response": "no"}, {"question": "Is it basketball?", "response": "no"}, {"question": "Is it soccer?", "response": "no"}, {"question": "Is it a team sport played with a ball and recognized in the Olympics?", "response": "no"}, {"question": "Is it a team sport played with a ball and recognized in the Olympics?", "response": "no"}, {"question": "Is it a team sport played with a ball that is recognized in the Olympics but does not involve kicking or dribbling?", "response": "no"}, {"question": "Is it a team sport played with a ball that involves throwing and is recognized in the Olympics?", "response": "no"}, {"question": "Is it a team sport played with a ball that is recognized in the Olympics and involves catching?", "response": "no"}, {"question": "Is it a team sport played with a ball that is recognized in the Olympics and involves throwing or catching?", "response": "no"}, {"question": "Is it volleyball?", "response": "no"}, {"question": "Is it handball?", "response": "no"}]}
|
||||
{"index": 137, "id": "76f8043f-b834-4b09-b9c4-eda394394e7b", "answer": "Skateboarding", "category": "sport", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a thing that can be used to make music?", "response": "no"}, {"question": "Is it a concept?", "response": "no"}, {"question": "Is it a food?", "response": "no"}, {"question": "Is it a living thing?", "response": "no"}, {"question": "Is it a fictional character?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it an object?", "response": "no"}, {"question": "Is it a sport?", "response": "yes"}, {"question": "Is it a team sport?", "response": "no"}, {"question": "Is it an individual sport?", "response": "yes"}, {"question": "Is it a sport that involves a ball?", "response": "no"}, {"question": "Is it a sport that involves physical balance or precision?", "response": "yes"}, {"question": "Is it a sport that involves the use of a stick or racket?", "response": "no"}, {"question": "Is it skiing?", "response": "no"}, {"question": "Is it gymnastics?", "response": "no"}, {"question": "Is it a sport that involves performing acrobatic moves?", "response": "yes"}, {"question": "Is it a sport that involves performing acrobatic moves on a springboard?", "response": "no"}]}
|
||||
{"index": 164, "id": "a2743d2d-fe6f-46d3-8d80-3792e58d2b04", "answer": "Volcano", "category": "nature", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "yes"}, {"question": "Is it a natural place?", "response": "yes"}, {"question": "Is it a mountain?", "response": "yes"}, {"question": "Is it a mountain that is part of a major continental divide?", "response": "no"}, {"question": "Is it a mountain located in North America?", "response": "no"}, {"question": "Is it a mountain in South America?", "response": "no"}, {"question": "Is it a mountain in Asia?", "response": "no"}, {"question": "Is it a mountain in Europe?", "response": "no"}, {"question": "Is it a mountain in Africa?", "response": "no"}, {"question": "Is it a mountain in Antarctica?", "response": "no"}, {"question": "Is it a mountain located in Oceania?", "response": "no"}, {"question": "Is it a mountain located on a continent with no permanent human residents?", "response": "no"}, {"question": "Is it a mountain located on an island?", "response": "no"}, {"question": "Is it a mountain located on a continent with permanent human residents?", "response": "no"}, {"question": "Is it a mountain located on a continent with a population of over 100 million people?", "response": "no"}, {"question": "Is it a mountain located on a continent with a population of over 1 billion people?", "response": "n/a"}, {"question": "Is it Mount Everest?", "response": "no"}, {"question": "Is it a mountain located on a continent with a population of over 1 billion people?", "response": "no"}, {"question": "Is it a mountain located on a continent with a population of over 1 billion people?", "response": "no"}]}
|
||||
{"index": 76, "id": "910ada2b-383c-4ec1-a2ab-751087881eba", "answer": "Piano", "category": "instrument", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a common object found in most households?", "response": "no"}, {"question": "Is it a fictional character?", "response": "no"}, {"question": "Is it a food?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it a concept?", "response": "no"}, {"question": "Is it an instrument?", "response": "yes"}, {"question": "Is it a musical instrument?", "response": "yes"}, {"question": "Is it a stringed instrument?", "response": "yes"}, {"question": "Is it a guitar?", "response": "no"}, {"question": "Is it a plucked string instrument?", "response": "no"}, {"question": "Is it a bowed string instrument?", "response": "no"}, {"question": "Is it a percussion instrument?", "response": "yes"}, {"question": "Is it a drum?", "response": "no"}, {"question": "Is it a drum that is played with sticks?", "response": "no"}, {"question": "Is it a timpani?", "response": "no"}, {"question": "Is it a cymbal?", "response": "no"}, {"question": "Is it a bell?", "response": "no"}]}
|
||||
{"index": 79, "id": "3565f016-8e57-4094-90b5-5dbc40677163", "answer": "Trombone", "category": "instrument", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is it a human-made object?", "response": "yes"}, {"question": "Is it a tool used for cutting?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "yes"}, {"question": "Is it a string instrument?", "response": "no"}, {"question": "Is it a percussion instrument?", "response": "no"}, {"question": "Is it a wind instrument?", "response": "yes"}, {"question": "Is it a brass wind instrument?", "response": "yes"}, {"question": "Is it a horn used in orchestral music?", "response": "yes"}, {"question": "Is it a French horn?", "response": "no"}, {"question": "Is it a tuba?", "response": "no"}, {"question": "Is it a trombone?", "response": "yes"}]}
|
||||
{"index": 197, "id": "0ab8a959-9c1e-4586-8bbf-08c69e96b0bf", "answer": "Mouse", "category": "object", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 16, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "yes"}, {"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it a domestic animal?", "response": "yes"}, {"question": "Is it a dog?", "response": "no"}, {"question": "Is it a feline?", "response": "no"}, {"question": "Is it a cat?", "response": "no"}, {"question": "Is it a small domestic animal commonly kept as a pet?", "response": "yes"}, {"question": "Is it a rabbit?", "response": "no"}, {"question": "Is it a hamster?", "response": "no"}, {"question": "Is it a rodent?", "response": "yes"}, {"question": "Is it a guinea pig?", "response": "no"}, {"question": "Is it a ferret?", "response": "no"}, {"question": "Is it a small rodent commonly kept as a pet?", "response": "yes"}, {"question": "Is it a mouse?", "response": "yes"}]}
|
||||
{"index": 38, "id": "8cc9a17a-263f-4a3d-b274-2a3210316149", "answer": "Antarctica", "category": "place", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "yes"}, {"question": "Is it a natural place?", "response": "yes"}, {"question": "Is it a mountain?", "response": "no"}, {"question": "Is it a river?", "response": "no"}, {"question": "Is it a body of water?", "response": "no"}, {"question": "Is it a lake?", "response": "no"}, {"question": "Is it a forest?", "response": "no"}, {"question": "Is it a desert?", "response": "yes"}, {"question": "Is it a desert located in Africa?", "response": "no"}, {"question": "Is it a desert located in Asia?", "response": "no"}, {"question": "Is it a desert located in North America?", "response": "no"}, {"question": "Is it a desert located in South America?", "response": "no"}, {"question": "Is it a desert located in Australia?", "response": "no"}, {"question": "Is it a desert located in Europe?", "response": "no"}, {"question": "Is it a desert found on a continent with land bridges to other continents in the past?", "response": "yes"}, {"question": "Is it a desert located on a continent that was once part of Gondwana?", "response": "yes"}, {"question": "Is it a desert located in Antarctica?", "response": "no"}, {"question": "Is it a desert located in a continent that was part of Gondwana and has no current land bridges to other continents?", "response": "yes"}, {"question": "Is it Antarctica?", "response": "yes"}]}
|
||||
{"index": 24, "id": "98dbe2f6-140f-48f6-8ae2-531ac8a028d3", "answer": "Sydney Opera House", "category": "place", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "yes"}, {"question": "Is it a naturally occurring geographical feature?", "response": "no"}, {"question": "Is it a man-made structure?", "response": "yes"}, {"question": "Is it a building used for public gatherings?", "response": "yes"}, {"question": "Is it a structure used primarily for religious worship?", "response": "no"}, {"question": "Is it a structure primarily used for holding large audiences for performances?", "response": "yes"}, {"question": "Is it a theater?", "response": "yes"}, {"question": "Is it a theater that hosts musical performances?", "response": "yes"}, {"question": "Is it a theater that primarily hosts opera performances?", "response": "yes"}, {"question": "Is it the Metropolitan Opera House?", "response": "no"}, {"question": "Is it the Vienna State Opera?", "response": "no"}, {"question": "Is it a famous opera house located in Paris?", "response": "no"}, {"question": "Is it a famous opera house located in London?", "response": "no"}, {"question": "Is it the Royal Opera House?", "response": "no"}, {"question": "Is it the Lyric Opera House in Chicago?", "response": "no"}, {"question": "Is it the Paris Opera House?", "response": "no"}, {"question": "Is it the Teatro alla Scala in Milan?", "response": "no"}, {"question": "Is it the San Francisco Opera House?", "response": "no"}, {"question": "Is it the opera house in Berlin?", "response": "no"}]}
|
||||
{"index": 122, "id": "d2d26c5e-88b7-42bf-8895-fe80a84ccb18", "answer": "Memory", "category": "concept", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a food?", "response": "no"}, {"question": "Is it a concept?", "response": "yes"}, {"question": "Is it a natural phenomenon?", "response": "yes"}, {"question": "Is it a weather-related phenomenon?", "response": "no"}, {"question": "Is it a geological process?", "response": "no"}, {"question": "Is it a force of nature?", "response": "no"}, {"question": "Is it a type of storm?", "response": "no"}, {"question": "Is it a naturally occurring event that involves the movement of air?", "response": "no"}, {"question": "Is it a naturally occurring event involving water?", "response": "no"}, {"question": "Is it a sound that is naturally produced by water?", "response": "no"}, {"question": "Is it a naturally occurring sound produced by wind?", "response": "no"}, {"question": "Is it a naturally occurring sound produced by the interaction of wind and a solid structure?", "response": "no"}, {"question": "Is it a naturally occurring phenomenon involving the vibration of solid materials?", "response": "no"}, {"question": "Is it a sound produced by the movement of air over natural rock formations?", "response": "no"}, {"question": "Is it a naturally occurring sound produced by water interacting with rock?", "response": "no"}, {"question": "Is it a naturally occurring sound produced by wind interacting with human-made structures?", "response": "no"}, {"question": "Is it a thunderstorm?", "response": "no"}]}
|
||||
{"index": 195, "id": "5d9b99c4-74bc-4c06-b303-06275f179d77", "answer": "Credit card", "category": "object", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it an object?", "response": "yes"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it something used for writing?", "response": "no"}, {"question": "Is it a tool?", "response": "yes"}, {"question": "Is it a handheld tool?", "response": "yes"}, {"question": "Is it a cutting tool?", "response": "no"}, {"question": "Is it a kitchen tool?", "response": "no"}, {"question": "Is it a tool used for shaping or smoothing materials?", "response": "no"}, {"question": "Is it a tool used for driving nails?", "response": "no"}, {"question": "Is it a tool used for fastening or joining materials?", "response": "no"}, {"question": "Is it a tool used for lifting or moving objects?", "response": "no"}, {"question": "Is it a tool used for measuring?", "response": "no"}, {"question": "Is it a tool used for gripping or holding objects?", "response": "no"}, {"question": "Is it a tool used for turning screws?", "response": "no"}, {"question": "Is it a screwdriver?", "response": "no"}, {"question": "Is it a tool used for striking?", "response": "no"}, {"question": "Is it a hammer?", "response": "no"}]}
|
||||
{"index": 29, "id": "cacda1ef-913d-4c67-a5c9-03e416214f6f", "answer": "Big Ben", "category": "place", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an object?", "response": "yes"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it a tool?", "response": "no"}, {"question": "Is it a household object?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "yes"}, {"question": "Is it a stringed instrument?", "response": "no"}, {"question": "Is it a keyboard instrument?", "response": "no"}, {"question": "Is it a percussion instrument?", "response": "yes"}, {"question": "Is it a drum?", "response": "no"}, {"question": "Is it a drum kit component?", "response": "no"}, {"question": "Is it a percussion instrument used in orchestral music?", "response": "no"}, {"question": "Is it a percussion instrument played with sticks?", "response": "no"}, {"question": "Is it a percussion instrument that is handheld and typically played with the hands?", "response": "no"}, {"question": "Is it a percussion instrument that is not played with sticks or hands and is typically mounted?", "response": "yes"}, {"question": "Is it a percussion instrument that is typically used in a marching band?", "response": "no"}, {"question": "Is it a cymbal?", "response": "no"}, {"question": "Is it a timpani?", "response": "no"}, {"question": "Is it a bass drum?", "response": "no"}]}
|
||||
{"index": 19, "id": "5a6d6e86-6c9c-4846-b2aa-bb3dd19fe448", "answer": "Picasso", "category": "person", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "yes"}, {"question": "Is it a real person rather than a fictional character?", "response": "yes"}, {"question": "Is it a historical figure?", "response": "yes"}, {"question": "Is it someone who lived more than 500 years ago?", "response": "no"}, {"question": "Is it a person who lived between 1500 and 2000?", "response": "yes"}, {"question": "Is it a person who played a key role in the Renaissance period?", "response": "no"}, {"question": "Is it a person who significantly influenced science or technology?", "response": "no"}, {"question": "Is it a person who lived in the 18th or 19th century?", "response": "yes"}, {"question": "Is it a person who lived in the 18th century?", "response": "no"}, {"question": "Is it a person who lived in the 19th century?", "response": "yes"}, {"question": "Is it a person who played a major role in the development of modern democracy?", "response": "no"}, {"question": "Is it a 19th-century person who was a prominent inventor?", "response": "no"}, {"question": "Is it a 19th-century person known primarily for their contributions to literature?", "response": "no"}, {"question": "Is it a 19th-century person known primarily for their contributions to mathematics?", "response": "no"}, {"question": "Is it a 19th-century person known primarily for their contributions to political reform?", "response": "no"}, {"question": "Is it a 19th-century person known primarily for their contributions to music?", "response": "no"}, {"question": "Is it a 19th-century person known primarily for their contributions to medicine?", "response": "no"}, {"question": "Is it a 19th-century person known primarily for their contributions to exploration or geography?", "response": "no"}, {"question": "Is it a 19th-century person known primarily for their contributions to engineering?", "response": "no"}, {"question": "Is it Charles Darwin?", "response": "no"}]}
|
||||
{"index": 143, "id": "8a31562f-0382-4774-8af0-c1bc6a8ae702", "answer": "Lightsaber", "category": "fiction", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it a living thing?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it a tool?", "response": "yes"}, {"question": "Is it a writing instrument?", "response": "no"}, {"question": "Is it a device used for inputting data into a computer?", "response": "no"}, {"question": "Is it a handheld device used for typing or writing?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a kitchen utensil?", "response": "no"}, {"question": "Is it a measuring tool?", "response": "no"}, {"question": "Is it a tool used for cutting?", "response": "yes"}, {"question": "Is it a knife?", "response": "no"}, {"question": "Is it a blade used for slicing food?", "response": "no"}, {"question": "Is it a blade used for cutting in a non-kitchen context?", "response": "yes"}, {"question": "Is it a blade used for cutting wood?", "response": "no"}, {"question": "Is it a blade used for cutting materials like metal or plastic?", "response": "yes"}, {"question": "Is it a blade used for cutting metal?", "response": "yes"}, {"question": "Is it a metal-cutting blade used in industrial settings?", "response": "no"}, {"question": "Is it a saw blade?", "response": "no"}]}
|
||||
{"index": 86, "id": "2056e2fe-aa87-43b3-9c52-9463da77163c", "answer": "Chocolate", "category": "food", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it an object?", "response": "yes"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it a tool used for cutting?", "response": "no"}, {"question": "Is it a kitchen utensil?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a device used for communication?", "response": "no"}, {"question": "Is it a transport vehicle?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it a type of electronic device?", "response": "no"}, {"question": "Is it a type of clothing?", "response": "no"}, {"question": "Is it a coin?", "response": "no"}, {"question": "Is it a type of weapon?", "response": "no"}, {"question": "Is it a type of writing instrument?", "response": "no"}, {"question": "Is it a type of container?", "response": "no"}, {"question": "Is it a type of light source?", "response": "no"}, {"question": "Is it a key?", "response": "no"}, {"question": "Is it a book?", "response": "no"}]}
|
||||
{"index": 114, "id": "7f306c37-2434-43d4-bd69-f8deca145f44", "answer": "Technology", "category": "concept", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it a food?", "response": "no"}, {"question": "Is it a concept?", "response": "yes"}, {"question": "Is it an abstract idea?", "response": "yes"}, {"question": "Is it a tangible entity?", "response": "yes"}, {"question": "Is it a fundamental principle of physics?", "response": "no"}, {"question": "Is it a law of nature?", "response": "no"}, {"question": "Is it a fundamental property of matter?", "response": "no"}, {"question": "Is it a measurable physical quantity?", "response": "no"}, {"question": "Is it a property that can be observed without measurement?", "response": "no"}, {"question": "Is it a universal constant?", "response": "no"}, {"question": "Is it a mathematical constant?", "response": "no"}, {"question": "Is it time?", "response": "n/a"}, {"question": "Is it gravity?", "response": "no"}, {"question": "Is it a fundamental force in nature?", "response": "no"}, {"question": "Is it entropy?", "response": "no"}, {"question": "Is it a well-known scientific theory?", "response": "no"}, {"question": "Is it consciousness?", "response": "no"}]}
|
||||
{"index": 173, "id": "1bac8b08-14e8-4033-a8c9-3db48de71a6f", "answer": "Alien", "category": "creature", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "yes"}, {"question": "Is it a historical figure?", "response": "no"}, {"question": "Is it a fictional character?", "response": "yes"}, {"question": "Is it a character from a famous movie?", "response": "yes"}, {"question": "Is it a character from a Disney movie?", "response": "yes"}, {"question": "Is it a main character in a Disney movie released before 1990?", "response": "no"}, {"question": "Is it a character from a Disney movie released between 1990 and 2000?", "response": "yes"}, {"question": "Is it a character from a Disney movie released in 1991?", "response": "no"}, {"question": "Is it a character from a Disney movie released in 1992?", "response": "no"}, {"question": "Is it a character from a Disney movie released in 1994?", "response": "no"}, {"question": "Is it a character from a Disney movie released in 1995?", "response": "yes"}, {"question": "Is it a character from a Disney movie released in 1995 and known for speaking with a distinct accent?", "response": "no"}, {"question": "Is it a character from a Disney movie released in 1995 and associated with a musical number?", "response": "no"}, {"question": "Is it a character from a Disney movie released in 1995 and who is a humanoid animal?", "response": "no"}, {"question": "Is it a character from a 1995 Disney movie known for a specific, iconic song?", "response": "yes"}, {"question": "Is it a character from a 1995 Disney movie known for a specific, iconic song and also a non-human animal?", "response": "no"}, {"question": "Is it a character from a 1995 Disney movie known for a specific, iconic song and who is a human?", "response": "no"}, {"question": "Is it a character from a 1995 Disney movie known for a specific, iconic song and who is a non-human animal?", "response": "no"}, {"question": "Is it Aladdin?", "response": "no"}, {"question": "Is it Pocahontas?", "response": "no"}]}
|
||||
{"index": 5, "id": "1cf64ae6-2143-47b6-bda4-3d4840b6a75b", "answer": "Harry Potter", "category": "character", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "yes"}, {"question": "Is it a real person rather than a fictional character?", "response": "no"}, {"question": "Is it a character from a literary work?", "response": "yes"}, {"question": "Is it a character from a novel?", "response": "yes"}, {"question": "Is it a character from a classic novel?", "response": "no"}, {"question": "Is it a character from a 20th-century novel?", "response": "yes"}, {"question": "Is it a character from a well-known 20th-century novel that was later adapted into a film?", "response": "yes"}, {"question": "Is it a character from a 20th-century novel that is part of a major film trilogy?", "response": "no"}, {"question": "Is it a character from a 20th-century novel that was adapted into a film series, but not a trilogy?", "response": "yes"}, {"question": "Is it a character from a 20th-century novel that was adapted into a film series featuring more than two movies?", "response": "yes"}, {"question": "Is it a character from a 20th-century novel that was adapted into a film series featuring exactly three movies?", "response": "no"}, {"question": "Is it a character from a 20th-century novel adapted into a film series with more than three movies?", "response": "yes"}, {"question": "Is it a character from a 20th-century novel adapted into a film series with four or more movies?", "response": "yes"}, {"question": "Is it a character from a 20th-century novel adapted into a film series with five or more movies?", "response": "yes"}, {"question": "Is it a character from a 20th-century novel adapted into a film series with five or more movies that is based on a book series?", "response": "yes"}, {"question": "Is it a character from a 20th-century novel that was adapted into a film series with five or more movies based on a book series with more than five books?", "response": "yes"}, {"question": "Is it a character from a 20th-century novel that was adapted into a film series with five or more movies based on a book series with more than five books and published before 1970?", "response": "no"}, {"question": "Is it a character from a 20th-century novel adapted into a film series with five or more movies based on a book series with more than five books published after 1970?", "response": "yes"}, {"question": "Is it a character from a 20th-century novel adapted into a film series with five or more movies based on a book series with more than five books published after 1970 that is part of a long-running fantasy or sci-fi franchise?", "response": "yes"}, {"question": "Is it Harry Potter?", "response": "yes"}]}
|
||||
{"index": 126, "id": "4b111b92-4c7d-4da7-a730-b89e79d417f3", "answer": "Swimming", "category": "sport", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an object?", "response": "no"}, {"question": "Is it a living thing?", "response": "no"}, {"question": "Is it a concept?", "response": "yes"}, {"question": "Is it a fundamental principle in science?", "response": "no"}, {"question": "Is it a mathematical concept?", "response": "no"}, {"question": "Is it a philosophical concept?", "response": "no"}, {"question": "Is it a widely recognized abstract idea in ethics?", "response": "no"}, {"question": "Is it a concept related to time?", "response": "no"}, {"question": "Is it a concept related to logic?", "response": "no"}, {"question": "Is it a concept related to computation?", "response": "no"}, {"question": "Is it a concept related to information theory?", "response": "no"}, {"question": "Is it a concept related to entropy?", "response": "no"}, {"question": "Is it a concept related to thermodynamics?", "response": "no"}, {"question": "Is it a concept related to causality?", "response": "no"}, {"question": "Is it a concept related to probability?", "response": "no"}, {"question": "Is it a concept related to symmetry?", "response": "no"}, {"question": "Is it a concept related to quantum mechanics?", "response": "no"}, {"question": "Is it a concept related to information?", "response": "no"}]}
|
||||
{"index": 117, "id": "dde9e199-4dc6-49ef-8315-f56cebde0080", "answer": "War", "category": "concept", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an object?", "response": "no"}, {"question": "Is it a concept?", "response": "yes"}, {"question": "Is it a fundamental principle in science?", "response": "no"}, {"question": "Is it a mathematical concept?", "response": "no"}, {"question": "Is it a philosophical concept?", "response": "no"}, {"question": "Is it a moral concept?", "response": "no"}, {"question": "Is it a widely recognized principle in ethics?", "response": "no"}, {"question": "Is it a concept that is universally taught in primary education?", "response": "no"}, {"question": "Is it a concept related to mathematics or logic?", "response": "no"}, {"question": "Is it a concept related to time?", "response": "no"}, {"question": "Is it a concept related to human emotions?", "response": "yes"}, {"question": "Is it a basic human emotion?", "response": "no"}, {"question": "Is it a complex human emotion?", "response": "no"}, {"question": "Is it a concept closely tied to a specific cultural or religious tradition?", "response": "no"}, {"question": "Is it a concept related to self-awareness or consciousness?", "response": "no"}, {"question": "Is it a concept related to love?", "response": "no"}, {"question": "Is it happiness?", "response": "no"}]}
|
||||
{"index": 73, "id": "f48d3e0c-c168-4b33-b3e0-e64d6bfc4e49", "answer": "Clock", "category": "object", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a thing that can be found in a kitchen?", "response": "yes"}, {"question": "Is it a cooking utensil?", "response": "no"}, {"question": "Is it a kitchen appliance?", "response": "no"}, {"question": "Is it a commonly used kitchen tool?", "response": "no"}, {"question": "Is it a kitchen item used for serving food?", "response": "no"}, {"question": "Is it a kitchen item used for food storage?", "response": "no"}, {"question": "Is it a kitchen item used for food preparation?", "response": "no"}, {"question": "Is it a kitchen item used for measuring ingredients?", "response": "no"}, {"question": "Is it a kitchen item used for heating food?", "response": "no"}, {"question": "Is it a kitchen item used for cutting food?", "response": "no"}, {"question": "Is it a kitchen item used for cleaning?", "response": "no"}, {"question": "Is it a kitchen item used for food transportation?", "response": "no"}, {"question": "Is it a kitchen item used for stirring or mixing ingredients?", "response": "no"}, {"question": "Is it a kitchen item used for holding or containing food?", "response": "no"}, {"question": "Is it a kitchen item used for food preservation?", "response": "no"}, {"question": "Is it a kitchen item used for food presentation?", "response": "no"}, {"question": "Is it a spoon?", "response": "no"}]}
|
||||
{"index": 140, "id": "2a25a1d2-2045-4fcf-9a04-ca6da18b6b4e", "answer": "Dancing", "category": "sport", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a food?", "response": "no"}, {"question": "Is it a concept?", "response": "no"}, {"question": "Is it a fictional character?", "response": "no"}, {"question": "Is it a real-world object?", "response": "no"}, {"question": "Is it a sport?", "response": "no"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a creature?", "response": "no"}, {"question": "Is it a single-word entity?", "response": "yes"}, {"question": "Is it a man-made object?", "response": "no"}, {"question": "Is it a natural object found in the wild?", "response": "no"}, {"question": "Is it a non-man-made, naturally occurring object found in the environment?", "response": "no"}, {"question": "Is it a single, naturally occurring object found on Earth that is not man-made and not part of a larger system?", "response": "no"}, {"question": "Is it a microscopic entity?", "response": "no"}, {"question": "Is it a single, naturally occurring, non-man-made object on Earth that is visible to the naked eye and not part of a larger system?", "response": "no"}, {"question": "Is it a star?", "response": "no"}, {"question": "Is it a planet?", "response": "no"}]}
|
||||
{"index": 98, "id": "bfd5f4b3-8f09-4fe0-b903-20db069f8e47", "answer": "Orange juice", "category": "food", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an object?", "response": "yes"}, {"question": "Is it a tool used for cutting?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a common household item?", "response": "yes"}, {"question": "Is it a kitchen appliance?", "response": "no"}, {"question": "Is it a small, handheld device used for personal grooming?", "response": "no"}, {"question": "Is it a device used for cooling or heating air?", "response": "no"}, {"question": "Is it a kitchen tool used for mixing or stirring?", "response": "no"}, {"question": "Is it a kitchen utensil used for measuring ingredients?", "response": "no"}, {"question": "Is it a device used for cleaning surfaces?", "response": "no"}, {"question": "Is it a small, portable electronic device used for communication?", "response": "no"}, {"question": "Is it a kitchen item used for serving food?", "response": "no"}, {"question": "Is it a device used for storing or preserving food?", "response": "no"}, {"question": "Is it a kitchen item used for cooking food?", "response": "no"}, {"question": "Is it a microwave?", "response": "no"}, {"question": "Is it a spoon?", "response": "no"}, {"question": "Is it a refrigerator?", "response": "no"}]}
|
||||
{"index": 172, "id": "74a87673-e18f-40ed-96d3-347c8ace0c78", "answer": "Robot", "category": "object", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an object?", "response": "yes"}, {"question": "Is it a household item?", "response": "no"}, {"question": "Is it a tool used for cutting?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a natural object?", "response": "no"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it a piece of technology?", "response": "yes"}, {"question": "Is it a device used for communication?", "response": "no"}, {"question": "Is it a computing device?", "response": "yes"}, {"question": "Is it a portable computing device?", "response": "no"}, {"question": "Is it a computing device with a screen?", "response": "no"}, {"question": "Is it a computing device that is not portable and does not have a screen?", "response": "no"}, {"question": "Is it a stationary computing device with no screen that is used primarily for data processing?", "response": "no"}, {"question": "Is it a server?", "response": "no"}, {"question": "Is it a desktop computer?", "response": "no"}, {"question": "Is it a computing device that is not portable and has no screen but is used for data processing?", "response": "no"}, {"question": "Is it a mainframe?", "response": "no"}]}
|
||||
{"index": 96, "id": "18c5fcbe-05a1-48e6-af41-1003f4efcb5a", "answer": "Cheese", "category": "food", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it a thing that can be found in a kitchen?", "response": "yes"}, {"question": "Is it a cooking utensil?", "response": "no"}, {"question": "Is it a kitchen appliance?", "response": "no"}, {"question": "Is it a small, handheld device used for food preparation?", "response": "no"}, {"question": "Is it a common kitchen tool used for chopping?", "response": "no"}, {"question": "Is it a container used for storing food?", "response": "no"}, {"question": "Is it a kitchen item used for measuring ingredients?", "response": "no"}, {"question": "Is it a kitchen item used for stirring or mixing ingredients?", "response": "no"}, {"question": "Is it a kitchen item used for cutting or slicing?", "response": "no"}, {"question": "Is it a kitchen item used for heating food?", "response": "no"}, {"question": "Is it a kitchen item used for serving food?", "response": "no"}, {"question": "Is it a kitchen item used for grinding or crushing food?", "response": "no"}, {"question": "Is it a kitchen item used for straining or filtering liquids?", "response": "no"}, {"question": "Is it a kitchen item used for storing liquids?", "response": "no"}, {"question": "Is it a kitchen item used for peeling or scraping food?", "response": "no"}, {"question": "Is it a kitchen item used for cleaning?", "response": "no"}, {"question": "Is it a kitchen item used for organizing or storing food in a structured way?", "response": "no"}, {"question": "Is it a spoon?", "response": "no"}]}
|
||||
{"index": 169, "id": "ad6bfc68-bb41-4752-8202-b3695f02b3da", "answer": "Ocean", "category": "nature", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 10, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "yes"}, {"question": "Is it a natural place?", "response": "yes"}, {"question": "Is it a mountain?", "response": "no"}, {"question": "Is it a desert?", "response": "no"}, {"question": "Is it a forest?", "response": "no"}, {"question": "Is it a body of water?", "response": "yes"}, {"question": "Is it a lake?", "response": "no"}, {"question": "Is it a river?", "response": "no"}, {"question": "Is it a ocean?", "response": "yes"}]}
|
||||
{"index": 97, "id": "4a783608-ef82-46f9-93c4-05eb4d4594d5", "answer": "Bread", "category": "food", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it a thing that can be found in a kitchen?", "response": "yes"}, {"question": "Is it a cooking utensil?", "response": "no"}, {"question": "Is it a kitchen appliance?", "response": "no"}, {"question": "Is it a food?", "response": "yes"}, {"question": "Is it a fruit?", "response": "no"}, {"question": "Is it a vegetable?", "response": "no"}, {"question": "Is it a type of grain?", "response": "no"}, {"question": "Is it a type of cheese?", "response": "no"}, {"question": "Is it a type of nut?", "response": "no"}, {"question": "Is it a type of bean?", "response": "no"}, {"question": "Is it a type of legume?", "response": "no"}, {"question": "Is it a type of seed?", "response": "no"}, {"question": "Is it a type of snack?", "response": "yes"}, {"question": "Is it a type of nut-based snack?", "response": "no"}, {"question": "Is it a type of candy?", "response": "no"}, {"question": "Is it a type of chocolate-based snack?", "response": "no"}, {"question": "Is it a type of dried fruit snack?", "response": "no"}]}
|
||||
{"index": 31, "id": "13b96762-42e1-49b5-a070-f723222f8294", "answer": "Niagara Falls", "category": "place", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "yes"}, {"question": "Is it a natural place?", "response": "yes"}, {"question": "Is it a mountain?", "response": "no"}, {"question": "Is it a river?", "response": "no"}, {"question": "Is it a body of water?", "response": "yes"}, {"question": "Is it a lake?", "response": "no"}, {"question": "Is it a large body of water?", "response": "no"}, {"question": "Is it a sea?", "response": "no"}, {"question": "Is it a major ocean?", "response": "no"}, {"question": "Is it a lake formed by a glacier?", "response": "no"}, {"question": "Is it a saltwater body?", "response": "no"}, {"question": "Is it a lake?", "response": "no"}, {"question": "Is it a bay?", "response": "no"}, {"question": "Is it a gulf?", "response": "no"}, {"question": "Is it a freshwater lake?", "response": "no"}, {"question": "Is it a puddle?", "response": "no"}, {"question": "Is it a pond?", "response": "no"}, {"question": "Is it a lake?", "response": "no"}, {"question": "Is it a bay?", "response": "no"}]}
|
||||
{"index": 12, "id": "b9609665-74e8-4876-920d-9aaa3a020fe4", "answer": "Steve Jobs", "category": "person", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "yes"}, {"question": "Is it a historical figure?", "response": "yes"}, {"question": "Is it a figure from ancient history?", "response": "no"}, {"question": "Is it a person from the classical antiquity period?", "response": "no"}, {"question": "Is it a person from the medieval period?", "response": "no"}, {"question": "Is it a person from the Renaissance period?", "response": "no"}, {"question": "Is it a person from the early modern period?", "response": "no"}, {"question": "Is it a person from the modern era?", "response": "yes"}, {"question": "Is it a person who lived in the 18th century?", "response": "no"}, {"question": "Is it a person who lived in the 19th century?", "response": "no"}, {"question": "Is it a person who lived in the 20th century?", "response": "yes"}, {"question": "Is it a person who played a key role in the development of modern computing?", "response": "yes"}, {"question": "Is it a person who contributed to the development of the first electronic digital computer?", "response": "no"}, {"question": "Is it a person who played a key role in the development of programming languages?", "response": "no"}, {"question": "Is it Alan Turing?", "response": "no"}, {"question": "Is it a person who contributed to the development of the Internet?", "response": "no"}, {"question": "Is it a person who contributed to the development of the World Wide Web?", "response": "no"}, {"question": "Is it Grace Hopper?", "response": "no"}, {"question": "Is it a person who made foundational contributions to software development in the 20th century?", "response": "no"}, {"question": "Is it a person who developed the first compiler?", "response": "no"}]}
|
||||
{"index": 35, "id": "c270679d-51fe-4672-adf4-bc6b728f2af7", "answer": "The North Pole", "category": "place", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a place?", "response": "yes"}, {"question": "Is it a natural place?", "response": "yes"}, {"question": "Is it a mountain?", "response": "no"}, {"question": "Is it a river?", "response": "no"}, {"question": "Is it a body of water?", "response": "no"}, {"question": "Is it a lake?", "response": "no"}, {"question": "Is it a desert?", "response": "yes"}, {"question": "Is it a desert located in North America?", "response": "no"}, {"question": "Is it a desert located in Africa?", "response": "no"}, {"question": "Is it a desert located in Asia?", "response": "no"}, {"question": "Is it a desert located in Australia?", "response": "no"}, {"question": "Is it a desert located in South America?", "response": "no"}, {"question": "Is it a desert located in Europe?", "response": "no"}, {"question": "Is it a desert located in Antarctica?", "response": "no"}, {"question": "Is it a desert located in the Arctic?", "response": "yes"}, {"question": "Is it the Arctic Desert?", "response": "no"}, {"question": "Is it the only continental desert on Earth?", "response": "no"}, {"question": "Is it the Arctic Circle?", "response": "no"}]}
|
||||
{"index": 119, "id": "1f8f6eab-5c45-4890-8631-2c377ad98249", "answer": "Nature", "category": "concept", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a thing you can eat?", "response": "no"}, {"question": "Is it a concept?", "response": "yes"}, {"question": "Is it a naturally occurring phenomenon?", "response": "yes"}, {"question": "Is it a weather-related phenomenon?", "response": "no"}, {"question": "Is it a geological phenomenon?", "response": "no"}, {"question": "Is it a naturally occurring phenomenon that is not weather-related or geological in nature?", "response": "no"}, {"question": "Is it a naturally occurring phenomenon involving biological processes?", "response": "yes"}, {"question": "Is it a naturally occurring biological phenomenon involving microorganisms?", "response": "no"}, {"question": "Is it a naturally occurring biological phenomenon involving plants?", "response": "no"}, {"question": "Is it a naturally occurring biological phenomenon involving animals?", "response": "no"}, {"question": "Is it a naturally occurring biological phenomenon involving fungi?", "response": "no"}, {"question": "Is it a naturally occurring biological phenomenon involving humans?", "response": "no"}, {"question": "Is it a naturally occurring biological phenomenon involving bacteria?", "response": "no"}, {"question": "Is it bioluminescence?", "response": "no"}, {"question": "Is it a naturally occurring biological phenomenon involving viruses?", "response": "no"}, {"question": "Is it a naturally occurring biological phenomenon involving cells?", "response": "no"}, {"question": "Is it photosynthesis?", "response": "no"}]}
|
||||
{"index": 42, "id": "3683686b-ced0-4faa-92c4-e366694af808", "answer": "Dolphin", "category": "animal", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it an animal?", "response": "yes"}, {"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it a domesticated animal?", "response": "no"}, {"question": "Is it a wild animal?", "response": "yes"}, {"question": "Is it a large carnivorous animal?", "response": "no"}, {"question": "Is it a feline?", "response": "no"}, {"question": "Is it a predator?", "response": "yes"}, {"question": "Is it a carnivorous wild animal that is not a feline?", "response": "yes"}, {"question": "Is it a nocturnal animal?", "response": "no"}, {"question": "Is it a canid?", "response": "no"}, {"question": "Is it a wolf?", "response": "no"}, {"question": "Is it a mustelid?", "response": "no"}, {"question": "Is it a bear?", "response": "no"}, {"question": "Is it a fox?", "response": "no"}, {"question": "Is it a raptor?", "response": "no"}, {"question": "Is it a scavenger animal?", "response": "no"}, {"question": "Is it a wolf?", "response": "no"}, {"question": "Is it a raccoon?", "response": "no"}, {"question": "Is it a coyote?", "response": "no"}]}
|
||||
{"index": 189, "id": "e11fecfd-6365-4d53-ae1a-fccb0333e0a0", "answer": "Car", "category": "object", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 18, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it an object?", "response": "yes"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it something commonly found in a household kitchen?", "response": "no"}, {"question": "Is it a tool used for cutting or slicing?", "response": "no"}, {"question": "Is it a kitchen appliance?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it a device used for communication?", "response": "no"}, {"question": "Is it a writing instrument?", "response": "no"}, {"question": "Is it a type of electronic device?", "response": "no"}, {"question": "Is it a type of clothing?", "response": "no"}, {"question": "Is it a type of transportation vehicle?", "response": "yes"}, {"question": "Is it a vehicle powered by electricity?", "response": "no"}, {"question": "Is it a vehicle that runs on gasoline?", "response": "yes"}, {"question": "Is it a car?", "response": "yes"}]}
|
||||
{"index": 90, "id": "6f378056-4fba-4f43-bf34-47d7d50f52d5", "answer": "Sandwich", "category": "food", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a concept?", "response": "no"}, {"question": "Is it a food?", "response": "yes"}, {"question": "Is it a fruit?", "response": "no"}, {"question": "Is it a vegetable?", "response": "no"}, {"question": "Is it a grain?", "response": "no"}, {"question": "Is it a type of bread?", "response": "no"}, {"question": "Is it a type of grain-based food?", "response": "yes"}, {"question": "Is it a type of pasta?", "response": "no"}, {"question": "Is it rice?", "response": "no"}, {"question": "Is it a type of cereal?", "response": "no"}, {"question": "Is it a type of grain-based food that is commonly used in breakfast meals?", "response": "no"}, {"question": "Is it a type of grain-based food commonly used in savory dishes?", "response": "no"}, {"question": "Is it a grain-based food typically eaten as a side dish?", "response": "no"}, {"question": "Is it a grain-based food typically eaten as a main dish?", "response": "yes"}, {"question": "Is it a grain-based food typically served with meat or in stews?", "response": "no"}, {"question": "Is it a grain-based food typically eaten as a main dish that is commonly served with soups?", "response": "yes"}, {"question": "Is it polenta?", "response": "no"}]}
|
||||
{"index": 136, "id": "2c1d18bf-2252-4bc3-9a11-6c32f9574b0f", "answer": "Fishing", "category": "sport", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it a thing that can be found in a kitchen?", "response": "no"}, {"question": "Is it a concept?", "response": "yes"}, {"question": "Is it a natural phenomenon?", "response": "no"}, {"question": "Is it a fundamental law of physics?", "response": "no"}, {"question": "Is it a mathematical concept?", "response": "no"}, {"question": "Is it a philosophical concept?", "response": "no"}, {"question": "Is it a moral concept?", "response": "no"}, {"question": "Is it a widely recognized abstract idea in ethics?", "response": "no"}, {"question": "Is it a widely recognized concept in science?", "response": "no"}, {"question": "Is it a widely recognized concept in mathematics or logic?", "response": "no"}, {"question": "Is it a widely recognized concept in art or aesthetics?", "response": "yes"}, {"question": "Is it \"beauty\"?", "response": "no"}, {"question": "Is it \"symmetry\"?", "response": "no"}, {"question": "Is it \"proportion\"?", "response": "no"}, {"question": "Is it \"harmony\"?", "response": "no"}, {"question": "Is it \"grace\"?", "response": "no"}, {"question": "Is it \"balance\"?", "response": "no"}]}
|
||||
{"index": 51, "id": "7558d04b-c62d-4ae8-8ca8-ed0badbdb1c3", "answer": "Horse", "category": "animal", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "yes"}, {"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it a domesticated animal?", "response": "yes"}, {"question": "Is it a dog?", "response": "no"}, {"question": "Is it a rodent?", "response": "no"}, {"question": "Is it a rodent?", "response": "no"}, {"question": "Is it a cat?", "response": "no"}, {"question": "Is it a small domesticated animal commonly kept as a pet?", "response": "no"}, {"question": "Is it a rabbit?", "response": "no"}, {"question": "Is it a hamster?", "response": "no"}, {"question": "Is it a guinea pig?", "response": "no"}, {"question": "Is it a commonly kept small domesticated rodent?", "response": "no"}, {"question": "Is it a ferret?", "response": "no"}, {"question": "Is it a ferret?", "response": "no"}, {"question": "Is it a ferret?", "response": "no"}, {"question": "Is it a chinchilla?", "response": "no"}, {"question": "Is it a common pet known for its long ears and hopping motion?", "response": "no"}, {"question": "Is it a ferret?", "response": "no"}]}
|
||||
{"index": 127, "id": "6ce7d601-76e1-4cc0-a3db-9feb960cd811", "answer": "Running", "category": "sport", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it an object?", "response": "no"}, {"question": "Is it a concept?", "response": "yes"}, {"question": "Is it a fundamental idea in philosophy?", "response": "no"}, {"question": "Is it a concept related to time?", "response": "no"}, {"question": "Is it a concept related to human consciousness?", "response": "no"}, {"question": "Is it a concept related to mathematics?", "response": "no"}, {"question": "Is it a concept related to ethics?", "response": "no"}, {"question": "Is it a concept related to logic?", "response": "no"}, {"question": "Is it a concept related to physics?", "response": "no"}, {"question": "Is it a concept related to biology?", "response": "yes"}, {"question": "Is it a concept related to genetics?", "response": "no"}, {"question": "Is it a concept related to evolution?", "response": "no"}, {"question": "Is it a concept related to ecosystems?", "response": "no"}, {"question": "Is it a biological concept related to cellular processes?", "response": "no"}, {"question": "Is it a biological concept related to metabolism?", "response": "no"}, {"question": "Is it a biological concept related to cellular respiration?", "response": "no"}, {"question": "Is it DNA?", "response": "no"}]}
|
||||
{"index": 162, "id": "1ddfc442-ac1a-41c6-9302-c5012ab3a1f5", "answer": "Stranger Things", "category": "fiction", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it a thing that can be found in a kitchen?", "response": "no"}, {"question": "Is it a concept?", "response": "no"}, {"question": "Is it a fictional character?", "response": "no"}, {"question": "Is it a sport?", "response": "no"}, {"question": "Is it a natural feature?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a food?", "response": "no"}, {"question": "Is it a creature?", "response": "no"}, {"question": "Is it a specific object commonly used in the home that is not a kitchen appliance?", "response": "no"}, {"question": "Is it a mountain?", "response": "no"}, {"question": "Is it a river?", "response": "no"}, {"question": "Is it a well-known landmark?", "response": "no"}, {"question": "Is it a well-known historical event?", "response": "no"}, {"question": "Is it a commonly recognized symbol?", "response": "no"}, {"question": "Is it a type of weather phenomenon?", "response": "no"}, {"question": "Is it a cloud?", "response": "no"}, {"question": "Is it a star?", "response": "n/a"}]}
|
||||
{"index": 41, "id": "60766e05-47d4-476a-8b4a-337ac748be87", "answer": "Tiger", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 12, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "yes"}, {"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it a domesticated animal?", "response": "no"}, {"question": "Is it a wild animal found in Africa?", "response": "no"}, {"question": "Is it a carnivorous animal?", "response": "yes"}, {"question": "Is it a predator found in the Americas?", "response": "no"}, {"question": "Is it a large cat species found in the Americas?", "response": "no"}, {"question": "Is it a big cat species native to Asia?", "response": "yes"}, {"question": "Is it a big cat species native to the Indian subcontinent?", "response": "yes"}, {"question": "Is it a tiger?", "response": "yes"}]}
|
||||
{"index": 118, "id": "1aeae377-5d1b-4473-9f05-e8980c3d8ec7", "answer": "Truth", "category": "concept", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it a living thing?", "response": "no"}, {"question": "Is it an object?", "response": "no"}, {"question": "Is it a concept?", "response": "yes"}, {"question": "Is it an abstract idea?", "response": "yes"}, {"question": "Is it a fundamental principle in mathematics?", "response": "yes"}, {"question": "Is it a property of numbers that is universally true in all arithmetic systems?", "response": "no"}, {"question": "Is it a property that defines the structure of addition in arithmetic?", "response": "no"}, {"question": "Is it a property that governs the behavior of integers under multiplication?", "response": "no"}, {"question": "Is it a property of numbers related to divisibility?", "response": "no"}, {"question": "Is it commutativity?", "response": "no"}, {"question": "Is it infinity?", "response": "no"}, {"question": "Is it zero?", "response": "n/a"}, {"question": "Is it a fundamental concept in mathematics that describes the absence of quantity?", "response": "no"}, {"question": "Is it a property of numbers related to closure under an operation?", "response": "no"}, {"question": "Is it symmetry?", "response": "no"}, {"question": "Is it a fundamental concept in mathematics related to logical consistency?", "response": "yes"}, {"question": "Is it consistency?", "response": "no"}, {"question": "Is it completeness?", "response": "no"}]}
|
||||
{"index": 113, "id": "47d38788-a955-4fd2-aa4d-acb7aee5bfb8", "answer": "Art", "category": "concept", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "n/a"}, {"question": "Is it an object?", "response": "yes"}, {"question": "Is it a man-made object?", "response": "yes"}, {"question": "Is it a tool used for cutting?", "response": "no"}, {"question": "Is it a writing instrument?", "response": "no"}, {"question": "Is it a musical instrument?", "response": "no"}, {"question": "Is it a household item?", "response": "no"}, {"question": "Is it a piece of technology?", "response": "no"}, {"question": "Is it a part of a vehicle?", "response": "no"}, {"question": "Is it a natural object?", "response": "no"}, {"question": "Is it a piece of furniture?", "response": "no"}, {"question": "Is it a piece of clothing?", "response": "no"}, {"question": "Is it a food?", "response": "no"}, {"question": "Is it a form of currency?", "response": "no"}, {"question": "Is it a piece of sports equipment?", "response": "no"}, {"question": "Is it a type of gemstone?", "response": "no"}, {"question": "Is it a type of plant?", "response": "no"}, {"question": "Is it a key?", "response": "no"}]}
|
||||
{"index": 26, "id": "74499b3c-02e0-419e-9a91-7076502e4279", "answer": "Sahara Desert", "category": "place", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 10, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "yes"}, {"question": "Is it a natural place?", "response": "yes"}, {"question": "Is it a mountain?", "response": "no"}, {"question": "Is it a river?", "response": "no"}, {"question": "Is it a forest?", "response": "no"}, {"question": "Is it a desert?", "response": "yes"}, {"question": "Is it a desert located in the Americas?", "response": "no"}, {"question": "Is it a desert located in Africa?", "response": "yes"}, {"question": "Is it the Sahara Desert?", "response": "yes"}]}
|
||||
{"index": 139, "id": "7f8f4f7b-690e-493e-8a30-01b76d2a7d4d", "answer": "Climbing", "category": "sport", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it an object?", "response": "no"}, {"question": "Is it a concept?", "response": "yes"}, {"question": "Is it a fundamental principle in science?", "response": "no"}, {"question": "Is it a mathematical concept?", "response": "no"}, {"question": "Is it a philosophical concept?", "response": "no"}, {"question": "Is it a moral concept?", "response": "no"}, {"question": "Is it a widely recognized idea in ethics?", "response": "no"}, {"question": "Is it a concept related to logic or reasoning?", "response": "no"}, {"question": "Is it a concept related to time or space?", "response": "no"}, {"question": "Is it a concept related to perception or consciousness?", "response": "no"}, {"question": "Is it a concept related to human emotion?", "response": "no"}, {"question": "Is it a concept that is universally recognized across cultures?", "response": "yes"}, {"question": "Is it a concept that is universally recognized and does not require explanation in most cultures?", "response": "yes"}, {"question": "Is it a concept that is recognized in all human languages without translation?", "response": "yes"}, {"question": "Is it a concept that is expressed through gestures or non-verbal communication in all human cultures?", "response": "no"}, {"question": "Is it a concept that is expressed through universal facial expressions?", "response": "n/a"}, {"question": "Is it love?", "response": "no"}]}
|
||||
{"index": 100, "id": "3ba9d1ad-7e35-4d50-a8e3-3ffc568fffb6", "answer": "Pancake", "category": "food", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it a concept?", "response": "no"}, {"question": "Is it a food?", "response": "yes"}, {"question": "Is it a type of fruit?", "response": "no"}, {"question": "Is it a vegetable?", "response": "no"}, {"question": "Is it a root vegetable?", "response": "no"}, {"question": "Is it a grain?", "response": "no"}, {"question": "Is it a legume?", "response": "no"}, {"question": "Is it a type of grain-based food?", "response": "yes"}, {"question": "Is it pasta?", "response": "no"}, {"question": "Is it bread?", "response": "no"}, {"question": "Is it rice?", "response": "no"}, {"question": "Is it a type of cereal?", "response": "no"}, {"question": "Is it a type of baked good?", "response": "no"}, {"question": "Is it a type of snack?", "response": "yes"}, {"question": "Is it a type of chip?", "response": "no"}, {"question": "Is it a type of candy?", "response": "no"}, {"question": "Is it potato?", "response": "no"}]}
|
||||
{"index": 111, "id": "84753eb8-5e45-4238-acc6-3e99f092be0e", "answer": "Power", "category": "concept", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a person?", "response": "no"}, {"question": "Is it a place?", "response": "no"}, {"question": "Is it an animal?", "response": "no"}, {"question": "Is it an object?", "response": "no"}, {"question": "Is it a character?", "response": "no"}, {"question": "Is it a concept?", "response": "yes"}, {"question": "Is it a fundamental idea in philosophy?", "response": "yes"}, {"question": "Is it a concept related to the nature of existence?", "response": "yes"}, {"question": "Is it a concept that addresses whether reality exists independently of perception?", "response": "no"}, {"question": "Is it a concept that deals with the nature of being or reality in metaphysics?", "response": "yes"}, {"question": "Is it being?", "response": "no"}, {"question": "Is it ontology?", "response": "no"}, {"question": "Is it causality?", "response": "no"}, {"question": "Is it time?", "response": "n/a"}, {"question": "Is it a concept that deals with the relationship between minds and reality?", "response": "no"}, {"question": "Is it consciousness?", "response": "no"}, {"question": "Is it a concept related to the mind-body problem?", "response": "no"}, {"question": "Is it a concept that deals with the nature of knowledge?", "response": "no"}, {"question": "Is it reality?", "response": "no"}, {"question": "Is it existence?", "response": "no"}]}
|
||||
+26
File diff suppressed because one or more lines are too long
@@ -0,0 +1,403 @@
|
||||
{
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"description": "Train and Test Rewards over Steps",
|
||||
"width": 600,
|
||||
"height": 300,
|
||||
"config": {
|
||||
"axis": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 16,
|
||||
"titleFontWeight": "normal"
|
||||
},
|
||||
"legend": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 14,
|
||||
"fillColor": "white",
|
||||
"strokeColor": "#ccc",
|
||||
"padding": 10,
|
||||
"cornerRadius": 5
|
||||
}
|
||||
},
|
||||
"data": {
|
||||
"values": [
|
||||
{
|
||||
"step": 0.0,
|
||||
"reward": -0.3125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 0.0,
|
||||
"reward": -0.041666666666666005,
|
||||
"type": "Test"
|
||||
},
|
||||
{
|
||||
"step": 1.0,
|
||||
"reward": -0.1875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 2.0,
|
||||
"reward": -0.09375000000000001,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 3.0,
|
||||
"reward": -0.078125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 4.0,
|
||||
"reward": 0.125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 5.0,
|
||||
"reward": 0.09375000000000001,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 6.0,
|
||||
"reward": -0.078125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 7.0,
|
||||
"reward": 0.1875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 8.0,
|
||||
"reward": 0.15625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 9.0,
|
||||
"reward": 0.109375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 10.0,
|
||||
"reward": 0.28125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 11.0,
|
||||
"reward": 0.34375000000000006,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 12.0,
|
||||
"reward": 0.265625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 13.0,
|
||||
"reward": 0.328125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 14.0,
|
||||
"reward": 0.328125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 15.0,
|
||||
"reward": 0.265625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 16.0,
|
||||
"reward": 0.4375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 17.0,
|
||||
"reward": 0.296875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 18.0,
|
||||
"reward": 0.46875000000000006,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 19.0,
|
||||
"reward": 0.359375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 20.0,
|
||||
"reward": 0.578125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 20.0,
|
||||
"reward": 0.6666666666666661,
|
||||
"type": "Test"
|
||||
},
|
||||
{
|
||||
"step": 21.0,
|
||||
"reward": 0.3125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 22.0,
|
||||
"reward": 0.4375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 23.0,
|
||||
"reward": 0.421875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 24.0,
|
||||
"reward": 0.546875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 25.0,
|
||||
"reward": 0.515625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 26.0,
|
||||
"reward": 0.65625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 27.0,
|
||||
"reward": 0.75,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 28.0,
|
||||
"reward": 0.640625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 29.0,
|
||||
"reward": 0.6875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 30.0,
|
||||
"reward": 0.7812500000000001,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 31.0,
|
||||
"reward": 0.8125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 32.0,
|
||||
"reward": 0.859375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 33.0,
|
||||
"reward": 0.75,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 34.0,
|
||||
"reward": 0.828125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 35.0,
|
||||
"reward": 0.9062500000000001,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 36.0,
|
||||
"reward": 0.859375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 37.0,
|
||||
"reward": 0.859375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 38.0,
|
||||
"reward": 0.890625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 39.0,
|
||||
"reward": 0.875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 40.0,
|
||||
"reward": 0.890625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 40.0,
|
||||
"reward": 0.9166666666666661,
|
||||
"type": "Test"
|
||||
},
|
||||
{
|
||||
"step": 41.0,
|
||||
"reward": 0.9687500000000001,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 42.0,
|
||||
"reward": 0.953125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 43.0,
|
||||
"reward": 0.921875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 44.0,
|
||||
"reward": 0.953125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 45.0,
|
||||
"reward": 0.890625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 46.0,
|
||||
"reward": 1.0,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 47.0,
|
||||
"reward": 0.984375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 48.0,
|
||||
"reward": 0.984375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 49.0,
|
||||
"reward": 1.0,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 50.0,
|
||||
"reward": 0.9687500000000001,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 51.0,
|
||||
"reward": 1.0,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 52.0,
|
||||
"reward": 0.921875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 53.0,
|
||||
"reward": 1.0,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 54.0,
|
||||
"reward": 1.0,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 55.0,
|
||||
"reward": 1.0,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 56.0,
|
||||
"reward": 1.0,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 57.0,
|
||||
"reward": 1.0,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 58.0,
|
||||
"reward": 0.953125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 59.0,
|
||||
"reward": 0.9687500000000001,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 60.0,
|
||||
"reward": 1.0,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 60.0,
|
||||
"reward": 1.0,
|
||||
"type": "Test"
|
||||
},
|
||||
{
|
||||
"step": 61.0,
|
||||
"reward": 0.984375,
|
||||
"type": "Train"
|
||||
}
|
||||
]
|
||||
},
|
||||
"mark": {
|
||||
"type": "line",
|
||||
"point": true,
|
||||
"strokeWidth": 2.5
|
||||
},
|
||||
"encoding": {
|
||||
"x": {
|
||||
"field": "step",
|
||||
"type": "quantitative",
|
||||
"title": "Step",
|
||||
"scale": {
|
||||
"domain": [
|
||||
0,
|
||||
61.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"y": {
|
||||
"field": "reward",
|
||||
"type": "quantitative",
|
||||
"title": "Reward"
|
||||
},
|
||||
"color": {
|
||||
"field": "type",
|
||||
"type": "nominal",
|
||||
"title": "Type",
|
||||
"scale": {
|
||||
"domain": [
|
||||
"Train",
|
||||
"Test"
|
||||
],
|
||||
"range": [
|
||||
"#2E86AB",
|
||||
"#E63946"
|
||||
]
|
||||
},
|
||||
"legend": {
|
||||
"orient": "none",
|
||||
"legendX": 520,
|
||||
"legendY": 220
|
||||
}
|
||||
},
|
||||
"strokeDash": {
|
||||
"field": "type",
|
||||
"type": "nominal",
|
||||
"legend": null
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
{"step": 0, "progress/batch": 0, "optim/lr": 1e-05, "progress/done_frac": 0.016129032258064516, "test/env/all/ac_tokens_per_turn": 31.791666666666668, "test/env/all/ob_tokens_per_turn": 23.0, "test/env/all/turns_per_episode": 1.0, "test/env/all/total_episodes": 24, "test/env/all/total_turns": 24, "test/env/all/total_ac_tokens": 763, "test/env/all/total_ob_tokens": 552, "test/env/all/reward/total": -0.041666666666666664, "test/env/all/reward/final_step": -0.041666666666666664, "test/env/all/reward/non_empty": 1.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.3333333333333333, "test/env/all/by_group/frac_all_bad": 0.6666666666666666, "time/run_evals": 702.0938656330109, "time/sample": 85.31247544288635, "env/all/ac_tokens_per_turn": 32.0, "env/all/ob_tokens_per_turn": 21.875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2048, "env/all/total_ob_tokens": 1400, "env/all/reward/total": -0.3125, "env/all/reward/final_step": -0.3125, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.6875, "env/all/by_group/frac_all_good": 0.0, "env/all/by_group/frac_all_bad": 0.3125, "time/assemble_training_data": 0.012148857116699219, "time/train": 11.612573146820068, "optim/kl_sample_train_v1": 0.007542089559137821, "optim/kl_sample_train_v2": 0.008601926267147064, "optim/entropy": 0.5132952332496643, "time/compute_kl_sample_train": 0.004593849182128906, "time/save_checkpoint": 45.57455062866211, "time/total": 844.67569231987}
|
||||
{"step": 1, "progress/batch": 1, "optim/lr": 1e-05, "progress/done_frac": 0.03225806451612903, "time/sample": 98.80489206314087, "env/all/ac_tokens_per_turn": 31.953125, "env/all/ob_tokens_per_turn": 21.9375, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2045, "env/all/total_ob_tokens": 1404, "env/all/reward/total": -0.1875, "env/all/reward/final_step": -0.1875, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.75, "env/all/by_group/frac_all_good": 0.0, "env/all/by_group/frac_all_bad": 0.25, "time/assemble_training_data": 0.01327967643737793, "time/train": 25.768421411514282, "optim/kl_sample_train_v1": 0.0033556590788066387, "optim/kl_sample_train_v2": 0.008085566572844982, "optim/entropy": 0.5495203137397766, "time/compute_kl_sample_train": 0.004477262496948242, "time/save_checkpoint": 26.38147521018982, "time/total": 151.30733823776245}
|
||||
{"step": 2, "progress/batch": 2, "optim/lr": 1e-05, "progress/done_frac": 0.04838709677419355, "time/sample": 93.67744970321655, "env/all/ac_tokens_per_turn": 32.0, "env/all/ob_tokens_per_turn": 21.875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2048, "env/all/total_ob_tokens": 1400, "env/all/reward/total": -0.09375, "env/all/reward/final_step": -0.09375, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.6875, "env/all/by_group/frac_all_good": 0.0, "env/all/by_group/frac_all_bad": 0.3125, "time/assemble_training_data": 0.011398553848266602, "time/train": 23.835231065750122, "optim/kl_sample_train_v1": 0.006609824486076832, "optim/kl_sample_train_v2": 0.009628817439079285, "optim/entropy": 0.5811454057693481, "time/compute_kl_sample_train": 0.004601955413818359, "time/save_checkpoint": 27.330844402313232, "time/total": 145.19977164268494}
|
||||
{"step": 3, "progress/batch": 3, "optim/lr": 1e-05, "progress/done_frac": 0.06451612903225806, "time/sample": 75.2850124835968, "env/all/ac_tokens_per_turn": 32.0, "env/all/ob_tokens_per_turn": 21.9375, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2048, "env/all/total_ob_tokens": 1404, "env/all/reward/total": -0.078125, "env/all/reward/final_step": -0.078125, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.0625, "env/all/by_group/frac_all_bad": 0.3125, "time/assemble_training_data": 0.013631582260131836, "time/train": 34.543891191482544, "optim/kl_sample_train_v1": 0.01266719400882721, "optim/kl_sample_train_v2": 0.008982335217297077, "optim/entropy": 0.5474157333374023, "time/compute_kl_sample_train": 0.004726886749267578, "time/save_checkpoint": 28.752546310424805, "time/total": 139.0157527923584}
|
||||
{"step": 4, "progress/batch": 4, "optim/lr": 1e-05, "progress/done_frac": 0.08064516129032258, "time/sample": 70.45506763458252, "env/all/ac_tokens_per_turn": 31.15625, "env/all/ob_tokens_per_turn": 21.6875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1994, "env/all/total_ob_tokens": 1388, "env/all/reward/total": 0.125, "env/all/reward/final_step": 0.125, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.75, "env/all/by_group/frac_all_good": 0.0625, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 0.012877941131591797, "time/train": 49.392765522003174, "optim/kl_sample_train_v1": 0.009762570261955261, "optim/kl_sample_train_v2": 0.007038231007754803, "optim/entropy": 0.5388543009757996, "time/compute_kl_sample_train": 0.004582405090332031, "time/save_checkpoint": 33.427204608917236, "time/total": 153.68775296211243}
|
||||
{"step": 5, "progress/batch": 5, "optim/lr": 1e-05, "progress/done_frac": 0.0967741935483871, "time/sample": 325.1094379425049, "env/all/ac_tokens_per_turn": 31.296875, "env/all/ob_tokens_per_turn": 21.875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2003, "env/all/total_ob_tokens": 1400, "env/all/reward/total": 0.09375, "env/all/reward/final_step": 0.09375, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.9375, "env/all/by_group/frac_all_good": 0.0, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 0.01235198974609375, "time/train": 44.484084606170654, "optim/kl_sample_train_v1": 0.012748093344271183, "optim/kl_sample_train_v2": 0.013152657076716423, "optim/entropy": 0.5877653956413269, "time/compute_kl_sample_train": 0.0045735836029052734, "time/save_checkpoint": 23.809223651885986, "time/total": 393.759480714798}
|
||||
{"step": 6, "progress/batch": 6, "optim/lr": 1e-05, "progress/done_frac": 0.11290322580645161, "time/sample": 84.46391439437866, "env/all/ac_tokens_per_turn": 31.9375, "env/all/ob_tokens_per_turn": 22.0, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2044, "env/all/total_ob_tokens": 1408, "env/all/reward/total": -0.078125, "env/all/reward/final_step": -0.078125, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.9375, "env/all/by_group/frac_all_good": 0.0, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 0.012319087982177734, "time/train": 83.71909308433533, "optim/kl_sample_train_v1": 0.006569597404450178, "optim/kl_sample_train_v2": 0.008119329810142517, "optim/entropy": 0.5631020069122314, "time/compute_kl_sample_train": 0.004782915115356445, "time/save_checkpoint": 28.938027143478394, "time/total": 197.5347294807434}
|
||||
{"step": 7, "progress/batch": 7, "optim/lr": 1e-05, "progress/done_frac": 0.12903225806451613, "time/sample": 115.08995723724365, "env/all/ac_tokens_per_turn": 32.0, "env/all/ob_tokens_per_turn": 21.9375, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2048, "env/all/total_ob_tokens": 1404, "env/all/reward/total": 0.1875, "env/all/reward/final_step": 0.1875, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.75, "env/all/by_group/frac_all_good": 0.125, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 0.013854265213012695, "time/train": 108.06273341178894, "optim/kl_sample_train_v1": 0.0009775635553523898, "optim/kl_sample_train_v2": 0.008669247850775719, "optim/entropy": 0.6133944392204285, "time/compute_kl_sample_train": 0.004826545715332031, "time/save_checkpoint": 34.101903200149536, "time/total": 257.60960054397583}
|
||||
{"step": 8, "progress/batch": 8, "optim/lr": 1e-05, "progress/done_frac": 0.14516129032258066, "time/sample": 82.01585507392883, "env/all/ac_tokens_per_turn": 32.0, "env/all/ob_tokens_per_turn": 21.9375, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2048, "env/all/total_ob_tokens": 1404, "env/all/reward/total": 0.15625, "env/all/reward/final_step": 0.15625, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.6875, "env/all/by_group/frac_all_good": 0.0, "env/all/by_group/frac_all_bad": 0.3125, "time/assemble_training_data": 0.012580394744873047, "time/train": 80.00080037117004, "optim/kl_sample_train_v1": 0.0003109194221906364, "optim/kl_sample_train_v2": 0.0076795052736997604, "optim/entropy": 0.6707644462585449, "time/compute_kl_sample_train": 0.004242420196533203, "time/save_checkpoint": 33.122347831726074, "time/total": 195.5466878414154}
|
||||
{"step": 9, "progress/batch": 9, "optim/lr": 1e-05, "progress/done_frac": 0.16129032258064516, "time/sample": 80.2443916797638, "env/all/ac_tokens_per_turn": 32.0, "env/all/ob_tokens_per_turn": 22.0, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2048, "env/all/total_ob_tokens": 1408, "env/all/reward/total": 0.109375, "env/all/reward/final_step": 0.109375, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.8125, "env/all/by_group/frac_all_good": 0.0, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 0.011594533920288086, "time/train": 35.04754400253296, "optim/kl_sample_train_v1": 0.01183636486530304, "optim/kl_sample_train_v2": 0.009040371514856815, "optim/entropy": 0.6314126253128052, "time/compute_kl_sample_train": 0.004627227783203125, "time/save_checkpoint": 29.497164487838745, "time/total": 145.16777110099792}
|
||||
{"step": 10, "progress/batch": 10, "optim/lr": 1e-05, "progress/done_frac": 0.1774193548387097, "time/sample": 129.9673454761505, "env/all/ac_tokens_per_turn": 31.9375, "env/all/ob_tokens_per_turn": 21.9375, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2044, "env/all/total_ob_tokens": 1404, "env/all/reward/total": 0.28125, "env/all/reward/final_step": 0.28125, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.875, "env/all/by_group/frac_all_good": 0.0625, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 0.012558698654174805, "time/train": 31.656781673431396, "optim/kl_sample_train_v1": 0.005409288220107555, "optim/kl_sample_train_v2": 0.010426159016788006, "optim/entropy": 0.6948107481002808, "time/compute_kl_sample_train": 0.004395484924316406, "time/save_checkpoint": 27.287370681762695, "time/total": 189.27186584472656}
|
||||
{"step": 11, "progress/batch": 11, "optim/lr": 1e-05, "progress/done_frac": 0.1935483870967742, "time/sample": 95.30948257446289, "env/all/ac_tokens_per_turn": 31.828125, "env/all/ob_tokens_per_turn": 21.875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2037, "env/all/total_ob_tokens": 1400, "env/all/reward/total": 0.34375, "env/all/reward/final_step": 0.34375, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.8125, "env/all/by_group/frac_all_good": 0.125, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 0.012067556381225586, "time/train": 100.57590746879578, "optim/kl_sample_train_v1": 0.009596126154065132, "optim/kl_sample_train_v2": 0.008990787900984287, "optim/entropy": 0.6439817547798157, "time/compute_kl_sample_train": 0.0043790340423583984, "time/save_checkpoint": 31.842373847961426, "time/total": 228.10590434074402}
|
||||
{"step": 12, "progress/batch": 12, "optim/lr": 1e-05, "progress/done_frac": 0.20967741935483872, "time/sample": 72.17821145057678, "env/all/ac_tokens_per_turn": 30.875, "env/all/ob_tokens_per_turn": 21.875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1976, "env/all/total_ob_tokens": 1400, "env/all/reward/total": 0.265625, "env/all/reward/final_step": 0.265625, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.125, "env/all/by_group/frac_all_bad": 0.25, "time/assemble_training_data": 0.01148676872253418, "time/train": 30.593905687332153, "optim/kl_sample_train_v1": 0.008106639608740807, "optim/kl_sample_train_v2": 0.01407548040151596, "optim/entropy": 0.6388022899627686, "time/compute_kl_sample_train": 0.0042879581451416016, "time/save_checkpoint": 31.23603391647339, "time/total": 134.35621285438538}
|
||||
{"step": 13, "progress/batch": 13, "optim/lr": 1e-05, "progress/done_frac": 0.22580645161290322, "time/sample": 60.36308455467224, "env/all/ac_tokens_per_turn": 31.75, "env/all/ob_tokens_per_turn": 21.9375, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2032, "env/all/total_ob_tokens": 1404, "env/all/reward/total": 0.328125, "env/all/reward/final_step": 0.328125, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.75, "env/all/by_group/frac_all_good": 0.0, "env/all/by_group/frac_all_bad": 0.25, "time/assemble_training_data": 0.01140451431274414, "time/train": 86.45193552970886, "optim/kl_sample_train_v1": 0.00483052060008049, "optim/kl_sample_train_v2": 0.009766718372702599, "optim/entropy": 0.6586382985115051, "time/compute_kl_sample_train": 0.0045888423919677734, "time/save_checkpoint": 43.35348963737488, "time/total": 190.53342533111572}
|
||||
{"step": 14, "progress/batch": 14, "optim/lr": 1e-05, "progress/done_frac": 0.24193548387096775, "time/sample": 78.63222146034241, "env/all/ac_tokens_per_turn": 31.875, "env/all/ob_tokens_per_turn": 21.75, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2040, "env/all/total_ob_tokens": 1392, "env/all/reward/total": 0.328125, "env/all/reward/final_step": 0.328125, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.75, "env/all/by_group/frac_all_good": 0.0, "env/all/by_group/frac_all_bad": 0.25, "time/assemble_training_data": 0.011986732482910156, "time/train": 39.02915024757385, "optim/kl_sample_train_v1": 0.01061794813722372, "optim/kl_sample_train_v2": 0.009122301824390888, "optim/entropy": 0.7157738208770752, "time/compute_kl_sample_train": 0.004272937774658203, "time/save_checkpoint": 32.97992134094238, "time/total": 151.02062344551086}
|
||||
{"step": 15, "progress/batch": 15, "optim/lr": 1e-05, "progress/done_frac": 0.25806451612903225, "time/sample": 259.4403898715973, "env/all/ac_tokens_per_turn": 31.90625, "env/all/ob_tokens_per_turn": 21.75, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2042, "env/all/total_ob_tokens": 1392, "env/all/reward/total": 0.265625, "env/all/reward/final_step": 0.265625, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.5625, "env/all/by_group/frac_all_good": 0.0, "env/all/by_group/frac_all_bad": 0.4375, "time/assemble_training_data": 0.011713981628417969, "time/train": 39.35460329055786, "optim/kl_sample_train_v1": 0.005596431437879801, "optim/kl_sample_train_v2": 0.010268903337419033, "optim/entropy": 0.7022009491920471, "time/compute_kl_sample_train": 0.004334926605224609, "time/save_checkpoint": 27.497533559799194, "time/total": 326.6745026111603}
|
||||
{"step": 16, "progress/batch": 16, "optim/lr": 1e-05, "progress/done_frac": 0.27419354838709675, "time/sample": 78.91672706604004, "env/all/ac_tokens_per_turn": 31.765625, "env/all/ob_tokens_per_turn": 22.0, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2033, "env/all/total_ob_tokens": 1408, "env/all/reward/total": 0.4375, "env/all/reward/final_step": 0.4375, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.875, "env/all/by_group/frac_all_good": 0.0, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 0.016389846801757812, "time/train": 40.283897161483765, "optim/kl_sample_train_v1": 0.006092998199164867, "optim/kl_sample_train_v2": 0.011615120805799961, "optim/entropy": 0.6576290726661682, "time/compute_kl_sample_train": 0.0043332576751708984, "time/save_checkpoint": 30.576669216156006, "time/total": 150.2049744129181}
|
||||
{"step": 17, "progress/batch": 17, "optim/lr": 1e-05, "progress/done_frac": 0.2903225806451613, "time/sample": 114.97612714767456, "env/all/ac_tokens_per_turn": 31.765625, "env/all/ob_tokens_per_turn": 21.875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2033, "env/all/total_ob_tokens": 1400, "env/all/reward/total": 0.296875, "env/all/reward/final_step": 0.296875, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.0625, "env/all/by_group/frac_all_bad": 0.3125, "time/assemble_training_data": 0.011742353439331055, "time/train": 45.4569091796875, "optim/kl_sample_train_v1": 0.011726210825145245, "optim/kl_sample_train_v2": 0.010015579871833324, "optim/entropy": 0.6750375628471375, "time/compute_kl_sample_train": 0.004730939865112305, "time/save_checkpoint": 38.25458335876465, "time/total": 199.12174892425537}
|
||||
{"step": 18, "progress/batch": 18, "optim/lr": 1e-05, "progress/done_frac": 0.3064516129032258, "time/sample": 96.21165871620178, "env/all/ac_tokens_per_turn": 31.796875, "env/all/ob_tokens_per_turn": 21.875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2035, "env/all/total_ob_tokens": 1400, "env/all/reward/total": 0.46875, "env/all/reward/final_step": 0.46875, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.6875, "env/all/by_group/frac_all_good": 0.125, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 0.014420270919799805, "time/train": 52.375956535339355, "optim/kl_sample_train_v1": 0.0068541099317371845, "optim/kl_sample_train_v2": 0.011233072727918625, "optim/entropy": 0.6732615232467651, "time/compute_kl_sample_train": 0.00456547737121582, "time/save_checkpoint": 28.61180591583252, "time/total": 177.62162280082703}
|
||||
{"step": 19, "progress/batch": 19, "optim/lr": 1e-05, "progress/done_frac": 0.3225806451612903, "time/sample": 75.74557113647461, "env/all/ac_tokens_per_turn": 31.78125, "env/all/ob_tokens_per_turn": 21.875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2034, "env/all/total_ob_tokens": 1400, "env/all/reward/total": 0.359375, "env/all/reward/final_step": 0.359375, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.75, "env/all/by_group/frac_all_good": 0.0625, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 0.011989116668701172, "time/train": 74.19519758224487, "optim/kl_sample_train_v1": 0.008400371298193932, "optim/kl_sample_train_v2": 0.00769457034766674, "optim/entropy": 0.6765838861465454, "time/compute_kl_sample_train": 0.004079103469848633, "time/save_checkpoint": 41.540913105010986, "time/total": 191.84968090057373}
|
||||
{"step": 20, "progress/batch": 20, "optim/lr": 1e-05, "progress/done_frac": 0.3387096774193548, "test/env/all/ac_tokens_per_turn": 31.125, "test/env/all/ob_tokens_per_turn": 23.0, "test/env/all/turns_per_episode": 1.0, "test/env/all/total_episodes": 24, "test/env/all/total_turns": 24, "test/env/all/total_ac_tokens": 747, "test/env/all/total_ob_tokens": 552, "test/env/all/reward/total": 0.6666666666666666, "test/env/all/reward/final_step": 0.6666666666666666, "test/env/all/reward/non_empty": 1.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.6666666666666666, "test/env/all/by_group/frac_all_bad": 0.3333333333333333, "time/run_evals": 35.26997709274292, "time/sample": 61.29085826873779, "env/all/ac_tokens_per_turn": 31.484375, "env/all/ob_tokens_per_turn": 22.0, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2015, "env/all/total_ob_tokens": 1408, "env/all/reward/total": 0.578125, "env/all/reward/final_step": 0.578125, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.6875, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 0.01239776611328125, "time/train": 18.629968881607056, "optim/kl_sample_train_v1": 0.004994028247892857, "optim/kl_sample_train_v2": 0.008436886593699455, "optim/entropy": 0.651717483997345, "time/compute_kl_sample_train": 0.004408836364746094, "time/save_checkpoint": 48.31096053123474, "time/total": 163.91455125808716}
|
||||
{"step": 21, "progress/batch": 21, "optim/lr": 1e-05, "progress/done_frac": 0.3548387096774194, "time/sample": 84.69079089164734, "env/all/ac_tokens_per_turn": 31.875, "env/all/ob_tokens_per_turn": 21.9375, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2040, "env/all/total_ob_tokens": 1404, "env/all/reward/total": 0.3125, "env/all/reward/final_step": 0.3125, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.8125, "env/all/by_group/frac_all_good": 0.0, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 0.010033607482910156, "time/train": 58.448747396469116, "optim/kl_sample_train_v1": 0.011753651313483715, "optim/kl_sample_train_v2": 0.00972237903624773, "optim/entropy": 0.645164430141449, "time/compute_kl_sample_train": 0.004196643829345703, "time/save_checkpoint": 39.8601348400116, "time/total": 183.38634872436523}
|
||||
{"step": 22, "progress/batch": 22, "optim/lr": 1e-05, "progress/done_frac": 0.3709677419354839, "time/sample": 65.43830513954163, "env/all/ac_tokens_per_turn": 31.6875, "env/all/ob_tokens_per_turn": 21.875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2028, "env/all/total_ob_tokens": 1400, "env/all/reward/total": 0.4375, "env/all/reward/final_step": 0.4375, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.8125, "env/all/by_group/frac_all_good": 0.0625, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 0.012290716171264648, "time/train": 33.57956099510193, "optim/kl_sample_train_v1": 0.010022368282079697, "optim/kl_sample_train_v2": 0.010537168942391872, "optim/entropy": 0.649145245552063, "time/compute_kl_sample_train": 0.0043964385986328125, "time/save_checkpoint": 27.691476345062256, "time/total": 127.11822009086609}
|
||||
{"step": 23, "progress/batch": 23, "optim/lr": 1e-05, "progress/done_frac": 0.3870967741935484, "time/sample": 78.40921068191528, "env/all/ac_tokens_per_turn": 31.921875, "env/all/ob_tokens_per_turn": 21.875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2043, "env/all/total_ob_tokens": 1400, "env/all/reward/total": 0.421875, "env/all/reward/final_step": 0.421875, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 1.0, "env/all/by_group/frac_all_good": 0.0, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.013748645782470703, "time/train": 2.9461379051208496, "optim/kl_sample_train_v1": 0.010868174955248833, "optim/kl_sample_train_v2": 0.007905554957687855, "optim/entropy": 0.6193280220031738, "time/compute_kl_sample_train": 0.004393577575683594, "time/save_checkpoint": 30.743961572647095, "time/total": 112.4556782245636}
|
||||
{"step": 24, "progress/batch": 24, "optim/lr": 1e-05, "progress/done_frac": 0.4032258064516129, "time/sample": 100.0778591632843, "env/all/ac_tokens_per_turn": 31.640625, "env/all/ob_tokens_per_turn": 21.8125, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2025, "env/all/total_ob_tokens": 1396, "env/all/reward/total": 0.546875, "env/all/reward/final_step": 0.546875, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.75, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 0.012361764907836914, "time/train": 36.66018629074097, "optim/kl_sample_train_v1": 0.010113815777003765, "optim/kl_sample_train_v2": 0.009505093097686768, "optim/entropy": 0.5870419144630432, "time/compute_kl_sample_train": 0.004198312759399414, "time/save_checkpoint": 41.00364851951599, "time/total": 178.15479946136475}
|
||||
{"step": 25, "progress/batch": 25, "optim/lr": 1e-05, "progress/done_frac": 0.41935483870967744, "time/sample": 81.17144894599915, "env/all/ac_tokens_per_turn": 31.234375, "env/all/ob_tokens_per_turn": 22.0, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1999, "env/all/total_ob_tokens": 1408, "env/all/reward/total": 0.515625, "env/all/reward/final_step": 0.515625, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.8125, "env/all/by_group/frac_all_good": 0.0625, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 0.011656999588012695, "time/train": 31.79579997062683, "optim/kl_sample_train_v1": 0.012674023397266865, "optim/kl_sample_train_v2": 0.016804181039333344, "optim/entropy": 0.6381821632385254, "time/compute_kl_sample_train": 0.004641294479370117, "time/save_checkpoint": 20.04889678955078, "time/total": 133.46024703979492}
|
||||
{"step": 26, "progress/batch": 26, "optim/lr": 1e-05, "progress/done_frac": 0.43548387096774194, "time/sample": 89.04018354415894, "env/all/ac_tokens_per_turn": 32.0, "env/all/ob_tokens_per_turn": 22.0, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2048, "env/all/total_ob_tokens": 1408, "env/all/reward/total": 0.65625, "env/all/reward/final_step": 0.65625, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.8125, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.014114141464233398, "time/train": 31.256276607513428, "optim/kl_sample_train_v1": 0.012740121223032475, "optim/kl_sample_train_v2": 0.0070300716906785965, "optim/entropy": 0.6006564497947693, "time/compute_kl_sample_train": 0.0046193599700927734, "time/save_checkpoint": 21.72608709335327, "time/total": 142.37148547172546}
|
||||
{"step": 27, "progress/batch": 27, "optim/lr": 1e-05, "progress/done_frac": 0.45161290322580644, "time/sample": 79.22495722770691, "env/all/ac_tokens_per_turn": 31.265625, "env/all/ob_tokens_per_turn": 21.9375, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2001, "env/all/total_ob_tokens": 1404, "env/all/reward/total": 0.75, "env/all/reward/final_step": 0.75, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.375, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.010625123977661133, "time/train": 3.0321757793426514, "optim/kl_sample_train_v1": 0.007405578158795834, "optim/kl_sample_train_v2": 0.009394883178174496, "optim/entropy": 0.6152204275131226, "time/compute_kl_sample_train": 0.0045146942138671875, "time/save_checkpoint": 20.6427960395813, "time/total": 103.2794897556305}
|
||||
{"step": 28, "progress/batch": 28, "optim/lr": 1e-05, "progress/done_frac": 0.46774193548387094, "time/sample": 65.56167006492615, "env/all/ac_tokens_per_turn": 31.546875, "env/all/ob_tokens_per_turn": 21.875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2019, "env/all/total_ob_tokens": 1400, "env/all/reward/total": 0.640625, "env/all/reward/final_step": 0.640625, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.6875, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.011781930923461914, "time/train": 49.21906566619873, "optim/kl_sample_train_v1": 0.010012175887823105, "optim/kl_sample_train_v2": 0.010131307877600193, "optim/entropy": 0.5883288383483887, "time/compute_kl_sample_train": 0.004609823226928711, "time/save_checkpoint": 22.996772050857544, "time/total": 138.20565152168274}
|
||||
{"step": 29, "progress/batch": 29, "optim/lr": 1e-05, "progress/done_frac": 0.4838709677419355, "time/sample": 73.44408440589905, "env/all/ac_tokens_per_turn": 30.625, "env/all/ob_tokens_per_turn": 22.0, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1960, "env/all/total_ob_tokens": 1408, "env/all/reward/total": 0.6875, "env/all/reward/final_step": 0.6875, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.6875, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.012837648391723633, "time/train": 6.0050928592681885, "optim/kl_sample_train_v1": 0.009001540951430798, "optim/kl_sample_train_v2": 0.008948062546551228, "optim/entropy": 0.5340085625648499, "time/compute_kl_sample_train": 0.0046617984771728516, "time/save_checkpoint": 25.86377739906311, "time/total": 105.72792840003967}
|
||||
{"step": 30, "progress/batch": 30, "optim/lr": 1e-05, "progress/done_frac": 0.5, "time/sample": 88.84210109710693, "env/all/ac_tokens_per_turn": 31.453125, "env/all/ob_tokens_per_turn": 21.875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 2013, "env/all/total_ob_tokens": 1400, "env/all/reward/total": 0.78125, "env/all/reward/final_step": 0.78125, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.5, "env/all/by_group/frac_all_good": 0.5, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.011358022689819336, "time/train": 35.626737117767334, "optim/kl_sample_train_v1": 0.008096287027001381, "optim/kl_sample_train_v2": 0.010335085913538933, "optim/entropy": 0.5504385828971863, "time/compute_kl_sample_train": 0.00469517707824707, "time/save_checkpoint": 21.066411018371582, "time/total": 145.89171886444092}
|
||||
{"step": 31, "progress/batch": 31, "optim/lr": 1e-05, "progress/done_frac": 0.5161290322580645, "time/sample": 91.2946982383728, "env/all/ac_tokens_per_turn": 30.546875, "env/all/ob_tokens_per_turn": 21.8125, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1955, "env/all/total_ob_tokens": 1396, "env/all/reward/total": 0.8125, "env/all/reward/final_step": 0.8125, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.5625, "env/all/by_group/frac_all_good": 0.4375, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.011206388473510742, "time/train": 32.51082634925842, "optim/kl_sample_train_v1": 0.009568140842020512, "optim/kl_sample_train_v2": 0.006719475146383047, "optim/entropy": 0.5507680773735046, "time/compute_kl_sample_train": 0.004777669906616211, "time/save_checkpoint": 21.6574387550354, "time/total": 145.8538269996643}
|
||||
{"step": 32, "progress/batch": 32, "optim/lr": 1e-05, "progress/done_frac": 0.532258064516129, "time/sample": 73.30674505233765, "env/all/ac_tokens_per_turn": 30.484375, "env/all/ob_tokens_per_turn": 21.9375, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1951, "env/all/total_ob_tokens": 1404, "env/all/reward/total": 0.859375, "env/all/reward/final_step": 0.859375, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.4375, "env/all/by_group/frac_all_good": 0.5625, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.01360774040222168, "time/train": 70.48878741264343, "optim/kl_sample_train_v1": 0.021197089925408363, "optim/kl_sample_train_v2": 0.010646112263202667, "optim/entropy": 0.4991070032119751, "time/compute_kl_sample_train": 0.0040912628173828125, "time/save_checkpoint": 75.43226766586304, "time/total": 219.5846881866455}
|
||||
{"step": 33, "progress/batch": 33, "optim/lr": 1e-05, "progress/done_frac": 0.5483870967741935, "time/sample": 80.72535681724548, "env/all/ac_tokens_per_turn": 30.8125, "env/all/ob_tokens_per_turn": 21.9375, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1972, "env/all/total_ob_tokens": 1404, "env/all/reward/total": 0.75, "env/all/reward/final_step": 0.75, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.375, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.011923074722290039, "time/train": 45.967562675476074, "optim/kl_sample_train_v1": 0.005412550177425146, "optim/kl_sample_train_v2": 0.008174934424459934, "optim/entropy": 0.5657733082771301, "time/compute_kl_sample_train": 0.004255771636962891, "time/save_checkpoint": 35.3053138256073, "time/total": 162.35553455352783}
|
||||
{"step": 34, "progress/batch": 34, "optim/lr": 1e-05, "progress/done_frac": 0.5645161290322581, "time/sample": 65.98912334442139, "env/all/ac_tokens_per_turn": 29.9375, "env/all/ob_tokens_per_turn": 21.875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1916, "env/all/total_ob_tokens": 1400, "env/all/reward/total": 0.828125, "env/all/reward/final_step": 0.828125, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.375, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.013167381286621094, "time/train": 60.83681011199951, "optim/kl_sample_train_v1": 0.01383658591657877, "optim/kl_sample_train_v2": 0.010859438218176365, "optim/entropy": 0.4650243818759918, "time/compute_kl_sample_train": 0.004744052886962891, "time/save_checkpoint": 27.874848127365112, "time/total": 155.0858826637268}
|
||||
{"step": 35, "progress/batch": 35, "optim/lr": 1e-05, "progress/done_frac": 0.5806451612903226, "time/sample": 72.09055709838867, "env/all/ac_tokens_per_turn": 30.515625, "env/all/ob_tokens_per_turn": 21.9375, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1953, "env/all/total_ob_tokens": 1404, "env/all/reward/total": 0.90625, "env/all/reward/final_step": 0.90625, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.25, "env/all/by_group/frac_all_good": 0.75, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.011132001876831055, "time/train": 38.260870695114136, "optim/kl_sample_train_v1": 0.0075185298919677734, "optim/kl_sample_train_v2": 0.008382080122828484, "optim/entropy": 0.46240031719207764, "time/compute_kl_sample_train": 0.0042858123779296875, "time/save_checkpoint": 30.287834405899048, "time/total": 141.08276796340942}
|
||||
{"step": 36, "progress/batch": 36, "optim/lr": 1e-05, "progress/done_frac": 0.5967741935483871, "time/sample": 65.59194421768188, "env/all/ac_tokens_per_turn": 30.15625, "env/all/ob_tokens_per_turn": 21.875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1930, "env/all/total_ob_tokens": 1400, "env/all/reward/total": 0.859375, "env/all/reward/final_step": 0.859375, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.5, "env/all/by_group/frac_all_good": 0.5, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.012541532516479492, "time/train": 64.05731558799744, "optim/kl_sample_train_v1": 0.009166305884718895, "optim/kl_sample_train_v2": 0.007543813902884722, "optim/entropy": 0.5280187129974365, "time/compute_kl_sample_train": 0.0046024322509765625, "time/save_checkpoint": 41.99224257469177, "time/total": 172.00799989700317}
|
||||
{"step": 37, "progress/batch": 37, "optim/lr": 1e-05, "progress/done_frac": 0.6129032258064516, "time/sample": 108.56997585296631, "env/all/ac_tokens_per_turn": 30.171875, "env/all/ob_tokens_per_turn": 21.75, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1931, "env/all/total_ob_tokens": 1392, "env/all/reward/total": 0.859375, "env/all/reward/final_step": 0.859375, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.3125, "env/all/by_group/frac_all_good": 0.6875, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.01047062873840332, "time/train": 69.86082029342651, "optim/kl_sample_train_v1": 0.007248633541166782, "optim/kl_sample_train_v2": 0.009139474481344223, "optim/entropy": 0.4545755982398987, "time/compute_kl_sample_train": 0.004016399383544922, "time/save_checkpoint": 22.866472005844116, "time/total": 201.72049832344055}
|
||||
{"step": 38, "progress/batch": 38, "optim/lr": 1e-05, "progress/done_frac": 0.6290322580645161, "time/sample": 75.25741600990295, "env/all/ac_tokens_per_turn": 30.28125, "env/all/ob_tokens_per_turn": 21.875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1938, "env/all/total_ob_tokens": 1400, "env/all/reward/total": 0.890625, "env/all/reward/final_step": 0.890625, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.25, "env/all/by_group/frac_all_good": 0.75, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.013581275939941406, "time/train": 76.51444911956787, "optim/kl_sample_train_v1": 0.012472244910895824, "optim/kl_sample_train_v2": 0.009330810979008675, "optim/entropy": 0.49675461649894714, "time/compute_kl_sample_train": 0.0038537979125976562, "time/save_checkpoint": 21.67009162902832, "time/total": 173.8738932609558}
|
||||
{"step": 39, "progress/batch": 39, "optim/lr": 1e-05, "progress/done_frac": 0.6451612903225806, "time/sample": 66.43095374107361, "env/all/ac_tokens_per_turn": 29.984375, "env/all/ob_tokens_per_turn": 21.9375, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1919, "env/all/total_ob_tokens": 1404, "env/all/reward/total": 0.875, "env/all/reward/final_step": 0.875, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.25, "env/all/by_group/frac_all_good": 0.6875, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 0.012901067733764648, "time/train": 46.948248624801636, "optim/kl_sample_train_v1": 0.00823282916098833, "optim/kl_sample_train_v2": 0.008610010147094727, "optim/entropy": 0.4427639842033386, "time/compute_kl_sample_train": 0.00424647331237793, "time/save_checkpoint": 40.25697350502014, "time/total": 154.04756093025208}
|
||||
{"step": 40, "progress/batch": 40, "optim/lr": 1e-05, "progress/done_frac": 0.6612903225806451, "test/env/all/ac_tokens_per_turn": 29.625, "test/env/all/ob_tokens_per_turn": 23.0, "test/env/all/turns_per_episode": 1.0, "test/env/all/total_episodes": 24, "test/env/all/total_turns": 24, "test/env/all/total_ac_tokens": 711, "test/env/all/total_ob_tokens": 552, "test/env/all/reward/total": 0.9166666666666666, "test/env/all/reward/final_step": 0.9166666666666666, "test/env/all/reward/non_empty": 1.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.9166666666666666, "test/env/all/by_group/frac_all_bad": 0.08333333333333333, "time/run_evals": 45.23754668235779, "time/sample": 85.08311057090759, "env/all/ac_tokens_per_turn": 30.09375, "env/all/ob_tokens_per_turn": 21.9375, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1926, "env/all/total_ob_tokens": 1404, "env/all/reward/total": 0.890625, "env/all/reward/final_step": 0.890625, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.25, "env/all/by_group/frac_all_good": 0.75, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.01154947280883789, "time/train": 15.97431993484497, "optim/kl_sample_train_v1": 0.010249306447803974, "optim/kl_sample_train_v2": 0.008208763785660267, "optim/entropy": 0.42957139015197754, "time/compute_kl_sample_train": 0.00479435920715332, "time/save_checkpoint": 24.74246621131897, "time/total": 171.38770246505737}
|
||||
{"step": 41, "progress/batch": 41, "optim/lr": 1e-05, "progress/done_frac": 0.6774193548387096, "time/sample": 82.0464026927948, "env/all/ac_tokens_per_turn": 29.890625, "env/all/ob_tokens_per_turn": 21.8125, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1913, "env/all/total_ob_tokens": 1396, "env/all/reward/total": 0.96875, "env/all/reward/final_step": 0.96875, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.125, "env/all/by_group/frac_all_good": 0.875, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.012315988540649414, "time/train": 49.57623100280762, "optim/kl_sample_train_v1": 0.004330736119300127, "optim/kl_sample_train_v2": 0.007180029526352882, "optim/entropy": 0.4374198913574219, "time/compute_kl_sample_train": 0.0043408870697021484, "time/save_checkpoint": 21.823362112045288, "time/total": 153.81013298034668}
|
||||
{"step": 42, "progress/batch": 42, "optim/lr": 1e-05, "progress/done_frac": 0.6935483870967742, "time/sample": 55.020325899124146, "env/all/ac_tokens_per_turn": 30.5625, "env/all/ob_tokens_per_turn": 21.875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1956, "env/all/total_ob_tokens": 1400, "env/all/reward/total": 0.953125, "env/all/reward/final_step": 0.953125, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.1875, "env/all/by_group/frac_all_good": 0.8125, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.01222848892211914, "time/train": 3.009535074234009, "optim/kl_sample_train_v1": 0.006810267921537161, "optim/kl_sample_train_v2": 0.008239944465458393, "optim/entropy": 0.4711686968803406, "time/compute_kl_sample_train": 0.004399776458740234, "time/save_checkpoint": 23.884620189666748, "time/total": 82.29447078704834}
|
||||
{"step": 43, "progress/batch": 43, "optim/lr": 1e-05, "progress/done_frac": 0.7096774193548387, "time/sample": 85.08577704429626, "env/all/ac_tokens_per_turn": 29.4375, "env/all/ob_tokens_per_turn": 21.875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1884, "env/all/total_ob_tokens": 1400, "env/all/reward/total": 0.921875, "env/all/reward/final_step": 0.921875, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.25, "env/all/by_group/frac_all_good": 0.75, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.01353907585144043, "time/train": 2.80008864402771, "optim/kl_sample_train_v1": 0.0035546869039535522, "optim/kl_sample_train_v2": 0.011771276593208313, "optim/entropy": 0.46090683341026306, "time/compute_kl_sample_train": 0.004493236541748047, "time/save_checkpoint": 28.15382409095764, "time/total": 116.39979386329651}
|
||||
{"step": 44, "progress/batch": 44, "optim/lr": 1e-05, "progress/done_frac": 0.7258064516129032, "time/sample": 68.8620674610138, "env/all/ac_tokens_per_turn": 30.046875, "env/all/ob_tokens_per_turn": 21.9375, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1923, "env/all/total_ob_tokens": 1404, "env/all/reward/total": 0.953125, "env/all/reward/final_step": 0.953125, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.1875, "env/all/by_group/frac_all_good": 0.8125, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.6906287670135498, "time/train": 17.55427885055542, "optim/kl_sample_train_v1": 0.005081550683826208, "optim/kl_sample_train_v2": 0.00783312227576971, "optim/entropy": 0.40811461210250854, "time/compute_kl_sample_train": 0.0045337677001953125, "time/save_checkpoint": 26.153340578079224, "time/total": 113.64655947685242}
|
||||
{"step": 45, "progress/batch": 45, "optim/lr": 1e-05, "progress/done_frac": 0.7419354838709677, "time/sample": 56.3270308971405, "env/all/ac_tokens_per_turn": 30.59375, "env/all/ob_tokens_per_turn": 21.625, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1958, "env/all/total_ob_tokens": 1384, "env/all/reward/total": 0.890625, "env/all/reward/final_step": 0.890625, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.4375, "env/all/by_group/frac_all_good": 0.5625, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.011850357055664062, "time/train": 18.76907181739807, "optim/kl_sample_train_v1": 0.006485472433269024, "optim/kl_sample_train_v2": 0.006487594451755285, "optim/entropy": 0.49545225501060486, "time/compute_kl_sample_train": 0.004415988922119141, "time/save_checkpoint": 48.49249053001404, "time/total": 123.9719808101654}
|
||||
{"step": 46, "progress/batch": 46, "optim/lr": 1e-05, "progress/done_frac": 0.7580645161290323, "time/sample": 49.744919776916504, "env/all/ac_tokens_per_turn": 29.421875, "env/all/ob_tokens_per_turn": 22.0, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1883, "env/all/total_ob_tokens": 1408, "env/all/reward/total": 1.0, "env/all/reward/final_step": 1.0, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.0, "env/all/by_group/frac_all_good": 1.0, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.012733697891235352, "time/train": 48.339012145996094, "optim/kl_sample_train_v1": 0.01154868584126234, "optim/kl_sample_train_v2": 0.00816221721470356, "optim/entropy": 0.38524961471557617, "time/compute_kl_sample_train": 0.004645109176635742, "time/save_checkpoint": 21.758862257003784, "time/total": 120.22213339805603}
|
||||
{"step": 47, "progress/batch": 47, "optim/lr": 1e-05, "progress/done_frac": 0.7741935483870968, "time/sample": 85.94810366630554, "env/all/ac_tokens_per_turn": 30.75, "env/all/ob_tokens_per_turn": 21.9375, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1968, "env/all/total_ob_tokens": 1404, "env/all/reward/total": 0.984375, "env/all/reward/final_step": 0.984375, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.0625, "env/all/by_group/frac_all_good": 0.9375, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.01126408576965332, "time/train": 33.47956728935242, "optim/kl_sample_train_v1": 0.006739028263837099, "optim/kl_sample_train_v2": 0.007565704640001059, "optim/entropy": 0.4147956073284149, "time/compute_kl_sample_train": 0.0044672489166259766, "time/save_checkpoint": 22.10253143310547, "time/total": 141.91418886184692}
|
||||
{"step": 48, "progress/batch": 48, "optim/lr": 1e-05, "progress/done_frac": 0.7903225806451613, "time/sample": 91.8871169090271, "env/all/ac_tokens_per_turn": 29.671875, "env/all/ob_tokens_per_turn": 21.6875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1899, "env/all/total_ob_tokens": 1388, "env/all/reward/total": 0.984375, "env/all/reward/final_step": 0.984375, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.0625, "env/all/by_group/frac_all_good": 0.9375, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.013609647750854492, "time/train": 34.29278588294983, "optim/kl_sample_train_v1": 0.008183296769857407, "optim/kl_sample_train_v2": 0.012643764726817608, "optim/entropy": 0.47604256868362427, "time/compute_kl_sample_train": 0.0042994022369384766, "time/save_checkpoint": 22.81044030189514, "time/total": 149.37309432029724}
|
||||
{"step": 49, "progress/batch": 49, "optim/lr": 1e-05, "progress/done_frac": 0.8064516129032258, "time/sample": 65.21406269073486, "env/all/ac_tokens_per_turn": 29.890625, "env/all/ob_tokens_per_turn": 22.0, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1913, "env/all/total_ob_tokens": 1408, "env/all/reward/total": 1.0, "env/all/reward/final_step": 1.0, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.0, "env/all/by_group/frac_all_good": 1.0, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.012032270431518555, "time/train": 32.70117998123169, "optim/kl_sample_train_v1": 0.013268748298287392, "optim/kl_sample_train_v2": 0.012466090731322765, "optim/entropy": 0.4192212224006653, "time/compute_kl_sample_train": 0.004331350326538086, "time/save_checkpoint": 33.40128135681152, "time/total": 131.75957441329956}
|
||||
{"step": 50, "progress/batch": 50, "optim/lr": 1e-05, "progress/done_frac": 0.8225806451612904, "time/sample": 70.28728485107422, "env/all/ac_tokens_per_turn": 29.921875, "env/all/ob_tokens_per_turn": 21.875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1915, "env/all/total_ob_tokens": 1400, "env/all/reward/total": 0.96875, "env/all/reward/final_step": 0.96875, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.125, "env/all/by_group/frac_all_good": 0.875, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.011574268341064453, "time/train": 7.615259170532227, "optim/kl_sample_train_v1": 0.010562055744230747, "optim/kl_sample_train_v2": 0.011078634299337864, "optim/entropy": 0.4368201792240143, "time/compute_kl_sample_train": 0.00457000732421875, "time/save_checkpoint": 27.690988540649414, "time/total": 105.96626782417297}
|
||||
{"step": 51, "progress/batch": 51, "optim/lr": 1e-05, "progress/done_frac": 0.8387096774193549, "time/sample": 117.65905165672302, "env/all/ac_tokens_per_turn": 30.34375, "env/all/ob_tokens_per_turn": 21.875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1942, "env/all/total_ob_tokens": 1400, "env/all/reward/total": 1.0, "env/all/reward/final_step": 1.0, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.0, "env/all/by_group/frac_all_good": 1.0, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.012402534484863281, "time/train": 44.757035970687866, "optim/kl_sample_train_v1": 0.009181131608784199, "optim/kl_sample_train_v2": 0.009574627503752708, "optim/entropy": 0.4030647873878479, "time/compute_kl_sample_train": 0.004870414733886719, "time/save_checkpoint": 24.467835664749146, "time/total": 187.3126881122589}
|
||||
{"step": 52, "progress/batch": 52, "optim/lr": 1e-05, "progress/done_frac": 0.8548387096774194, "time/sample": 86.31356453895569, "env/all/ac_tokens_per_turn": 30.5, "env/all/ob_tokens_per_turn": 21.875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1952, "env/all/total_ob_tokens": 1400, "env/all/reward/total": 0.921875, "env/all/reward/final_step": 0.921875, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.0625, "env/all/by_group/frac_all_good": 0.875, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 0.014651298522949219, "time/train": 33.12381434440613, "optim/kl_sample_train_v1": 0.004272669553756714, "optim/kl_sample_train_v2": 0.01046174205839634, "optim/entropy": 0.436117559671402, "time/compute_kl_sample_train": 0.004588603973388672, "time/save_checkpoint": 94.91273546218872, "time/total": 214.7868824005127}
|
||||
{"step": 53, "progress/batch": 53, "optim/lr": 1e-05, "progress/done_frac": 0.8709677419354839, "time/sample": 60.636337995529175, "env/all/ac_tokens_per_turn": 29.5625, "env/all/ob_tokens_per_turn": 22.0, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1892, "env/all/total_ob_tokens": 1408, "env/all/reward/total": 1.0, "env/all/reward/final_step": 1.0, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.0, "env/all/by_group/frac_all_good": 1.0, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.012305259704589844, "time/train": 37.22056746482849, "optim/kl_sample_train_v1": 0.008642495609819889, "optim/kl_sample_train_v2": 0.008487118408083916, "optim/entropy": 0.3865840435028076, "time/compute_kl_sample_train": 0.004518270492553711, "time/save_checkpoint": 41.985289573669434, "time/total": 140.24385237693787}
|
||||
{"step": 54, "progress/batch": 54, "optim/lr": 1e-05, "progress/done_frac": 0.8870967741935484, "time/sample": 80.11633777618408, "env/all/ac_tokens_per_turn": 30.34375, "env/all/ob_tokens_per_turn": 21.875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1942, "env/all/total_ob_tokens": 1400, "env/all/reward/total": 1.0, "env/all/reward/final_step": 1.0, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.0, "env/all/by_group/frac_all_good": 1.0, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.01199197769165039, "time/train": 52.95274615287781, "optim/kl_sample_train_v1": 0.0035314213018864393, "optim/kl_sample_train_v2": 0.0099013177677989, "optim/entropy": 0.4199395179748535, "time/compute_kl_sample_train": 0.0045337677001953125, "time/save_checkpoint": 21.442274570465088, "time/total": 154.87943863868713}
|
||||
{"step": 55, "progress/batch": 55, "optim/lr": 1e-05, "progress/done_frac": 0.9032258064516129, "time/sample": 59.45277810096741, "env/all/ac_tokens_per_turn": 30.03125, "env/all/ob_tokens_per_turn": 21.9375, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1922, "env/all/total_ob_tokens": 1404, "env/all/reward/total": 1.0, "env/all/reward/final_step": 1.0, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.0, "env/all/by_group/frac_all_good": 1.0, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.012592077255249023, "time/train": 41.003928422927856, "optim/kl_sample_train_v1": 0.00857520755380392, "optim/kl_sample_train_v2": 0.010501137934625149, "optim/entropy": 0.4288947284221649, "time/compute_kl_sample_train": 0.00439143180847168, "time/save_checkpoint": 25.118364572525024, "time/total": 125.97827649116516}
|
||||
{"step": 56, "progress/batch": 56, "optim/lr": 1e-05, "progress/done_frac": 0.9193548387096774, "time/sample": 76.59651780128479, "env/all/ac_tokens_per_turn": 29.96875, "env/all/ob_tokens_per_turn": 22.0, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1918, "env/all/total_ob_tokens": 1408, "env/all/reward/total": 1.0, "env/all/reward/final_step": 1.0, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.0, "env/all/by_group/frac_all_good": 1.0, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.012779712677001953, "time/train": 49.47785544395447, "optim/kl_sample_train_v1": 0.008412179537117481, "optim/kl_sample_train_v2": 0.010046093724668026, "optim/entropy": 0.399293452501297, "time/compute_kl_sample_train": 0.004647970199584961, "time/save_checkpoint": 22.592855215072632, "time/total": 149.0614161491394}
|
||||
{"step": 57, "progress/batch": 57, "optim/lr": 1e-05, "progress/done_frac": 0.9354838709677419, "time/sample": 91.7130982875824, "env/all/ac_tokens_per_turn": 31.125, "env/all/ob_tokens_per_turn": 21.8125, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1992, "env/all/total_ob_tokens": 1396, "env/all/reward/total": 1.0, "env/all/reward/final_step": 1.0, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.0, "env/all/by_group/frac_all_good": 1.0, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.011578083038330078, "time/train": 43.63263440132141, "optim/kl_sample_train_v1": 0.009316706098616123, "optim/kl_sample_train_v2": 0.010193445719778538, "optim/entropy": 0.43669557571411133, "time/compute_kl_sample_train": 0.004763126373291016, "time/save_checkpoint": 39.69705581665039, "time/total": 175.40471196174622}
|
||||
{"step": 58, "progress/batch": 58, "optim/lr": 1e-05, "progress/done_frac": 0.9516129032258065, "time/sample": 55.544106245040894, "env/all/ac_tokens_per_turn": 30.828125, "env/all/ob_tokens_per_turn": 21.875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1973, "env/all/total_ob_tokens": 1400, "env/all/reward/total": 0.953125, "env/all/reward/final_step": 0.953125, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.0625, "env/all/by_group/frac_all_good": 0.9375, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.012091875076293945, "time/train": 49.36883854866028, "optim/kl_sample_train_v1": 0.004254905506968498, "optim/kl_sample_train_v2": 0.010125596076250076, "optim/entropy": 0.4312606751918793, "time/compute_kl_sample_train": 0.004664182662963867, "time/save_checkpoint": 66.58223056793213, "time/total": 171.93599104881287}
|
||||
{"step": 59, "progress/batch": 59, "optim/lr": 1e-05, "progress/done_frac": 0.967741935483871, "time/sample": 213.95110321044922, "env/all/ac_tokens_per_turn": 31.0, "env/all/ob_tokens_per_turn": 21.875, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1984, "env/all/total_ob_tokens": 1400, "env/all/reward/total": 0.96875, "env/all/reward/final_step": 0.96875, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.0625, "env/all/by_group/frac_all_good": 0.9375, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.012141227722167969, "time/train": 49.341514587402344, "optim/kl_sample_train_v1": 0.002045758767053485, "optim/kl_sample_train_v2": 0.007948224432766438, "optim/entropy": 0.4573098421096802, "time/compute_kl_sample_train": 0.004364728927612305, "time/save_checkpoint": 42.02616333961487, "time/total": 305.69065141677856}
|
||||
{"step": 60, "progress/batch": 60, "optim/lr": 1e-05, "progress/done_frac": 0.9838709677419355, "test/env/all/ac_tokens_per_turn": 30.416666666666668, "test/env/all/ob_tokens_per_turn": 23.0, "test/env/all/turns_per_episode": 1.0, "test/env/all/total_episodes": 24, "test/env/all/total_turns": 24, "test/env/all/total_ac_tokens": 730, "test/env/all/total_ob_tokens": 552, "test/env/all/reward/total": 1.0, "test/env/all/reward/final_step": 1.0, "test/env/all/reward/non_empty": 1.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 1.0, "test/env/all/by_group/frac_all_bad": 0.0, "time/run_evals": 46.55492353439331, "time/sample": 40.82802224159241, "env/all/ac_tokens_per_turn": 30.828125, "env/all/ob_tokens_per_turn": 21.8125, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1973, "env/all/total_ob_tokens": 1396, "env/all/reward/total": 1.0, "env/all/reward/final_step": 1.0, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.0, "env/all/by_group/frac_all_good": 1.0, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.01174473762512207, "time/train": 21.969680309295654, "optim/kl_sample_train_v1": 0.009046546183526516, "optim/kl_sample_train_v2": 0.009720856323838234, "optim/entropy": 0.43647703528404236, "time/compute_kl_sample_train": 0.0045163631439208984, "time/save_checkpoint": 23.69007897377014, "time/total": 133.41108107566833}
|
||||
{"step": 61, "progress/batch": 61, "optim/lr": 1e-05, "progress/done_frac": 1.0, "time/sample": 114.67541337013245, "env/all/ac_tokens_per_turn": 30.6875, "env/all/ob_tokens_per_turn": 21.75, "env/all/turns_per_episode": 1.0, "env/all/total_episodes": 64, "env/all/total_turns": 64, "env/all/total_ac_tokens": 1964, "env/all/total_ob_tokens": 1392, "env/all/reward/total": 0.984375, "env/all/reward/final_step": 0.984375, "env/all/reward/non_empty": 1.0, "env/all/by_group/frac_mixed": 0.0625, "env/all/by_group/frac_all_good": 0.9375, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 0.01408696174621582, "time/train": 65.4162585735321, "optim/kl_sample_train_v1": 0.006170972250401974, "optim/kl_sample_train_v2": 0.009779042564332485, "optim/entropy": 0.4720946252346039, "time/compute_kl_sample_train": 0.004099369049072266, "time/save_checkpoint": 26.285223722457886, "time/total": 206.7423448562622}
|
||||
@@ -0,0 +1,501 @@
|
||||
import csv
|
||||
import json
|
||||
|
||||
import pandas as pd
|
||||
|
||||
# Price configuration
|
||||
TINKER_PRICE_TABLE = {
|
||||
"Qwen/Qwen3-4B-Instruct-2507": {
|
||||
"prompt": 0.07, # per M tokens
|
||||
"completion": 0.22,
|
||||
"training": 0.22,
|
||||
},
|
||||
"Qwen/Qwen3-30B-A3B-Instruct-2507": {
|
||||
"prompt": 0.12,
|
||||
"completion": 0.30,
|
||||
"training": 0.36,
|
||||
},
|
||||
}
|
||||
|
||||
A100_PRICE_PER_HOUR = 3.673
|
||||
|
||||
# File mappings
|
||||
training_files = {
|
||||
"q20_no_search_4b": {
|
||||
"file": "train_q20_no_search_4b.jsonl",
|
||||
"model": "Qwen/Qwen3-4B-Instruct-2507",
|
||||
"name": "Tinker Qwen3-4B",
|
||||
},
|
||||
"q20_no_search_30b": {
|
||||
"file": "train_q20_no_search_30b.jsonl",
|
||||
"model": "Qwen/Qwen3-30B-A3B-Instruct-2507",
|
||||
"name": "Tinker Qwen3-30B",
|
||||
},
|
||||
"q20_search_4b": {
|
||||
"file": "train_q20_search_4b.jsonl",
|
||||
"model": "Qwen/Qwen3-4B-Instruct-2507",
|
||||
"name": "Tinker Qwen3-4B + Tool",
|
||||
},
|
||||
}
|
||||
|
||||
verl_file = "AgentLightningQ20VERL_05kd8o8n_metrics.csv"
|
||||
|
||||
|
||||
def load_training_data(filename):
|
||||
"""Load training metrics from JSONL file."""
|
||||
data = []
|
||||
with open(filename, "r") as f:
|
||||
for line in f:
|
||||
entry = json.loads(line)
|
||||
data.append(entry)
|
||||
return data
|
||||
|
||||
|
||||
def load_verl_data(filename):
|
||||
"""Load VERL metrics from CSV file."""
|
||||
df = pd.read_csv(filename)
|
||||
return df
|
||||
|
||||
|
||||
def compute_tinker_cost(entry, model_name):
|
||||
"""Compute cost for a Tinker training step."""
|
||||
prices = TINKER_PRICE_TABLE[model_name]
|
||||
|
||||
# Get tokens
|
||||
prompt_tokens = entry.get("env/all/total_ob_tokens", 0)
|
||||
completion_tokens = entry.get("env/all/total_ac_tokens", 0)
|
||||
|
||||
# Training tokens = 4 * (prompt + completion)
|
||||
training_tokens = 4 * (prompt_tokens + completion_tokens)
|
||||
|
||||
# Calculate cost (prices are per million tokens)
|
||||
cost = (
|
||||
prompt_tokens * prices["prompt"] / 1_000_000
|
||||
+ completion_tokens * prices["completion"] / 1_000_000
|
||||
+ training_tokens * prices["training"] / 1_000_000
|
||||
)
|
||||
|
||||
return cost
|
||||
|
||||
|
||||
# Load all training data
|
||||
all_training_data = {}
|
||||
for key, config in training_files.items():
|
||||
all_training_data[key] = load_training_data(config["file"])
|
||||
|
||||
# Load VERL data
|
||||
verl_data = load_verl_data(verl_file)
|
||||
|
||||
# ===== 1. Four separate figures for training and val accuracy =====
|
||||
for key, config in training_files.items():
|
||||
data = all_training_data[key]
|
||||
|
||||
chart_data = []
|
||||
for entry in data:
|
||||
step = entry.get("step", 0)
|
||||
|
||||
# Training accuracy
|
||||
if "env/all/reward/total" in entry:
|
||||
chart_data.append({"step": step, "accuracy": entry["env/all/reward/total"], "type": "Train"})
|
||||
|
||||
# Val accuracy
|
||||
if "test/env/all/reward/total" in entry:
|
||||
chart_data.append({"step": step, "accuracy": entry["test/env/all/reward/total"], "type": "Val"})
|
||||
|
||||
vega_spec = {
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"description": f"Training and Val Accuracy - {config['name']}",
|
||||
"width": 800,
|
||||
"height": 400,
|
||||
"config": {
|
||||
"axis": {"labelFontSize": 14, "titleFontSize": 16, "titleFontWeight": "normal"},
|
||||
"legend": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 14,
|
||||
"fillColor": "white",
|
||||
"strokeColor": "#ccc",
|
||||
"padding": 10,
|
||||
"cornerRadius": 5,
|
||||
},
|
||||
},
|
||||
"data": {"values": chart_data},
|
||||
"mark": {"type": "line", "point": True, "strokeWidth": 2.5},
|
||||
"encoding": {
|
||||
"x": {
|
||||
"field": "step",
|
||||
"type": "quantitative",
|
||||
"title": "Step",
|
||||
"scale": {"domain": [0, max(d["step"] for d in chart_data)]},
|
||||
},
|
||||
"y": {"field": "accuracy", "type": "quantitative", "title": "Accuracy"},
|
||||
"color": {
|
||||
"field": "type",
|
||||
"type": "nominal",
|
||||
"title": "Type",
|
||||
"scale": {"domain": ["Train", "Val"], "range": ["#2E86AB", "#E63946"]},
|
||||
"legend": {
|
||||
"orient": "bottom-right" if "no_search" in key else "bottom-left",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
with open(f"lineplot_accuracy_{key}.json", "w") as f:
|
||||
json.dump(vega_spec, f, indent=2)
|
||||
|
||||
# VERL training and val accuracy
|
||||
verl_chart_data = []
|
||||
for _, row in verl_data.iterrows():
|
||||
step = row["_step"]
|
||||
|
||||
if pd.notna(row.get("training/reward")):
|
||||
verl_chart_data.append({"step": step, "accuracy": row["training/reward"], "type": "Train"})
|
||||
|
||||
if pd.notna(row.get("val/reward")):
|
||||
verl_chart_data.append({"step": step, "accuracy": row["val/reward"], "type": "Val"})
|
||||
|
||||
vega_spec_verl = {
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"description": "Training and Val Accuracy - VERL",
|
||||
"width": 800,
|
||||
"height": 400,
|
||||
"config": {
|
||||
"axis": {"labelFontSize": 14, "titleFontSize": 16, "titleFontWeight": "normal"},
|
||||
"legend": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 14,
|
||||
"fillColor": "white",
|
||||
"strokeColor": "#ccc",
|
||||
"padding": 10,
|
||||
"cornerRadius": 5,
|
||||
},
|
||||
},
|
||||
"data": {"values": verl_chart_data},
|
||||
"mark": {"type": "line", "point": True, "strokeWidth": 2.5},
|
||||
"encoding": {
|
||||
"x": {
|
||||
"field": "step",
|
||||
"type": "quantitative",
|
||||
"title": "Step",
|
||||
"scale": {"domain": [0, max(d["step"] for d in verl_chart_data)]},
|
||||
},
|
||||
"y": {"field": "accuracy", "type": "quantitative", "title": "Accuracy"},
|
||||
"color": {
|
||||
"field": "type",
|
||||
"type": "nominal",
|
||||
"title": "Type",
|
||||
"scale": {"domain": ["Train", "Val"], "range": ["#2E86AB", "#E63946"]},
|
||||
"legend": {
|
||||
"orient": "bottom-right",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
with open("lineplot_accuracy_verl.json", "w") as f:
|
||||
json.dump(vega_spec_verl, f, indent=2)
|
||||
|
||||
# ===== 2. Compare env/all/ac_tokens_per_turn =====
|
||||
tokens_chart_data = []
|
||||
for key in ["q20_no_search_4b", "q20_no_search_30b", "q20_search_4b"]:
|
||||
config = training_files[key]
|
||||
data = all_training_data[key]
|
||||
|
||||
for entry in data:
|
||||
step = entry.get("step", 0)
|
||||
if "env/all/ac_tokens_per_turn" in entry:
|
||||
tokens_chart_data.append(
|
||||
{
|
||||
"step": step,
|
||||
"tokens_per_turn": entry["env/all/ac_tokens_per_turn"],
|
||||
"configuration": config["name"],
|
||||
}
|
||||
)
|
||||
|
||||
vega_spec_tokens = {
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"description": "Action Tokens Per Turn Comparison",
|
||||
"width": 800,
|
||||
"height": 400,
|
||||
"config": {
|
||||
"axis": {"labelFontSize": 14, "titleFontSize": 16, "titleFontWeight": "normal"},
|
||||
"legend": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 14,
|
||||
"fillColor": "white",
|
||||
"strokeColor": "#ccc",
|
||||
"padding": 10,
|
||||
"cornerRadius": 5,
|
||||
},
|
||||
},
|
||||
"data": {"values": tokens_chart_data},
|
||||
"mark": {"type": "line", "point": True, "strokeWidth": 2.5},
|
||||
"encoding": {
|
||||
"x": {
|
||||
"field": "step",
|
||||
"type": "quantitative",
|
||||
"title": "Step",
|
||||
"scale": {"domain": [0, max(d["step"] for d in tokens_chart_data)]},
|
||||
},
|
||||
"y": {
|
||||
"field": "tokens_per_turn",
|
||||
"type": "quantitative",
|
||||
"title": "Action Tokens Per Turn",
|
||||
},
|
||||
"color": {
|
||||
"field": "configuration",
|
||||
"type": "nominal",
|
||||
"title": "Configuration",
|
||||
"scale": {
|
||||
"domain": ["Tinker Qwen3-4B", "Tinker Qwen3-30B", "Tinker Qwen3-4B + Tool"],
|
||||
"range": ["#2E86AB", "#E63946", "#06A77D"],
|
||||
},
|
||||
"legend": {
|
||||
"orient": "top-left",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
with open("lineplot_tokens_per_turn.json", "w") as f:
|
||||
json.dump(vega_spec_tokens, f, indent=2)
|
||||
|
||||
# ===== 3. Compare val accuracy vs cost =====
|
||||
cost_chart_data = []
|
||||
|
||||
# Process Tinker data
|
||||
for key in ["q20_no_search_4b", "q20_no_search_30b"]:
|
||||
config = training_files[key]
|
||||
data = all_training_data[key]
|
||||
|
||||
cumulative_cost = 0
|
||||
cost_chart_data.append(
|
||||
{
|
||||
"cost": 0,
|
||||
"val_accuracy": data[0]["test/env/all/reward/total"],
|
||||
"configuration": config["name"],
|
||||
}
|
||||
)
|
||||
for entry in data[1:]:
|
||||
step = entry.get("step", 0)
|
||||
cumulative_cost += compute_tinker_cost(entry, config["model"])
|
||||
|
||||
if "test/env/all/reward/total" in entry:
|
||||
cost_chart_data.append(
|
||||
{
|
||||
"cost": cumulative_cost,
|
||||
"val_accuracy": entry["test/env/all/reward/total"],
|
||||
"configuration": config["name"],
|
||||
}
|
||||
)
|
||||
|
||||
# Process VERL data
|
||||
cumulative_verl_cost = 0
|
||||
cost_chart_data.append(
|
||||
{
|
||||
"cost": 0,
|
||||
"val_accuracy": verl_data["val/reward"].iloc[0],
|
||||
"configuration": "VERL Qwen2.5-3B",
|
||||
}
|
||||
)
|
||||
for _, row in verl_data.iterrows():
|
||||
if pd.notna(row.get("timing_s/step")):
|
||||
# Cost = (timing_s/step / 3600) * A100_PRICE_PER_HOUR
|
||||
step_cost = (row["timing_s/step"] / 3600) * A100_PRICE_PER_HOUR
|
||||
cumulative_verl_cost += step_cost
|
||||
|
||||
if pd.notna(row.get("val/reward")):
|
||||
cost_chart_data.append(
|
||||
{
|
||||
"cost": cumulative_verl_cost,
|
||||
"val_accuracy": row["val/reward"],
|
||||
"configuration": "VERL Qwen2.5-3B",
|
||||
}
|
||||
)
|
||||
|
||||
vega_spec_cost = {
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"description": "Val Accuracy vs Cost",
|
||||
"width": 800,
|
||||
"height": 400,
|
||||
"config": {
|
||||
"axis": {"labelFontSize": 14, "titleFontSize": 16, "titleFontWeight": "normal"},
|
||||
"legend": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 14,
|
||||
"fillColor": "white",
|
||||
"strokeColor": "#ccc",
|
||||
"padding": 10,
|
||||
"cornerRadius": 5,
|
||||
},
|
||||
},
|
||||
"data": {"values": cost_chart_data},
|
||||
"mark": {"type": "line", "point": True, "strokeWidth": 2.5},
|
||||
"encoding": {
|
||||
"x": {
|
||||
"field": "cost",
|
||||
"type": "quantitative",
|
||||
"title": "Cost ($)",
|
||||
},
|
||||
"y": {"field": "val_accuracy", "type": "quantitative", "title": "Val Accuracy"},
|
||||
"color": {
|
||||
"field": "configuration",
|
||||
"type": "nominal",
|
||||
"title": "Configuration",
|
||||
"scale": {
|
||||
"domain": ["Tinker Qwen3-4B", "Tinker Qwen3-30B", "VERL Qwen2.5-3B"],
|
||||
"range": ["#2E86AB", "#E63946", "#06A77D"],
|
||||
},
|
||||
"legend": {
|
||||
"orient": "bottom-right",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
with open("lineplot_cost_vs_accuracy.json", "w") as f:
|
||||
json.dump(vega_spec_cost, f, indent=2)
|
||||
|
||||
# ===== 4. Compare val accuracy vs time =====
|
||||
time_chart_data = []
|
||||
|
||||
# Process Tinker data
|
||||
for key in ["q20_no_search_4b", "q20_no_search_30b"]:
|
||||
config = training_files[key]
|
||||
data = all_training_data[key]
|
||||
|
||||
cumulative_time = 0
|
||||
time_chart_data.append(
|
||||
{
|
||||
"time_hours": 0,
|
||||
"val_accuracy": data[0]["test/env/all/reward/total"],
|
||||
"configuration": config["name"],
|
||||
}
|
||||
)
|
||||
for entry in data[1:]:
|
||||
step = entry.get("step", 0)
|
||||
# Use time/total field if available (in seconds)
|
||||
if "time/total" in entry:
|
||||
cumulative_time += entry["time/total"]
|
||||
|
||||
if "test/env/all/reward/total" in entry:
|
||||
time_chart_data.append(
|
||||
{
|
||||
"time_hours": cumulative_time / 3600, # Convert to hours
|
||||
"val_accuracy": entry["test/env/all/reward/total"],
|
||||
"configuration": config["name"],
|
||||
}
|
||||
)
|
||||
|
||||
# Process VERL data
|
||||
cumulative_verl_time = 0
|
||||
time_chart_data.append(
|
||||
{
|
||||
"time_hours": 0,
|
||||
"val_accuracy": verl_data["val/reward"].iloc[0],
|
||||
"configuration": "VERL Qwen2.5-3B",
|
||||
}
|
||||
)
|
||||
for _, row in verl_data.iterrows():
|
||||
if pd.notna(row.get("timing_s/step")):
|
||||
cumulative_verl_time += row["timing_s/step"]
|
||||
|
||||
if pd.notna(row.get("val/reward")):
|
||||
time_chart_data.append(
|
||||
{
|
||||
"time_hours": cumulative_verl_time / 3600, # Convert to hours
|
||||
"val_accuracy": row["val/reward"],
|
||||
"configuration": "VERL Qwen2.5-3B",
|
||||
}
|
||||
)
|
||||
|
||||
vega_spec_time = {
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"description": "Val Accuracy vs Time",
|
||||
"width": 800,
|
||||
"height": 400,
|
||||
"config": {
|
||||
"axis": {"labelFontSize": 14, "titleFontSize": 16, "titleFontWeight": "normal"},
|
||||
"legend": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 14,
|
||||
"fillColor": "white",
|
||||
"strokeColor": "#ccc",
|
||||
"padding": 10,
|
||||
"cornerRadius": 5,
|
||||
},
|
||||
},
|
||||
"data": {"values": time_chart_data},
|
||||
"mark": {"type": "line", "point": True, "strokeWidth": 2.5},
|
||||
"encoding": {
|
||||
"x": {
|
||||
"field": "time_hours",
|
||||
"type": "quantitative",
|
||||
"title": "Time (hours)",
|
||||
},
|
||||
"y": {"field": "val_accuracy", "type": "quantitative", "title": "Val Accuracy"},
|
||||
"color": {
|
||||
"field": "configuration",
|
||||
"type": "nominal",
|
||||
"title": "Configuration",
|
||||
"scale": {
|
||||
"domain": ["Tinker Qwen3-4B", "Tinker Qwen3-30B", "VERL Qwen2.5-3B"],
|
||||
"range": ["#2E86AB", "#E63946", "#06A77D"],
|
||||
},
|
||||
"legend": {
|
||||
"orient": "bottom-right",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
with open("lineplot_time_vs_accuracy.json", "w") as f:
|
||||
json.dump(vega_spec_time, f, indent=2)
|
||||
|
||||
print("Created line plot specifications:")
|
||||
print(" - lineplot_accuracy_q20_no_search_4b.json")
|
||||
print(" - lineplot_accuracy_q20_no_search_30b.json")
|
||||
print(" - lineplot_accuracy_q20_search_4b.json")
|
||||
print(" - lineplot_accuracy_verl.json")
|
||||
print(" - lineplot_tokens_per_turn.json")
|
||||
print(" - lineplot_cost_vs_accuracy.json")
|
||||
print(" - lineplot_time_vs_accuracy.json")
|
||||
|
||||
# Print summary statistics
|
||||
print("\n=== Final Validation Accuracy ===")
|
||||
for key, config in training_files.items():
|
||||
data = all_training_data[key]
|
||||
final_val_acc = None
|
||||
for entry in reversed(data):
|
||||
if "test/env/all/reward/total" in entry:
|
||||
final_val_acc = entry["test/env/all/reward/total"]
|
||||
break
|
||||
if final_val_acc is not None:
|
||||
print(f"{config['name']:25s}: {final_val_acc:.4f}")
|
||||
|
||||
verl_final_val = verl_data[verl_data["val/reward"].notna()]["val/reward"].iloc[-1]
|
||||
print(f"{'VERL':25s}: {verl_final_val:.4f}")
|
||||
|
||||
print("\n=== Total Cost ===")
|
||||
for key, config in training_files.items():
|
||||
data = all_training_data[key]
|
||||
total_cost = sum(compute_tinker_cost(entry, config["model"]) for entry in data)
|
||||
print(f"{config['name']:25s}: ${total_cost:.2f}")
|
||||
|
||||
verl_total_cost = sum(
|
||||
(row["timing_s/step"] / 3600) * A100_PRICE_PER_HOUR
|
||||
for _, row in verl_data.iterrows()
|
||||
if pd.notna(row.get("timing_s/step"))
|
||||
)
|
||||
print(f"{'VERL':25s}: ${verl_total_cost:.2f}")
|
||||
|
||||
print("\n=== Total Time (hours) ===")
|
||||
for key, config in training_files.items():
|
||||
data = all_training_data[key]
|
||||
total_time = sum(entry.get("time/total", 0) for entry in data) / 3600
|
||||
print(f"{config['name']:25s}: {total_time:.2f} hours")
|
||||
|
||||
verl_total_time = (
|
||||
sum(row["timing_s/step"] for _, row in verl_data.iterrows() if pd.notna(row.get("timing_s/step"))) / 3600
|
||||
)
|
||||
print(f"{'VERL':25s}: {verl_total_time:.2f} hours")
|
||||
@@ -0,0 +1,456 @@
|
||||
{
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"description": "Training and Val Accuracy - Tinker Qwen3-30B",
|
||||
"width": 800,
|
||||
"height": 400,
|
||||
"config": {
|
||||
"axis": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 16,
|
||||
"titleFontWeight": "normal"
|
||||
},
|
||||
"legend": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 14,
|
||||
"fillColor": "white",
|
||||
"strokeColor": "#ccc",
|
||||
"padding": 10,
|
||||
"cornerRadius": 5
|
||||
}
|
||||
},
|
||||
"data": {
|
||||
"values": [
|
||||
{
|
||||
"step": 0,
|
||||
"accuracy": 0.4296875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 0,
|
||||
"accuracy": 0.45,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 1,
|
||||
"accuracy": 0.5703125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 2,
|
||||
"accuracy": 0.59375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 3,
|
||||
"accuracy": 0.578125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 4,
|
||||
"accuracy": 0.5625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 4,
|
||||
"accuracy": 0.55,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 5,
|
||||
"accuracy": 0.55078125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 6,
|
||||
"accuracy": 0.60546875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 7,
|
||||
"accuracy": 0.609375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 8,
|
||||
"accuracy": 0.56640625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 8,
|
||||
"accuracy": 0.55,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 9,
|
||||
"accuracy": 0.41015625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 10,
|
||||
"accuracy": 0.47265625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 11,
|
||||
"accuracy": 0.48828125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 12,
|
||||
"accuracy": 0.5625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 12,
|
||||
"accuracy": 0.35,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 13,
|
||||
"accuracy": 0.62109375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 14,
|
||||
"accuracy": 0.71484375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 15,
|
||||
"accuracy": 0.53515625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 16,
|
||||
"accuracy": 0.5546875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 16,
|
||||
"accuracy": 0.425,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 17,
|
||||
"accuracy": 0.48828125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 18,
|
||||
"accuracy": 0.46484375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 19,
|
||||
"accuracy": 0.484375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 20,
|
||||
"accuracy": 0.6953125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 20,
|
||||
"accuracy": 0.65,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 21,
|
||||
"accuracy": 0.6875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 22,
|
||||
"accuracy": 0.68359375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 23,
|
||||
"accuracy": 0.83984375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 24,
|
||||
"accuracy": 0.6015625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 24,
|
||||
"accuracy": 0.375,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 25,
|
||||
"accuracy": 0.30078125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 26,
|
||||
"accuracy": 0.46875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 27,
|
||||
"accuracy": 0.8203125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 28,
|
||||
"accuracy": 0.7890625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 28,
|
||||
"accuracy": 0.65,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 29,
|
||||
"accuracy": 0.73046875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 30,
|
||||
"accuracy": 0.5859375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 31,
|
||||
"accuracy": 0.51171875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 32,
|
||||
"accuracy": 0.6953125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 32,
|
||||
"accuracy": 0.475,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 33,
|
||||
"accuracy": 0.65625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 34,
|
||||
"accuracy": 0.84375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 35,
|
||||
"accuracy": 0.8125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 36,
|
||||
"accuracy": 0.87109375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 36,
|
||||
"accuracy": 0.55,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 37,
|
||||
"accuracy": 0.7734375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 38,
|
||||
"accuracy": 0.79296875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 39,
|
||||
"accuracy": 0.66796875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 40,
|
||||
"accuracy": 0.796875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 40,
|
||||
"accuracy": 0.575,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 41,
|
||||
"accuracy": 0.8125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 42,
|
||||
"accuracy": 0.6484375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 43,
|
||||
"accuracy": 0.7734375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 44,
|
||||
"accuracy": 0.53515625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 44,
|
||||
"accuracy": 0.45,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 45,
|
||||
"accuracy": 0.6484375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 46,
|
||||
"accuracy": 0.6015625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 47,
|
||||
"accuracy": 0.40234375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 48,
|
||||
"accuracy": 0.5,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 48,
|
||||
"accuracy": 0.475,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 49,
|
||||
"accuracy": 0.3515625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 50,
|
||||
"accuracy": 0.62890625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 51,
|
||||
"accuracy": 0.63671875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 52,
|
||||
"accuracy": 0.44921875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 52,
|
||||
"accuracy": 0.4,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 53,
|
||||
"accuracy": 0.5234375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 54,
|
||||
"accuracy": 0.5234375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 55,
|
||||
"accuracy": 0.3984375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 56,
|
||||
"accuracy": 0.6640625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 56,
|
||||
"accuracy": 0.45,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 57,
|
||||
"accuracy": 0.5234375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 58,
|
||||
"accuracy": 0.55859375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 59,
|
||||
"accuracy": 0.625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 60,
|
||||
"accuracy": 0.60546875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 60,
|
||||
"accuracy": 0.375,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 61,
|
||||
"accuracy": 0.44921875,
|
||||
"type": "Train"
|
||||
}
|
||||
]
|
||||
},
|
||||
"mark": {
|
||||
"type": "line",
|
||||
"point": true,
|
||||
"strokeWidth": 2.5
|
||||
},
|
||||
"encoding": {
|
||||
"x": {
|
||||
"field": "step",
|
||||
"type": "quantitative",
|
||||
"title": "Step",
|
||||
"scale": {
|
||||
"domain": [
|
||||
0,
|
||||
61
|
||||
]
|
||||
}
|
||||
},
|
||||
"y": {
|
||||
"field": "accuracy",
|
||||
"type": "quantitative",
|
||||
"title": "Accuracy"
|
||||
},
|
||||
"color": {
|
||||
"field": "type",
|
||||
"type": "nominal",
|
||||
"title": "Type",
|
||||
"scale": {
|
||||
"domain": [
|
||||
"Train",
|
||||
"Val"
|
||||
],
|
||||
"range": [
|
||||
"#2E86AB",
|
||||
"#E63946"
|
||||
]
|
||||
},
|
||||
"legend": {
|
||||
"orient": "bottom-right"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,441 @@
|
||||
{
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"description": "Training and Val Accuracy - Tinker Qwen3-4B",
|
||||
"width": 800,
|
||||
"height": 400,
|
||||
"config": {
|
||||
"axis": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 16,
|
||||
"titleFontWeight": "normal"
|
||||
},
|
||||
"legend": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 14,
|
||||
"fillColor": "white",
|
||||
"strokeColor": "#ccc",
|
||||
"padding": 10,
|
||||
"cornerRadius": 5
|
||||
}
|
||||
},
|
||||
"data": {
|
||||
"values": [
|
||||
{
|
||||
"step": 0,
|
||||
"accuracy": 0.16015625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 0,
|
||||
"accuracy": 0.075,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 1,
|
||||
"accuracy": 0.4140625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 2,
|
||||
"accuracy": 0.5859375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 3,
|
||||
"accuracy": 0.5234375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 4,
|
||||
"accuracy": 0.48828125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 4,
|
||||
"accuracy": 0.325,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 5,
|
||||
"accuracy": 0.359375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 6,
|
||||
"accuracy": 0.4140625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 7,
|
||||
"accuracy": 0.4765625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 8,
|
||||
"accuracy": 0.33984375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 8,
|
||||
"accuracy": 0.45,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 9,
|
||||
"accuracy": 0.40625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 10,
|
||||
"accuracy": 0.41796875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 11,
|
||||
"accuracy": 0.5234375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 12,
|
||||
"accuracy": 0.66015625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 12,
|
||||
"accuracy": 0.475,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 13,
|
||||
"accuracy": 0.640625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 14,
|
||||
"accuracy": 0.5703125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 15,
|
||||
"accuracy": 0.64453125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 16,
|
||||
"accuracy": 0.62109375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 16,
|
||||
"accuracy": 0.5,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 17,
|
||||
"accuracy": 0.6484375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 18,
|
||||
"accuracy": 0.578125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 19,
|
||||
"accuracy": 0.5078125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 20,
|
||||
"accuracy": 0.65625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 20,
|
||||
"accuracy": 0.5,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 21,
|
||||
"accuracy": 0.53515625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 22,
|
||||
"accuracy": 0.69140625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 23,
|
||||
"accuracy": 0.6328125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 24,
|
||||
"accuracy": 0.4765625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 24,
|
||||
"accuracy": 0.525,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 25,
|
||||
"accuracy": 0.7734375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 26,
|
||||
"accuracy": 0.56640625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 27,
|
||||
"accuracy": 0.53125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 28,
|
||||
"accuracy": 0.625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 28,
|
||||
"accuracy": 0.525,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 29,
|
||||
"accuracy": 0.53515625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 30,
|
||||
"accuracy": 0.6328125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 31,
|
||||
"accuracy": 0.5234375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 32,
|
||||
"accuracy": 0.58203125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 32,
|
||||
"accuracy": 0.6,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 33,
|
||||
"accuracy": 0.5625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 34,
|
||||
"accuracy": 0.66015625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 35,
|
||||
"accuracy": 0.64453125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 36,
|
||||
"accuracy": 0.75,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 36,
|
||||
"accuracy": 0.525,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 37,
|
||||
"accuracy": 0.63671875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 38,
|
||||
"accuracy": 0.671875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 39,
|
||||
"accuracy": 0.5859375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 40,
|
||||
"accuracy": 0.671875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 40,
|
||||
"accuracy": 0.475,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 41,
|
||||
"accuracy": 0.70703125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 42,
|
||||
"accuracy": 0.67578125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 43,
|
||||
"accuracy": 0.61328125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 44,
|
||||
"accuracy": 0.54296875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 44,
|
||||
"accuracy": 0.55,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 45,
|
||||
"accuracy": 0.546875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 46,
|
||||
"accuracy": 0.80859375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 47,
|
||||
"accuracy": 0.63671875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 48,
|
||||
"accuracy": 0.7421875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 48,
|
||||
"accuracy": 0.55,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 49,
|
||||
"accuracy": 0.66015625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 50,
|
||||
"accuracy": 0.71484375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 51,
|
||||
"accuracy": 0.77734375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 52,
|
||||
"accuracy": 0.70703125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 52,
|
||||
"accuracy": 0.6,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 53,
|
||||
"accuracy": 0.65234375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 54,
|
||||
"accuracy": 0.65234375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 55,
|
||||
"accuracy": 0.5703125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 56,
|
||||
"accuracy": 0.8046875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 56,
|
||||
"accuracy": 0.5,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 57,
|
||||
"accuracy": 0.66796875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 58,
|
||||
"accuracy": 0.8671875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 59,
|
||||
"accuracy": 0.78515625,
|
||||
"type": "Train"
|
||||
}
|
||||
]
|
||||
},
|
||||
"mark": {
|
||||
"type": "line",
|
||||
"point": true,
|
||||
"strokeWidth": 2.5
|
||||
},
|
||||
"encoding": {
|
||||
"x": {
|
||||
"field": "step",
|
||||
"type": "quantitative",
|
||||
"title": "Step",
|
||||
"scale": {
|
||||
"domain": [
|
||||
0,
|
||||
59
|
||||
]
|
||||
}
|
||||
},
|
||||
"y": {
|
||||
"field": "accuracy",
|
||||
"type": "quantitative",
|
||||
"title": "Accuracy"
|
||||
},
|
||||
"color": {
|
||||
"field": "type",
|
||||
"type": "nominal",
|
||||
"title": "Type",
|
||||
"scale": {
|
||||
"domain": [
|
||||
"Train",
|
||||
"Val"
|
||||
],
|
||||
"range": [
|
||||
"#2E86AB",
|
||||
"#E63946"
|
||||
]
|
||||
},
|
||||
"legend": {
|
||||
"orient": "bottom-right"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,206 @@
|
||||
{
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"description": "Training and Val Accuracy - Tinker Qwen3-4B + Tool",
|
||||
"width": 800,
|
||||
"height": 400,
|
||||
"config": {
|
||||
"axis": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 16,
|
||||
"titleFontWeight": "normal"
|
||||
},
|
||||
"legend": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 14,
|
||||
"fillColor": "white",
|
||||
"strokeColor": "#ccc",
|
||||
"padding": 10,
|
||||
"cornerRadius": 5
|
||||
}
|
||||
},
|
||||
"data": {
|
||||
"values": [
|
||||
{
|
||||
"step": 0,
|
||||
"accuracy": 0.53125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 0,
|
||||
"accuracy": 0.375,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 1,
|
||||
"accuracy": 0.5234375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 2,
|
||||
"accuracy": 0.5859375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 3,
|
||||
"accuracy": 0.5546875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 4,
|
||||
"accuracy": 0.5546875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 4,
|
||||
"accuracy": 0.45,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 5,
|
||||
"accuracy": 0.44921875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 6,
|
||||
"accuracy": 0.5625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 7,
|
||||
"accuracy": 0.4765625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 8,
|
||||
"accuracy": 0.48046875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 8,
|
||||
"accuracy": 0.4,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 9,
|
||||
"accuracy": 0.39453125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 10,
|
||||
"accuracy": 0.34765625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 11,
|
||||
"accuracy": 0.52734375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 12,
|
||||
"accuracy": 0.5390625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 12,
|
||||
"accuracy": 0.375,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 13,
|
||||
"accuracy": 0.65234375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 14,
|
||||
"accuracy": 0.578125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 15,
|
||||
"accuracy": 0.47265625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 16,
|
||||
"accuracy": 0.54296875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 16,
|
||||
"accuracy": 0.45,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 17,
|
||||
"accuracy": 0.47265625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 18,
|
||||
"accuracy": 0.22265625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 19,
|
||||
"accuracy": 0.08203125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 20,
|
||||
"accuracy": 0.27734375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 20,
|
||||
"accuracy": 0.2,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 21,
|
||||
"accuracy": 0.1328125,
|
||||
"type": "Train"
|
||||
}
|
||||
]
|
||||
},
|
||||
"mark": {
|
||||
"type": "line",
|
||||
"point": true,
|
||||
"strokeWidth": 2.5
|
||||
},
|
||||
"encoding": {
|
||||
"x": {
|
||||
"field": "step",
|
||||
"type": "quantitative",
|
||||
"title": "Step",
|
||||
"scale": {
|
||||
"domain": [
|
||||
0,
|
||||
21
|
||||
]
|
||||
}
|
||||
},
|
||||
"y": {
|
||||
"field": "accuracy",
|
||||
"type": "quantitative",
|
||||
"title": "Accuracy"
|
||||
},
|
||||
"color": {
|
||||
"field": "type",
|
||||
"type": "nominal",
|
||||
"title": "Type",
|
||||
"scale": {
|
||||
"domain": [
|
||||
"Train",
|
||||
"Val"
|
||||
],
|
||||
"range": [
|
||||
"#2E86AB",
|
||||
"#E63946"
|
||||
]
|
||||
},
|
||||
"legend": {
|
||||
"orient": "bottom-left"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,696 @@
|
||||
{
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"description": "Training and Val Accuracy - VERL",
|
||||
"width": 800,
|
||||
"height": 400,
|
||||
"config": {
|
||||
"axis": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 16,
|
||||
"titleFontWeight": "normal"
|
||||
},
|
||||
"legend": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 14,
|
||||
"fillColor": "white",
|
||||
"strokeColor": "#ccc",
|
||||
"padding": 10,
|
||||
"cornerRadius": 5
|
||||
}
|
||||
},
|
||||
"data": {
|
||||
"values": [
|
||||
{
|
||||
"step": 0.0,
|
||||
"accuracy": 0.1,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 1.0,
|
||||
"accuracy": 0.3046875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 2.0,
|
||||
"accuracy": 0.3046875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 3.0,
|
||||
"accuracy": 0.3046875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 4.0,
|
||||
"accuracy": 0.1953125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 4.0,
|
||||
"accuracy": 0.175,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 5.0,
|
||||
"accuracy": 0.328125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 6.0,
|
||||
"accuracy": 0.234375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 7.0,
|
||||
"accuracy": 0.3828125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 8.0,
|
||||
"accuracy": 0.140625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 8.0,
|
||||
"accuracy": 0.2,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 9.0,
|
||||
"accuracy": 0.125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 10.0,
|
||||
"accuracy": 0.3125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 11.0,
|
||||
"accuracy": 0.3125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 12.0,
|
||||
"accuracy": 0.25,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 12.0,
|
||||
"accuracy": 0.2,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 13.0,
|
||||
"accuracy": 0.28125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 14.0,
|
||||
"accuracy": 0.328125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 15.0,
|
||||
"accuracy": 0.5078125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 16.0,
|
||||
"accuracy": 0.375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 16.0,
|
||||
"accuracy": 0.225,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 17.0,
|
||||
"accuracy": 0.25,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 18.0,
|
||||
"accuracy": 0.328125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 19.0,
|
||||
"accuracy": 0.359375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 20.0,
|
||||
"accuracy": 0.3515625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 20.0,
|
||||
"accuracy": 0.3,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 21.0,
|
||||
"accuracy": 0.578125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 22.0,
|
||||
"accuracy": 0.3515625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 23.0,
|
||||
"accuracy": 0.3671875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 24.0,
|
||||
"accuracy": 0.515625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 24.0,
|
||||
"accuracy": 0.225,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 25.0,
|
||||
"accuracy": 0.3046875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 26.0,
|
||||
"accuracy": 0.5078125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 27.0,
|
||||
"accuracy": 0.40625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 28.0,
|
||||
"accuracy": 0.2578125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 28.0,
|
||||
"accuracy": 0.3,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 29.0,
|
||||
"accuracy": 0.5,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 30.0,
|
||||
"accuracy": 0.3515625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 31.0,
|
||||
"accuracy": 0.328125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 32.0,
|
||||
"accuracy": 0.34375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 32.0,
|
||||
"accuracy": 0.325,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 33.0,
|
||||
"accuracy": 0.515625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 34.0,
|
||||
"accuracy": 0.5859375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 35.0,
|
||||
"accuracy": 0.34375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 36.0,
|
||||
"accuracy": 0.578125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 36.0,
|
||||
"accuracy": 0.35,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 37.0,
|
||||
"accuracy": 0.6640625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 38.0,
|
||||
"accuracy": 0.34375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 39.0,
|
||||
"accuracy": 0.4609375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 40.0,
|
||||
"accuracy": 0.4921875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 40.0,
|
||||
"accuracy": 0.375,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 41.0,
|
||||
"accuracy": 0.6328125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 42.0,
|
||||
"accuracy": 0.71875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 43.0,
|
||||
"accuracy": 0.609375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 44.0,
|
||||
"accuracy": 0.53125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 44.0,
|
||||
"accuracy": 0.325,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 45.0,
|
||||
"accuracy": 0.421875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 46.0,
|
||||
"accuracy": 0.5859375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 47.0,
|
||||
"accuracy": 0.5078125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 48.0,
|
||||
"accuracy": 0.5390625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 48.0,
|
||||
"accuracy": 0.45,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 49.0,
|
||||
"accuracy": 0.5546875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 50.0,
|
||||
"accuracy": 0.3359375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 51.0,
|
||||
"accuracy": 0.7265625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 52.0,
|
||||
"accuracy": 0.6328125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 52.0,
|
||||
"accuracy": 0.375,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 53.0,
|
||||
"accuracy": 0.4375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 54.0,
|
||||
"accuracy": 0.59375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 55.0,
|
||||
"accuracy": 0.6484375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 56.0,
|
||||
"accuracy": 0.3671875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 56.0,
|
||||
"accuracy": 0.35,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 57.0,
|
||||
"accuracy": 0.5390625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 58.0,
|
||||
"accuracy": 0.4765625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 59.0,
|
||||
"accuracy": 0.5546875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 60.0,
|
||||
"accuracy": 0.609375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 60.0,
|
||||
"accuracy": 0.325,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 61.0,
|
||||
"accuracy": 0.7734375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 62.0,
|
||||
"accuracy": 0.421875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 63.0,
|
||||
"accuracy": 0.546875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 64.0,
|
||||
"accuracy": 0.6953125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 64.0,
|
||||
"accuracy": 0.45,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 65.0,
|
||||
"accuracy": 0.65625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 66.0,
|
||||
"accuracy": 0.4609375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 67.0,
|
||||
"accuracy": 0.671875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 68.0,
|
||||
"accuracy": 0.65625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 68.0,
|
||||
"accuracy": 0.425,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 69.0,
|
||||
"accuracy": 0.515625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 70.0,
|
||||
"accuracy": 0.4921875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 71.0,
|
||||
"accuracy": 0.5390625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 72.0,
|
||||
"accuracy": 0.3125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 72.0,
|
||||
"accuracy": 0.275,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 73.0,
|
||||
"accuracy": 0.5859375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 74.0,
|
||||
"accuracy": 0.625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 75.0,
|
||||
"accuracy": 0.6328125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 76.0,
|
||||
"accuracy": 0.6171875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 76.0,
|
||||
"accuracy": 0.325,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 77.0,
|
||||
"accuracy": 0.6328125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 78.0,
|
||||
"accuracy": 0.6328125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 79.0,
|
||||
"accuracy": 0.65625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 80.0,
|
||||
"accuracy": 0.5,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 80.0,
|
||||
"accuracy": 0.3,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 81.0,
|
||||
"accuracy": 0.6328125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 82.0,
|
||||
"accuracy": 0.5,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 83.0,
|
||||
"accuracy": 0.71875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 84.0,
|
||||
"accuracy": 0.640625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 84.0,
|
||||
"accuracy": 0.4,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 85.0,
|
||||
"accuracy": 0.5234375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 86.0,
|
||||
"accuracy": 0.609375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 87.0,
|
||||
"accuracy": 0.7734375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 88.0,
|
||||
"accuracy": 0.5234375,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 88.0,
|
||||
"accuracy": 0.325,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 89.0,
|
||||
"accuracy": 0.4921875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 90.0,
|
||||
"accuracy": 0.5390625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 91.0,
|
||||
"accuracy": 0.515625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 92.0,
|
||||
"accuracy": 0.6640625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 92.0,
|
||||
"accuracy": 0.425,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 93.0,
|
||||
"accuracy": 0.7890625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 94.0,
|
||||
"accuracy": 0.5703125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 95.0,
|
||||
"accuracy": 0.5625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 96.0,
|
||||
"accuracy": 0.4765625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 96.0,
|
||||
"accuracy": 0.475,
|
||||
"type": "Val"
|
||||
},
|
||||
{
|
||||
"step": 97.0,
|
||||
"accuracy": 0.703125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 98.0,
|
||||
"accuracy": 0.6328125,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 99.0,
|
||||
"accuracy": 0.65625,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 100.0,
|
||||
"accuracy": 0.46875,
|
||||
"type": "Train"
|
||||
},
|
||||
{
|
||||
"step": 100.0,
|
||||
"accuracy": 0.425,
|
||||
"type": "Val"
|
||||
}
|
||||
]
|
||||
},
|
||||
"mark": {
|
||||
"type": "line",
|
||||
"point": true,
|
||||
"strokeWidth": 2.5
|
||||
},
|
||||
"encoding": {
|
||||
"x": {
|
||||
"field": "step",
|
||||
"type": "quantitative",
|
||||
"title": "Step",
|
||||
"scale": {
|
||||
"domain": [
|
||||
0,
|
||||
100.0
|
||||
]
|
||||
}
|
||||
},
|
||||
"y": {
|
||||
"field": "accuracy",
|
||||
"type": "quantitative",
|
||||
"title": "Accuracy"
|
||||
},
|
||||
"color": {
|
||||
"field": "type",
|
||||
"type": "nominal",
|
||||
"title": "Type",
|
||||
"scale": {
|
||||
"domain": [
|
||||
"Train",
|
||||
"Val"
|
||||
],
|
||||
"range": [
|
||||
"#2E86AB",
|
||||
"#E63946"
|
||||
]
|
||||
},
|
||||
"legend": {
|
||||
"orient": "bottom-right"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,347 @@
|
||||
{
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"description": "Val Accuracy vs Cost",
|
||||
"width": 800,
|
||||
"height": 400,
|
||||
"config": {
|
||||
"axis": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 16,
|
||||
"titleFontWeight": "normal"
|
||||
},
|
||||
"legend": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 14,
|
||||
"fillColor": "white",
|
||||
"strokeColor": "#ccc",
|
||||
"padding": 10,
|
||||
"cornerRadius": 5
|
||||
}
|
||||
},
|
||||
"data": {
|
||||
"values": [
|
||||
{
|
||||
"cost": 0,
|
||||
"val_accuracy": 0.075,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"cost": 11.214518299999998,
|
||||
"val_accuracy": 0.325,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"cost": 23.928598299999997,
|
||||
"val_accuracy": 0.45,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"cost": 44.172534299999995,
|
||||
"val_accuracy": 0.475,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"cost": 61.376445149999995,
|
||||
"val_accuracy": 0.5,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"cost": 77.92352235,
|
||||
"val_accuracy": 0.5,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"cost": 97.3921323,
|
||||
"val_accuracy": 0.525,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"cost": 113.11717374999999,
|
||||
"val_accuracy": 0.525,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"cost": 131.3893981,
|
||||
"val_accuracy": 0.6,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"cost": 149.94232845,
|
||||
"val_accuracy": 0.525,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"cost": 163.70776709999998,
|
||||
"val_accuracy": 0.475,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"cost": 178.06634595,
|
||||
"val_accuracy": 0.55,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"cost": 194.96070215,
|
||||
"val_accuracy": 0.55,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"cost": 223.66327950000002,
|
||||
"val_accuracy": 0.6,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"cost": 247.8860155,
|
||||
"val_accuracy": 0.5,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"cost": 0,
|
||||
"val_accuracy": 0.45,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"cost": 18.348034679999998,
|
||||
"val_accuracy": 0.55,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"cost": 36.4066665,
|
||||
"val_accuracy": 0.55,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"cost": 53.618828699999995,
|
||||
"val_accuracy": 0.35,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"cost": 69.10623509999999,
|
||||
"val_accuracy": 0.425,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"cost": 89.27937563999998,
|
||||
"val_accuracy": 0.65,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"cost": 105.12481271999998,
|
||||
"val_accuracy": 0.375,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"cost": 118.43418743999999,
|
||||
"val_accuracy": 0.65,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"cost": 134.34716832,
|
||||
"val_accuracy": 0.475,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"cost": 148.77002046,
|
||||
"val_accuracy": 0.55,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"cost": 163.24947588,
|
||||
"val_accuracy": 0.575,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"cost": 178.42893636,
|
||||
"val_accuracy": 0.45,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"cost": 195.43979087999998,
|
||||
"val_accuracy": 0.475,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"cost": 213.30772913999996,
|
||||
"val_accuracy": 0.4,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"cost": 230.11164971999997,
|
||||
"val_accuracy": 0.45,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"cost": 247.20790752,
|
||||
"val_accuracy": 0.375,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"cost": 0,
|
||||
"val_accuracy": 0.1,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 4.770676390511556,
|
||||
"val_accuracy": 0.175,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 9.587738320584943,
|
||||
"val_accuracy": 0.2,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 14.620960502684383,
|
||||
"val_accuracy": 0.2,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 19.098718912799843,
|
||||
"val_accuracy": 0.225,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 24.147201265893468,
|
||||
"val_accuracy": 0.3,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 28.66900346650494,
|
||||
"val_accuracy": 0.225,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 33.47634962459037,
|
||||
"val_accuracy": 0.3,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 38.46955601493755,
|
||||
"val_accuracy": 0.325,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 42.84779342914499,
|
||||
"val_accuracy": 0.35,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 47.15873886757922,
|
||||
"val_accuracy": 0.375,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 51.041183419879324,
|
||||
"val_accuracy": 0.325,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 55.261045190994224,
|
||||
"val_accuracy": 0.45,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 59.18169967970278,
|
||||
"val_accuracy": 0.375,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 63.30254289794692,
|
||||
"val_accuracy": 0.35,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 68.08947399764628,
|
||||
"val_accuracy": 0.325,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 72.40797675581084,
|
||||
"val_accuracy": 0.45,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 76.53497794975237,
|
||||
"val_accuracy": 0.425,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 81.40697471974832,
|
||||
"val_accuracy": 0.275,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 85.61240914113371,
|
||||
"val_accuracy": 0.325,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 89.89745430964997,
|
||||
"val_accuracy": 0.3,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 94.20346553989157,
|
||||
"val_accuracy": 0.4,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 98.52909191982053,
|
||||
"val_accuracy": 0.325,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 103.0916357339543,
|
||||
"val_accuracy": 0.425,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 107.82360165101095,
|
||||
"val_accuracy": 0.475,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"cost": 112.76253944943569,
|
||||
"val_accuracy": 0.425,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
}
|
||||
]
|
||||
},
|
||||
"mark": {
|
||||
"type": "line",
|
||||
"point": true,
|
||||
"strokeWidth": 2.5
|
||||
},
|
||||
"encoding": {
|
||||
"x": {
|
||||
"field": "cost",
|
||||
"type": "quantitative",
|
||||
"title": "Cost ($)"
|
||||
},
|
||||
"y": {
|
||||
"field": "val_accuracy",
|
||||
"type": "quantitative",
|
||||
"title": "Val Accuracy"
|
||||
},
|
||||
"color": {
|
||||
"field": "configuration",
|
||||
"type": "nominal",
|
||||
"title": "Configuration",
|
||||
"scale": {
|
||||
"domain": [
|
||||
"Tinker Qwen3-4B",
|
||||
"Tinker Qwen3-30B",
|
||||
"VERL Qwen2.5-3B"
|
||||
],
|
||||
"range": [
|
||||
"#2E86AB",
|
||||
"#E63946",
|
||||
"#06A77D"
|
||||
]
|
||||
},
|
||||
"legend": {
|
||||
"orient": "bottom-right"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,347 @@
|
||||
{
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"description": "Val Accuracy vs Time",
|
||||
"width": 800,
|
||||
"height": 400,
|
||||
"config": {
|
||||
"axis": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 16,
|
||||
"titleFontWeight": "normal"
|
||||
},
|
||||
"legend": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 14,
|
||||
"fillColor": "white",
|
||||
"strokeColor": "#ccc",
|
||||
"padding": 10,
|
||||
"cornerRadius": 5
|
||||
}
|
||||
},
|
||||
"data": {
|
||||
"values": [
|
||||
{
|
||||
"time_hours": 0,
|
||||
"val_accuracy": 0.075,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"time_hours": 1.7196404964394039,
|
||||
"val_accuracy": 0.325,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"time_hours": 4.072054615351889,
|
||||
"val_accuracy": 0.45,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"time_hours": 8.669958861801359,
|
||||
"val_accuracy": 0.475,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"time_hours": 11.738096643421384,
|
||||
"val_accuracy": 0.5,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"time_hours": 15.61529880795214,
|
||||
"val_accuracy": 0.5,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"time_hours": 19.881737843553225,
|
||||
"val_accuracy": 0.525,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"time_hours": 24.140016420880954,
|
||||
"val_accuracy": 0.525,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"time_hours": 29.15398455242316,
|
||||
"val_accuracy": 0.6,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"time_hours": 33.50486885653602,
|
||||
"val_accuracy": 0.525,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"time_hours": 37.651501344243684,
|
||||
"val_accuracy": 0.475,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"time_hours": 40.826013614535334,
|
||||
"val_accuracy": 0.55,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"time_hours": 44.93091463850604,
|
||||
"val_accuracy": 0.55,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"time_hours": 50.69894654817051,
|
||||
"val_accuracy": 0.6,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"time_hours": 56.59849213812086,
|
||||
"val_accuracy": 0.5,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"time_hours": 0,
|
||||
"val_accuracy": 0.45,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"time_hours": 1.954538833565182,
|
||||
"val_accuracy": 0.55,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"time_hours": 3.448810890846782,
|
||||
"val_accuracy": 0.55,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"time_hours": 5.239143998159302,
|
||||
"val_accuracy": 0.35,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"time_hours": 6.661201940708691,
|
||||
"val_accuracy": 0.425,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"time_hours": 8.320585649079746,
|
||||
"val_accuracy": 0.65,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"time_hours": 9.676478718254302,
|
||||
"val_accuracy": 0.375,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"time_hours": 11.123958890106943,
|
||||
"val_accuracy": 0.65,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"time_hours": 12.686197584602567,
|
||||
"val_accuracy": 0.475,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"time_hours": 13.92256501171324,
|
||||
"val_accuracy": 0.55,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"time_hours": 15.830742300417688,
|
||||
"val_accuracy": 0.575,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"time_hours": 17.368327572743098,
|
||||
"val_accuracy": 0.45,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"time_hours": 18.99172936518987,
|
||||
"val_accuracy": 0.475,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"time_hours": 20.555504613320032,
|
||||
"val_accuracy": 0.4,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"time_hours": 22.479833500385283,
|
||||
"val_accuracy": 0.45,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"time_hours": 24.367097285853493,
|
||||
"val_accuracy": 0.375,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"time_hours": 0,
|
||||
"val_accuracy": 0.1,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 1.2988500927066586,
|
||||
"val_accuracy": 0.175,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 2.6103289737503252,
|
||||
"val_accuracy": 0.2,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 3.980658998825044,
|
||||
"val_accuracy": 0.2,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 5.199760117832791,
|
||||
"val_accuracy": 0.225,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 6.574244831443907,
|
||||
"val_accuracy": 0.3,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 7.805337181188386,
|
||||
"val_accuracy": 0.225,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 9.114170875194768,
|
||||
"val_accuracy": 0.3,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 10.473606320429504,
|
||||
"val_accuracy": 0.325,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 11.665612150597607,
|
||||
"val_accuracy": 0.35,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 12.839297268603113,
|
||||
"val_accuracy": 0.375,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 13.89632001630257,
|
||||
"val_accuracy": 0.325,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 15.045206967327589,
|
||||
"val_accuracy": 0.45,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 16.112632638089515,
|
||||
"val_accuracy": 0.375,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 17.23456109391422,
|
||||
"val_accuracy": 0.35,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 18.537836645152808,
|
||||
"val_accuracy": 0.325,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 19.713579296436382,
|
||||
"val_accuracy": 0.45,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 20.83718430431592,
|
||||
"val_accuracy": 0.425,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 22.16361958065568,
|
||||
"val_accuracy": 0.275,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 23.30857858457221,
|
||||
"val_accuracy": 0.325,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 24.47521217251565,
|
||||
"val_accuracy": 0.3,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 25.647553917748866,
|
||||
"val_accuracy": 0.4,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 26.825236024998787,
|
||||
"val_accuracy": 0.325,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 28.067420564648604,
|
||||
"val_accuracy": 0.425,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 29.35573145957282,
|
||||
"val_accuracy": 0.475,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
},
|
||||
{
|
||||
"time_hours": 30.700391900200305,
|
||||
"val_accuracy": 0.425,
|
||||
"configuration": "VERL Qwen2.5-3B"
|
||||
}
|
||||
]
|
||||
},
|
||||
"mark": {
|
||||
"type": "line",
|
||||
"point": true,
|
||||
"strokeWidth": 2.5
|
||||
},
|
||||
"encoding": {
|
||||
"x": {
|
||||
"field": "time_hours",
|
||||
"type": "quantitative",
|
||||
"title": "Time (hours)"
|
||||
},
|
||||
"y": {
|
||||
"field": "val_accuracy",
|
||||
"type": "quantitative",
|
||||
"title": "Val Accuracy"
|
||||
},
|
||||
"color": {
|
||||
"field": "configuration",
|
||||
"type": "nominal",
|
||||
"title": "Configuration",
|
||||
"scale": {
|
||||
"domain": [
|
||||
"Tinker Qwen3-4B",
|
||||
"Tinker Qwen3-30B",
|
||||
"VERL Qwen2.5-3B"
|
||||
],
|
||||
"range": [
|
||||
"#2E86AB",
|
||||
"#E63946",
|
||||
"#06A77D"
|
||||
]
|
||||
},
|
||||
"legend": {
|
||||
"orient": "bottom-right"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,788 @@
|
||||
{
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"description": "Action Tokens Per Turn Comparison",
|
||||
"width": 800,
|
||||
"height": 400,
|
||||
"config": {
|
||||
"axis": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 16,
|
||||
"titleFontWeight": "normal"
|
||||
},
|
||||
"legend": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 14,
|
||||
"fillColor": "white",
|
||||
"strokeColor": "#ccc",
|
||||
"padding": 10,
|
||||
"cornerRadius": 5
|
||||
}
|
||||
},
|
||||
"data": {
|
||||
"values": [
|
||||
{
|
||||
"step": 0,
|
||||
"tokens_per_turn": 10.84292082360433,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 1,
|
||||
"tokens_per_turn": 17.040462427745666,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 2,
|
||||
"tokens_per_turn": 19.226602467649712,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 3,
|
||||
"tokens_per_turn": 19.229078613694,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 4,
|
||||
"tokens_per_turn": 19.452207937395194,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 5,
|
||||
"tokens_per_turn": 18.964934409687185,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 6,
|
||||
"tokens_per_turn": 20.577408256880734,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 7,
|
||||
"tokens_per_turn": 202.28745072273324,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 8,
|
||||
"tokens_per_turn": 262.01701323251416,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 9,
|
||||
"tokens_per_turn": 303.62201656113007,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 10,
|
||||
"tokens_per_turn": 271.5405667231775,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 11,
|
||||
"tokens_per_turn": 306.1193776520509,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 12,
|
||||
"tokens_per_turn": 271.14108830237865,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 13,
|
||||
"tokens_per_turn": 293.46173469387753,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 14,
|
||||
"tokens_per_turn": 397.12382445141066,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 15,
|
||||
"tokens_per_turn": 320.1151816206147,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 16,
|
||||
"tokens_per_turn": 264.6111111111111,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 17,
|
||||
"tokens_per_turn": 238.92634643377002,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 18,
|
||||
"tokens_per_turn": 251.2981612446959,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 19,
|
||||
"tokens_per_turn": 275.0129232359783,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 20,
|
||||
"tokens_per_turn": 274.1205400192864,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 21,
|
||||
"tokens_per_turn": 363.8806929309863,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 22,
|
||||
"tokens_per_turn": 320.3224254090472,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 23,
|
||||
"tokens_per_turn": 307.72612055641423,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 24,
|
||||
"tokens_per_turn": 326.91166358106324,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 25,
|
||||
"tokens_per_turn": 237.49561557348298,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 26,
|
||||
"tokens_per_turn": 288.19513513513516,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 27,
|
||||
"tokens_per_turn": 311.4904214559387,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 28,
|
||||
"tokens_per_turn": 258.8397394136808,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 29,
|
||||
"tokens_per_turn": 311.28252480705623,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 30,
|
||||
"tokens_per_turn": 307.71352702280535,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 31,
|
||||
"tokens_per_turn": 341.4409015942826,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 32,
|
||||
"tokens_per_turn": 331.9624168834923,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 33,
|
||||
"tokens_per_turn": 350.26873156342185,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 34,
|
||||
"tokens_per_turn": 383.07463976945246,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 35,
|
||||
"tokens_per_turn": 406.3917022574741,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 36,
|
||||
"tokens_per_turn": 380.7557395558901,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 37,
|
||||
"tokens_per_turn": 236.79851411589897,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 38,
|
||||
"tokens_per_turn": 169.3174698795181,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 39,
|
||||
"tokens_per_turn": 192.09332974717591,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 40,
|
||||
"tokens_per_turn": 224.9321047526673,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 41,
|
||||
"tokens_per_turn": 237.0116318850496,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 42,
|
||||
"tokens_per_turn": 230.68977415307404,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 43,
|
||||
"tokens_per_turn": 232.1818181818182,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 44,
|
||||
"tokens_per_turn": 247.30457267283614,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 45,
|
||||
"tokens_per_turn": 318.63033305807875,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 46,
|
||||
"tokens_per_turn": 291.3779166666667,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 47,
|
||||
"tokens_per_turn": 371.8033917792469,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 48,
|
||||
"tokens_per_turn": 360.741146403797,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 49,
|
||||
"tokens_per_turn": 554.9695753928452,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 50,
|
||||
"tokens_per_turn": 605.9398252992559,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 51,
|
||||
"tokens_per_turn": 439.35208497246265,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 52,
|
||||
"tokens_per_turn": 602.9775463716238,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 53,
|
||||
"tokens_per_turn": 496.06776499844574,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 54,
|
||||
"tokens_per_turn": 503.6168253968254,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 55,
|
||||
"tokens_per_turn": 525.3027011156782,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 56,
|
||||
"tokens_per_turn": 488.0728670816551,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 57,
|
||||
"tokens_per_turn": 547.2383506537043,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 58,
|
||||
"tokens_per_turn": 412.719967199672,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 59,
|
||||
"tokens_per_turn": 419.679843444227,
|
||||
"configuration": "Tinker Qwen3-4B"
|
||||
},
|
||||
{
|
||||
"step": 0,
|
||||
"tokens_per_turn": 14.589561091340451,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 1,
|
||||
"tokens_per_turn": 16.39477503628447,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 2,
|
||||
"tokens_per_turn": 21.06334434103873,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 3,
|
||||
"tokens_per_turn": 20.642736960179473,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 4,
|
||||
"tokens_per_turn": 20.790917691579942,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 5,
|
||||
"tokens_per_turn": 22.70949720670391,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 6,
|
||||
"tokens_per_turn": 23.781633906633907,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 7,
|
||||
"tokens_per_turn": 21.777342657342658,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 8,
|
||||
"tokens_per_turn": 21.864993026499302,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 9,
|
||||
"tokens_per_turn": 21.887614678899084,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 10,
|
||||
"tokens_per_turn": 20.514492753623188,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 11,
|
||||
"tokens_per_turn": 18.67866473149492,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 12,
|
||||
"tokens_per_turn": 19.046985564675914,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 13,
|
||||
"tokens_per_turn": 19.163094440723377,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 14,
|
||||
"tokens_per_turn": 19.61511423550088,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 15,
|
||||
"tokens_per_turn": 19.29924480805538,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 16,
|
||||
"tokens_per_turn": 19.060841983852363,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 17,
|
||||
"tokens_per_turn": 19.025021085184143,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 18,
|
||||
"tokens_per_turn": 19.00432459933859,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 19,
|
||||
"tokens_per_turn": 24.367880276971185,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 20,
|
||||
"tokens_per_turn": 22.185911016949152,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 21,
|
||||
"tokens_per_turn": 21.10884930732259,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 22,
|
||||
"tokens_per_turn": 20.36131271694541,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 23,
|
||||
"tokens_per_turn": 19.981538461538463,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 24,
|
||||
"tokens_per_turn": 19.548079699682358,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 25,
|
||||
"tokens_per_turn": 19.42005076142132,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 26,
|
||||
"tokens_per_turn": 19.310438074634938,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 27,
|
||||
"tokens_per_turn": 21.395283350932772,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 28,
|
||||
"tokens_per_turn": 20.811956110480516,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 29,
|
||||
"tokens_per_turn": 19.421426157485637,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 30,
|
||||
"tokens_per_turn": 19.23582837456937,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 31,
|
||||
"tokens_per_turn": 19.12336339831248,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 32,
|
||||
"tokens_per_turn": 19.314538250533374,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 33,
|
||||
"tokens_per_turn": 19.63292181069959,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 34,
|
||||
"tokens_per_turn": 19.884480337078653,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 35,
|
||||
"tokens_per_turn": 19.873958710612097,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 36,
|
||||
"tokens_per_turn": 19.72174590802806,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 37,
|
||||
"tokens_per_turn": 19.828388401888066,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 38,
|
||||
"tokens_per_turn": 19.989621694007365,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 39,
|
||||
"tokens_per_turn": 20.14512785072564,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 40,
|
||||
"tokens_per_turn": 19.925142665323936,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 41,
|
||||
"tokens_per_turn": 19.872705018359852,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 42,
|
||||
"tokens_per_turn": 19.591796228911676,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 43,
|
||||
"tokens_per_turn": 19.65451230628988,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 44,
|
||||
"tokens_per_turn": 19.513475575519372,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 45,
|
||||
"tokens_per_turn": 19.469111969111967,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 46,
|
||||
"tokens_per_turn": 19.477763659466326,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 47,
|
||||
"tokens_per_turn": 19.225692695214107,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 48,
|
||||
"tokens_per_turn": 19.036710719530102,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 49,
|
||||
"tokens_per_turn": 18.994319585082735,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 50,
|
||||
"tokens_per_turn": 19.107879924953096,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 51,
|
||||
"tokens_per_turn": 19.60715416270972,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 52,
|
||||
"tokens_per_turn": 19.840501792114697,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 53,
|
||||
"tokens_per_turn": 19.81584699453552,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 54,
|
||||
"tokens_per_turn": 19.74383477188656,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 55,
|
||||
"tokens_per_turn": 19.94179600886918,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 56,
|
||||
"tokens_per_turn": 20.085819644653032,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 57,
|
||||
"tokens_per_turn": 21.385698808234018,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 58,
|
||||
"tokens_per_turn": 20.53149721652505,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 59,
|
||||
"tokens_per_turn": 20.40258620689655,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 60,
|
||||
"tokens_per_turn": 20.329295505259804,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 61,
|
||||
"tokens_per_turn": 20.020318930041153,
|
||||
"configuration": "Tinker Qwen3-30B"
|
||||
},
|
||||
{
|
||||
"step": 0,
|
||||
"tokens_per_turn": 122.75873221216041,
|
||||
"configuration": "Tinker Qwen3-4B + Tool"
|
||||
},
|
||||
{
|
||||
"step": 1,
|
||||
"tokens_per_turn": 158.65698895279832,
|
||||
"configuration": "Tinker Qwen3-4B + Tool"
|
||||
},
|
||||
{
|
||||
"step": 2,
|
||||
"tokens_per_turn": 192.28079967525878,
|
||||
"configuration": "Tinker Qwen3-4B + Tool"
|
||||
},
|
||||
{
|
||||
"step": 3,
|
||||
"tokens_per_turn": 182.0920598388953,
|
||||
"configuration": "Tinker Qwen3-4B + Tool"
|
||||
},
|
||||
{
|
||||
"step": 4,
|
||||
"tokens_per_turn": 221.60054137664346,
|
||||
"configuration": "Tinker Qwen3-4B + Tool"
|
||||
},
|
||||
{
|
||||
"step": 5,
|
||||
"tokens_per_turn": 228.1719982145514,
|
||||
"configuration": "Tinker Qwen3-4B + Tool"
|
||||
},
|
||||
{
|
||||
"step": 6,
|
||||
"tokens_per_turn": 201.47628789287708,
|
||||
"configuration": "Tinker Qwen3-4B + Tool"
|
||||
},
|
||||
{
|
||||
"step": 7,
|
||||
"tokens_per_turn": 205.00295358649788,
|
||||
"configuration": "Tinker Qwen3-4B + Tool"
|
||||
},
|
||||
{
|
||||
"step": 8,
|
||||
"tokens_per_turn": 159.96290671184065,
|
||||
"configuration": "Tinker Qwen3-4B + Tool"
|
||||
},
|
||||
{
|
||||
"step": 9,
|
||||
"tokens_per_turn": 264.84606015674643,
|
||||
"configuration": "Tinker Qwen3-4B + Tool"
|
||||
},
|
||||
{
|
||||
"step": 10,
|
||||
"tokens_per_turn": 230.98643315244203,
|
||||
"configuration": "Tinker Qwen3-4B + Tool"
|
||||
},
|
||||
{
|
||||
"step": 11,
|
||||
"tokens_per_turn": 253.31232002490466,
|
||||
"configuration": "Tinker Qwen3-4B + Tool"
|
||||
},
|
||||
{
|
||||
"step": 12,
|
||||
"tokens_per_turn": 122.12485939257593,
|
||||
"configuration": "Tinker Qwen3-4B + Tool"
|
||||
},
|
||||
{
|
||||
"step": 13,
|
||||
"tokens_per_turn": 130.17827598609279,
|
||||
"configuration": "Tinker Qwen3-4B + Tool"
|
||||
},
|
||||
{
|
||||
"step": 14,
|
||||
"tokens_per_turn": 60.48143274853801,
|
||||
"configuration": "Tinker Qwen3-4B + Tool"
|
||||
},
|
||||
{
|
||||
"step": 15,
|
||||
"tokens_per_turn": 164.51486138896828,
|
||||
"configuration": "Tinker Qwen3-4B + Tool"
|
||||
},
|
||||
{
|
||||
"step": 16,
|
||||
"tokens_per_turn": 217.45074780814852,
|
||||
"configuration": "Tinker Qwen3-4B + Tool"
|
||||
},
|
||||
{
|
||||
"step": 17,
|
||||
"tokens_per_turn": 16.288164912786506,
|
||||
"configuration": "Tinker Qwen3-4B + Tool"
|
||||
},
|
||||
{
|
||||
"step": 18,
|
||||
"tokens_per_turn": 15.517383254474389,
|
||||
"configuration": "Tinker Qwen3-4B + Tool"
|
||||
},
|
||||
{
|
||||
"step": 19,
|
||||
"tokens_per_turn": 10.104420884176836,
|
||||
"configuration": "Tinker Qwen3-4B + Tool"
|
||||
},
|
||||
{
|
||||
"step": 20,
|
||||
"tokens_per_turn": 9.695346197502838,
|
||||
"configuration": "Tinker Qwen3-4B + Tool"
|
||||
},
|
||||
{
|
||||
"step": 21,
|
||||
"tokens_per_turn": 8.420275192229866,
|
||||
"configuration": "Tinker Qwen3-4B + Tool"
|
||||
}
|
||||
]
|
||||
},
|
||||
"mark": {
|
||||
"type": "line",
|
||||
"point": true,
|
||||
"strokeWidth": 2.5
|
||||
},
|
||||
"encoding": {
|
||||
"x": {
|
||||
"field": "step",
|
||||
"type": "quantitative",
|
||||
"title": "Step",
|
||||
"scale": {
|
||||
"domain": [
|
||||
0,
|
||||
61
|
||||
]
|
||||
}
|
||||
},
|
||||
"y": {
|
||||
"field": "tokens_per_turn",
|
||||
"type": "quantitative",
|
||||
"title": "Action Tokens Per Turn"
|
||||
},
|
||||
"color": {
|
||||
"field": "configuration",
|
||||
"type": "nominal",
|
||||
"title": "Configuration",
|
||||
"scale": {
|
||||
"domain": [
|
||||
"Tinker Qwen3-4B",
|
||||
"Tinker Qwen3-30B",
|
||||
"Tinker Qwen3-4B + Tool"
|
||||
],
|
||||
"range": [
|
||||
"#2E86AB",
|
||||
"#E63946",
|
||||
"#06A77D"
|
||||
]
|
||||
},
|
||||
"legend": {
|
||||
"orient": "top-left"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
import json
|
||||
|
||||
import pandas as pd
|
||||
|
||||
# Read the JSONL file
|
||||
df = pd.read_json("hello-metrics.jsonl", lines=True)
|
||||
|
||||
# Extract the relevant columns
|
||||
data = []
|
||||
for _, row in df.iterrows():
|
||||
step = row["step"]
|
||||
|
||||
# Add train reward
|
||||
if "env/all/reward/total" in row and pd.notna(row["env/all/reward/total"]):
|
||||
data.append({"step": step, "reward": row["env/all/reward/total"], "type": "Train"})
|
||||
|
||||
# Add test reward if it exists
|
||||
if "test/env/all/reward/total" in row and pd.notna(row["test/env/all/reward/total"]):
|
||||
data.append({"step": step, "reward": row["test/env/all/reward/total"], "type": "Test"})
|
||||
|
||||
# Get max step for x-axis domain
|
||||
max_step = max(d["step"] for d in data)
|
||||
|
||||
# Create Vega-Lite specification
|
||||
vega_spec = {
|
||||
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
|
||||
"description": "Train and Test Rewards over Steps",
|
||||
"width": 600,
|
||||
"height": 300,
|
||||
"config": {
|
||||
"axis": {"labelFontSize": 14, "titleFontSize": 16, "titleFontWeight": "normal"},
|
||||
"legend": {
|
||||
"labelFontSize": 14,
|
||||
"titleFontSize": 14,
|
||||
"fillColor": "white",
|
||||
"strokeColor": "#ccc",
|
||||
"padding": 10,
|
||||
"cornerRadius": 5,
|
||||
},
|
||||
},
|
||||
"data": {"values": data},
|
||||
"mark": {"type": "line", "point": True, "strokeWidth": 2.5},
|
||||
"encoding": {
|
||||
"x": {"field": "step", "type": "quantitative", "title": "Step", "scale": {"domain": [0, max_step]}},
|
||||
"y": {"field": "reward", "type": "quantitative", "title": "Reward"},
|
||||
"color": {
|
||||
"field": "type",
|
||||
"type": "nominal",
|
||||
"title": "Type",
|
||||
"scale": {"domain": ["Train", "Test"], "range": ["#2E86AB", "#E63946"]},
|
||||
"legend": {"orient": "none", "legendX": 520, "legendY": 220},
|
||||
},
|
||||
"strokeDash": {"field": "type", "type": "nominal", "legend": None},
|
||||
},
|
||||
}
|
||||
|
||||
# Save as JSON
|
||||
with open("hello-metrics-chart.json", "w") as f:
|
||||
json.dump(vega_spec, f, indent=2)
|
||||
|
||||
# # Create HTML file for visualization
|
||||
# html_content = f"""<!DOCTYPE html>
|
||||
# <html>
|
||||
# <head>
|
||||
# <script src="https://cdn.jsdelivr.net/npm/vega@5"></script>
|
||||
# <script src="https://cdn.jsdelivr.net/npm/vega-lite@5"></script>
|
||||
# <script src="https://cdn.jsdelivr.net/npm/vega-embed@6"></script>
|
||||
# <title>Train vs Test Rewards</title>
|
||||
# </head>
|
||||
# <body>
|
||||
# <div id="vis"></div>
|
||||
# <script type="text/javascript">
|
||||
# var spec = {json.dumps(vega_spec, indent=2)};
|
||||
# vegaEmbed('#vis', spec);
|
||||
# </script>
|
||||
# </body>
|
||||
# </html>"""
|
||||
|
||||
# with open("hello-metrics-chart.html", "w") as f:
|
||||
# f.write(html_content)
|
||||
|
||||
# print("Created hello-metrics-chart.json and hello-metrics-chart.html")
|
||||
# print(f"Total data points: {len(data)}")
|
||||
# print(f"Train points: {sum(1 for d in data if d['type'] == 'train')}")
|
||||
# print(f"Test points: {sum(1 for d in data if d['type'] == 'test')}")
|
||||
@@ -0,0 +1,503 @@
|
||||
hello before
|
||||
|
||||
<|im_start|>user
|
||||
Let's play a game. Say you are 776.<|im_end|>
|
||||
<|im_start|>assistant
|
||||
Hey there! I'm actually not 776, but I'm excited to play with you! 😊 What kind of game would you like to play
|
||||
|
||||
hello after
|
||||
|
||||
Let's play a game. Say you are 777.<|im_end|>
|
||||
<|im_start|>assistant
|
||||
Alright, I'm 777! 🔢✨
|
||||
I'm a number with a cool vibe—three sevens in a row, infinite possibilities,
|
||||
|
||||
4B before
|
||||
|
||||
<|im_start|>system
|
||||
You are Player in a game of 20 questions. A focused reasoner who uses binary-partition questions to narrow down the remaining possibilities.
|
||||
Your personal goal is: Minimize uncertainty and identify the hidden entity within 20 yes/no questions.
|
||||
|
||||
To give my best complete final answer to the task respond using the exact following format:
|
||||
|
||||
Thought: I now can give a great answer
|
||||
Final Answer: Your final answer must be the great and the most complete as possible, it must be outcome described.
|
||||
|
||||
I MUST use these formats, my job depends on it!<|im_end|>
|
||||
<|im_start|>user
|
||||
You are playing 20 Questions as the **Player**.
|
||||
Ask one high-information **yes/no** question that most reduces the remaining possibility space.
|
||||
If you think you have figured out the secret entity, ask a direct guess in the form: **"Is it <entity>?"**
|
||||
|
||||
THIS IS TURN #11 OF 20. You have 10 turns left. The quicker you make a correct guess, the higher your score.
|
||||
|
||||
## Important assumptions
|
||||
- Your answer BELONGS TO the category of "animal".
|
||||
- The answer is **straightforward, familiar, and commonly known**. They can be at most 3 words long (and only one word long in a majority of cases).
|
||||
- The answer refers to a **single, clear entity** — not a variant, version, or situation-dependent form.
|
||||
|
||||
## What you have: Game history (Q/A pairs):
|
||||
|
||||
Question #1: Is it a mammal?
|
||||
Response #1: no
|
||||
|
||||
Question #2: Is it a cold-blooded animal?
|
||||
Response #2: yes
|
||||
|
||||
Question #3: Can it lay eggs?
|
||||
Response #3: yes
|
||||
|
||||
Question #4: Does it have four legs?
|
||||
Response #4: no
|
||||
|
||||
Question #5: Does it live in water?
|
||||
Response #5: no
|
||||
|
||||
Question #6: Does it have fins?
|
||||
Response #6: no
|
||||
|
||||
Question #7: Does it have wings?
|
||||
Response #7: no
|
||||
|
||||
Question #8: Does it have a backbone?
|
||||
Response #8: no
|
||||
|
||||
Question #9: Does it have a head?
|
||||
Response #9: no
|
||||
|
||||
Question #10: Does it have a body made of cells?
|
||||
Response #10: yes
|
||||
|
||||
## Strategy guidelines (concise, practical)
|
||||
- **Start broad, then narrow**: prioritize sub-category-level splits first (within animal), then mid-level properties, then identifiers.
|
||||
- **Binary partitioning**: prefer questions that split the remaining set near the middle.
|
||||
- **Property over identity**: ask about features/roles/usages before naming brands, species, or specific titles.
|
||||
- **Contradiction guard**: if past answers imply a contradiction, ask a short reset/sanity-check question to reconcile.
|
||||
- **n/a handling**: if the last answer was **n/a**, pivot wording to a clearer, factual property.
|
||||
- **Endgame**: if you have only one turn left, make a direct guess.
|
||||
|
||||
## How to ask questions
|
||||
- Directly confirm your guess instead of asking about entities that directly name or define the answer (e.g., "Is it a type of pizza?" if "Pizza" is an option).
|
||||
- Avoid questions that depend on subjective or situational conditions (e.g., "Would most people consider it artistic?").
|
||||
- You are encouraged to use the search tool to check factual details or implications behind your potential question. This helps ensure your reasoning is grounded, accurate, and avoids irrelevant or trivial inquiries. However, you can only use the search tool at most once for each question; you must not use the search tool consecutively without asking a question in between.
|
||||
|
||||
## Output format (critical)
|
||||
|
||||
- Output **only** one yes/no question on a single line.
|
||||
- No preamble, no numbering, no quotes, no meta commentary.
|
||||
- Keep it concise, under 50 words.
|
||||
- If guessing: use the form **Is it <entity>?**
|
||||
|
||||
Now produce your single best next question.<|im_end|>
|
||||
<|im_start|>assistant
|
||||
[31mDoes it have a gut?<|im_end|>
|
||||
|
||||
--------
|
||||
|
||||
4B middle:
|
||||
|
||||
<|im_start|>system
|
||||
You are Player in a game of 20 questions. A focused reasoner who uses binary-partition questions to narrow down the remaining possibilities.
|
||||
Your personal goal is: Minimize uncertainty and identify the hidden entity within 20 yes/no questions.
|
||||
|
||||
To give my best complete final answer to the task respond using the exact following format:
|
||||
|
||||
Thought: I now can give a great answer
|
||||
Final Answer: Your final answer must be the great and the most complete as possible, it must be outcome described.
|
||||
|
||||
I MUST use these formats, my job depends on it!<|im_end|>
|
||||
<|im_start|>user
|
||||
You are playing 20 Questions as the **Player**.
|
||||
Ask one high-information **yes/no** question that most reduces the remaining possibility space.
|
||||
If you think you have figured out the secret entity, ask a direct guess in the form: **"Is it <entity>?"**
|
||||
|
||||
THIS IS TURN #6 OF 20. You have 15 turns left. The quicker you make a correct guess, the higher your score.
|
||||
|
||||
## Important assumptions
|
||||
- Your answer BELONGS TO the category of "character".
|
||||
- The answer is **straightforward, familiar, and commonly known**. They can be at most 3 words long (and only one word long in a majority of cases).
|
||||
- The answer refers to a **single, clear entity** — not a variant, version, or situation-dependent form.
|
||||
|
||||
## What you have: Game history (Q/A pairs):
|
||||
|
||||
Question #1: Is it a superhero?
|
||||
Response #1: no
|
||||
|
||||
Question #2: Is it from a book?
|
||||
Response #2: no
|
||||
|
||||
Question #3: Is it a real person?
|
||||
Response #3: no
|
||||
|
||||
Question #4: Is it an animal?
|
||||
Response #4: yes
|
||||
|
||||
Question #5: Is it a domestic animal?
|
||||
Response #5: no
|
||||
|
||||
## Strategy guidelines (concise, practical)
|
||||
- **Start broad, then narrow**: prioritize sub-category-level splits first (within character), then mid-level properties, then identifiers.
|
||||
- **Binary partitioning**: prefer questions that split the remaining set near the middle.
|
||||
- **Property over identity**: ask about features/roles/usages before naming brands, species, or specific titles.
|
||||
- **Contradiction guard**: if past answers imply a contradiction, ask a short reset/sanity-check question to reconcile.
|
||||
- **n/a handling**: if the last answer was **n/a**, pivot wording to a clearer, factual property.
|
||||
- **Endgame**: if you have only one turn left, make a direct guess.
|
||||
|
||||
## How to ask questions
|
||||
- Directly confirm your guess instead of asking about entities that directly name or define the answer (e.g., "Is it a type of pizza?" if "Pizza" is an option).
|
||||
- Avoid questions that depend on subjective or situational conditions (e.g., "Would most people consider it artistic?").
|
||||
- You are encouraged to use the search tool to check factual details or implications behind your potential question. This helps ensure your reasoning is grounded, accurate, and avoids irrelevant or trivial inquiries. However, you can only use the search tool at most once for each question; you must not use the search tool consecutively without asking a question in between.
|
||||
|
||||
## Output format (critical)
|
||||
|
||||
- Output **only** one yes/no question on a single line.
|
||||
- No preamble, no numbering, no quotes, no meta commentary.
|
||||
- Keep it concise, under 50 words.
|
||||
- If guessing: use the form **Is it <entity>?**
|
||||
|
||||
Now produce your single best next question.<|im_end|>
|
||||
<|im_start|>assistant
|
||||
Thought: The entity is an animal (from Q4), not domestic (Q5), not a superhero or from a book or real person. So it’s a wild animal. Possible candidates: lion, tiger, wolf, bear, etc. Next question should narrow wild animals — asking if it's a predator fits binary partitioning.
|
||||
Final Answer: Is it a predator?<|im_end|>
|
||||
|
||||
|
||||
--------------
|
||||
|
||||
4B After:
|
||||
|
||||
|
||||
<|im_start|>system
|
||||
You are Player in a game of 20 questions. A focused reasoner who uses binary-partition questions to narrow down the remaining possibilities.
|
||||
Your personal goal is: Minimize uncertainty and identify the hidden entity within 20 yes/no questions.
|
||||
|
||||
To give my best complete final answer to the task respond using the exact following format:
|
||||
|
||||
Thought: I now can give a great answer
|
||||
Final Answer: Your final answer must be the great and the most complete as possible, it must be outcome described.
|
||||
|
||||
I MUST use these formats, my job depends on it!<|im_end|>
|
||||
<|im_start|>user
|
||||
You are playing 20 Questions as the **Player**.
|
||||
Ask one high-information **yes/no** question that most reduces the remaining possibility space.
|
||||
If you think you have figured out the secret entity, ask a direct guess in the form: **"Is it <entity>?"**
|
||||
|
||||
THIS IS TURN #11 OF 20. You have 10 turns left. The quicker you make a correct guess, the higher your score.
|
||||
|
||||
## Important assumptions
|
||||
- Your answer BELONGS TO the category of "flower".
|
||||
- The answer is **straightforward, familiar, and commonly known**. They can be at most 3 words long (and only one word long in a majority of cases).
|
||||
- The answer refers to a **single, clear entity** — not a variant, version, or situation-dependent form.
|
||||
|
||||
## What you have: Game history (Q/A pairs):
|
||||
|
||||
Question #1: Is it a rose?
|
||||
Response #1: no
|
||||
|
||||
Question #2: Is it a daisy?
|
||||
Response #2: no
|
||||
|
||||
Question #3: Is it a sunflower?
|
||||
Response #3: no
|
||||
|
||||
Question #4: Is it a lily?
|
||||
Response #4: no
|
||||
|
||||
Question #5: Is it a tulip?
|
||||
Response #5: no
|
||||
|
||||
Question #6: Is it an iris?
|
||||
Response #6: no
|
||||
|
||||
Question #7: Is it a carnation?
|
||||
Response #7: no
|
||||
|
||||
Question #8: Is it a peony?
|
||||
Response #8: no
|
||||
|
||||
Question #9: Is it an orchid?
|
||||
Response #9: no
|
||||
|
||||
Question #10: Is it a hyacinth?
|
||||
Response #10: no
|
||||
|
||||
## Strategy guidelines (concise, practical)
|
||||
- **Start broad, then narrow**: prioritize sub-category-level splits first (within flower), then mid-level properties, then identifiers.
|
||||
- **Binary partitioning**: prefer questions that split the remaining set near the middle.
|
||||
- **Property over identity**: ask about features/roles/usages before naming brands, species, or specific titles.
|
||||
- **Contradiction guard**: if past answers imply a contradiction, ask a short reset/sanity-check question to reconcile.
|
||||
- **n/a handling**: if the last answer was **n/a**, pivot wording to a clearer, factual property.
|
||||
- **Endgame**: if you have only one turn left, make a direct guess.
|
||||
|
||||
## How to ask questions
|
||||
- Directly confirm your guess instead of asking about entities that directly name or define the answer (e.g., "Is it a type of pizza?" if "Pizza" is an option).
|
||||
- Avoid questions that depend on subjective or situational conditions (e.g., "Would most people consider it artistic?").
|
||||
- You are encouraged to use the search tool to check factual details or implications behind your potential question. This helps ensure your reasoning is grounded, accurate, and avoids irrelevant or trivial inquiries. However, you can only use the search tool at most once for each question; you must not use the search tool consecutively without asking a question in between.
|
||||
|
||||
## Output format (critical)
|
||||
|
||||
- Output **only** one yes/no question on a single line.
|
||||
- No preamble, no numbering, no quotes, no meta commentary.
|
||||
- Keep it concise, under 50 words.
|
||||
- If guessing: use the form **Is it <entity>?**
|
||||
|
||||
Now produce your single best next question.<|im_end|>
|
||||
<|im_start|>assistant
|
||||
[31mThought: So far, eliminated are common roses, daisies, sunflowers, lilies, tulips, irises, carnations, peonies, orchids, hyacinths. Remaining common flowers include: lotus, chamomile, marigold, poppy, dahlia, hibiscus, aster, cosmos, iris (already out), iris-related (no). Poppy is common, not ruled out. Dahlia is common. Hibiscus is common. Aster, cosmos, chamomile. "Poppy" is a straightforward, familiar flower. "Dahlia" is also common. Among these, "dahlia" is less commonly known than "poppy" but still familiar. "Hibiscus" is common in tropics and often called a flower. But "poppy" is a strong candidate — it's well known, satisfies "common and familiar", and not ruled out. No "poppy" in previous list. So it's a plausible guess.
|
||||
[31m
|
||||
[31mFinal Answer: Is it a poppy?<|im_end|>
|
||||
|
||||
|
||||
---------------------
|
||||
|
||||
30B before:
|
||||
|
||||
<|im_start|>system
|
||||
You are Player in a game of 20 questions. A focused reasoner who uses binary-partition questions to narrow down the remaining possibilities.
|
||||
Your personal goal is: Minimize uncertainty and identify the hidden entity within 20 yes/no questions.
|
||||
|
||||
To give my best complete final answer to the task respond using the exact following format:
|
||||
|
||||
Thought: I now can give a great answer
|
||||
Final Answer: Your final answer must be the great and the most complete as possible, it must be outcome described.
|
||||
|
||||
I MUST use these formats, my job depends on it!<|im_end|>
|
||||
<|im_start|>user
|
||||
You are playing 20 Questions as the **Player**.
|
||||
Ask one high-information **yes/no** question that most reduces the remaining possibility space.
|
||||
If you think you have figured out the secret entity, ask a direct guess in the form: **"Is it <entity>?"**
|
||||
|
||||
THIS IS TURN #11 OF 20. You have 10 turns left. The quicker you make a correct guess, the higher your score.
|
||||
|
||||
## Important assumptions
|
||||
- Your answer BELONGS TO the category of "animal".
|
||||
- The answer is **straightforward, familiar, and commonly known**. They can be at most 3 words long (and only one word long in a majority of cases).
|
||||
- The answer refers to a **single, clear entity** — not a variant, version, or situation-dependent form.
|
||||
|
||||
## What you have: Game history (Q/A pairs):
|
||||
|
||||
Question #1: Is it a mammal?
|
||||
Response #1: no
|
||||
|
||||
Question #2: Is it a bird?
|
||||
Response #2: no
|
||||
|
||||
Question #3: Is it a reptile?
|
||||
Response #3: no
|
||||
|
||||
Question #4: Is it an insect?
|
||||
Response #4: no
|
||||
|
||||
Question #5: Is it a fish?
|
||||
Response #5: no
|
||||
|
||||
Question #6: Is it a cephalopod?
|
||||
Response #6: no
|
||||
|
||||
Question #7: Is it a vertebrate?
|
||||
Response #7: no
|
||||
|
||||
Question #8: Is it a crustacean?
|
||||
Response #8: no
|
||||
|
||||
Question #9: Is it a mollusk?
|
||||
Response #9: no
|
||||
|
||||
Question #10: Is it a jellyfish?
|
||||
Response #10: no
|
||||
|
||||
## Strategy guidelines (concise, practical)
|
||||
- **Start broad, then narrow**: prioritize sub-category-level splits first (within animal), then mid-level properties, then identifiers.
|
||||
- **Binary partitioning**: prefer questions that split the remaining set near the middle.
|
||||
- **Property over identity**: ask about features/roles/usages before naming brands, species, or specific titles.
|
||||
- **Contradiction guard**: if past answers imply a contradiction, ask a short reset/sanity-check question to reconcile.
|
||||
- **n/a handling**: if the last answer was **n/a**, pivot wording to a clearer, factual property.
|
||||
- **Endgame**: if you have only one turn left, make a direct guess.
|
||||
|
||||
## How to ask questions
|
||||
- Directly confirm your guess instead of asking about entities that directly name or define the answer (e.g., "Is it a type of pizza?" if "Pizza" is an option).
|
||||
- Avoid questions that depend on subjective or situational conditions (e.g., "Would most people consider it artistic?").
|
||||
- You are encouraged to use the search tool to check factual details or implications behind your potential question. This helps ensure your reasoning is grounded, accurate, and avoids irrelevant or trivial inquiries. However, you can only use the search tool at most once for each question; you must not use the search tool consecutively without asking a question in between.
|
||||
|
||||
## Output format (critical)
|
||||
|
||||
- Output **only** one yes/no question on a single line.
|
||||
- No preamble, no numbering, no quotes, no meta commentary.
|
||||
- Keep it concise, under 50 words.
|
||||
- If guessing: use the form **Is it <entity>?**
|
||||
|
||||
Now produce your single best next question.<|im_end|>
|
||||
<|im_start|>assistant
|
||||
[31mIs it a starfish?<|im_end|>
|
||||
|
||||
|
||||
30B middle:
|
||||
|
||||
<|im_start|>system
|
||||
You are Player in a game of 20 questions. A focused reasoner who uses binary-partition questions to narrow down the remaining possibilities.
|
||||
Your personal goal is: Minimize uncertainty and identify the hidden entity within 20 yes/no questions.
|
||||
|
||||
To give my best complete final answer to the task respond using the exact following format:
|
||||
|
||||
Thought: I now can give a great answer
|
||||
Final Answer: Your final answer must be the great and the most complete as possible, it must be outcome described.
|
||||
|
||||
I MUST use these formats, my job depends on it!<|im_end|>
|
||||
<|im_start|>user
|
||||
You are playing 20 Questions as the **Player**.
|
||||
Ask one high-information **yes/no** question that most reduces the remaining possibility space.
|
||||
If you think you have figured out the secret entity, ask a direct guess in the form: **"Is it <entity>?"**
|
||||
|
||||
THIS IS TURN #10 OF 20. You have 11 turns left. The quicker you make a correct guess, the higher your score.
|
||||
|
||||
## Important assumptions
|
||||
- Your answer BELONGS TO the category of "character".
|
||||
- The answer is **straightforward, familiar, and commonly known**. They can be at most 3 words long (and only one word long in a majority of cases).
|
||||
- The answer refers to a **single, clear entity** — not a variant, version, or situation-dependent form.
|
||||
|
||||
## What you have: Game history (Q/A pairs):
|
||||
|
||||
Question #1: Is it a fictional character?
|
||||
Response #1: yes
|
||||
|
||||
Question #2: Is it a character from a well-known children's book?
|
||||
Response #2: no
|
||||
|
||||
Question #3: Is it a character from a famous anime or manga?
|
||||
Response #3: no
|
||||
|
||||
Question #4: Is it a character from a major superhero comic book series?
|
||||
Response #4: no
|
||||
|
||||
Question #5: Is it a character from a classic literary work?
|
||||
Response #5: no
|
||||
|
||||
Question #6: Is it a character from a famous play?
|
||||
Response #6: no
|
||||
|
||||
Question #7: Is it a character from a famous film or television show?
|
||||
Response #7: yes
|
||||
|
||||
Question #8: Is it a character from a widely popular TV series that aired in the 21st century?
|
||||
Response #8: yes
|
||||
|
||||
Question #9: Is it a character from a TV show that aired on a major network in the United States?
|
||||
Response #9: yes
|
||||
|
||||
## Strategy guidelines (concise, practical)
|
||||
- **Start broad, then narrow**: prioritize sub-category-level splits first (within character), then mid-level properties, then identifiers.
|
||||
- **Binary partitioning**: prefer questions that split the remaining set near the middle.
|
||||
- **Property over identity**: ask about features/roles/usages before naming brands, species, or specific titles.
|
||||
- **Contradiction guard**: if past answers imply a contradiction, ask a short reset/sanity-check question to reconcile.
|
||||
- **n/a handling**: if the last answer was **n/a**, pivot wording to a clearer, factual property.
|
||||
- **Endgame**: if you have only one turn left, make a direct guess.
|
||||
|
||||
## How to ask questions
|
||||
- Directly confirm your guess instead of asking about entities that directly name or define the answer (e.g., "Is it a type of pizza?" if "Pizza" is an option).
|
||||
- Avoid questions that depend on subjective or situational conditions (e.g., "Would most people consider it artistic?").
|
||||
- You are encouraged to use the search tool to check factual details or implications behind your potential question. This helps ensure your reasoning is grounded, accurate, and avoids irrelevant or trivial inquiries. However, you can only use the search tool at most once for each question; you must not use the search tool consecutively without asking a question in between.
|
||||
|
||||
## Output format (critical)
|
||||
|
||||
- Output **only** one yes/no question on a single line.
|
||||
- No preamble, no numbering, no quotes, no meta commentary.
|
||||
- Keep it concise, under 50 words.
|
||||
- If guessing: use the form **Is it <entity>?**
|
||||
|
||||
Now produce your single best next question.<|im_end|>
|
||||
<|im_start|>assistant
|
||||
[31mThought: I now can give a great answer
|
||||
[31mFinal Answer: Is it a character from a TV show that is widely considered a cultural phenomenon?<|im_end|>
|
||||
|
||||
|
||||
30B later:
|
||||
|
||||
<|im_start|>system
|
||||
You are Player in a game of 20 questions. A focused reasoner who uses binary-partition questions to narrow down the remaining possibilities.
|
||||
Your personal goal is: Minimize uncertainty and identify the hidden entity within 20 yes/no questions.
|
||||
|
||||
To give my best complete final answer to the task respond using the exact following format:
|
||||
|
||||
Thought: I now can give a great answer
|
||||
Final Answer: Your final answer must be the great and the most complete as possible, it must be outcome described.
|
||||
|
||||
I MUST use these formats, my job depends on it!<|im_end|>
|
||||
<|im_start|>user
|
||||
You are playing 20 Questions as the **Player**.
|
||||
Ask one high-information **yes/no** question that most reduces the remaining possibility space.
|
||||
If you think you have figured out the secret entity, ask a direct guess in the form: **"Is it <entity>?"**
|
||||
|
||||
THIS IS TURN #15 OF 20. You have 6 turns left. The quicker you make a correct guess, the higher your score.
|
||||
|
||||
## Important assumptions
|
||||
- Your answer BELONGS TO the category of "celebrity".
|
||||
- The answer is **straightforward, familiar, and commonly known**. They can be at most 3 words long (and only one word long in a majority of cases).
|
||||
- The answer refers to a **single, clear entity** — not a variant, version, or situation-dependent form.
|
||||
|
||||
## What you have: Game history (Q/A pairs):
|
||||
|
||||
Question #1: Is it Marilyn Monroe?
|
||||
Response #1: no
|
||||
|
||||
Question #2: Is it Elvis?
|
||||
Response #2: no
|
||||
|
||||
Question #3: Is it Freddie Mercury?
|
||||
Response #3: no
|
||||
|
||||
Question #4: Is it Albert Einstein?
|
||||
Response #4: no
|
||||
|
||||
Question #5: Is it Audrey Hepburn?
|
||||
Response #5: no
|
||||
|
||||
Question #6: Is it David Bowie?
|
||||
Response #6: no
|
||||
|
||||
Question #7: Is it Muhammad Ali?
|
||||
Response #7: no
|
||||
|
||||
Question #8: Is it Gandalf?
|
||||
Response #8: no
|
||||
|
||||
Question #9: Is it Bruce Lee?
|
||||
Response #9: no
|
||||
|
||||
Question #10: Is it Kobe?
|
||||
Response #10: no
|
||||
|
||||
Question #11: Is it Einstein?
|
||||
Response #11: no
|
||||
|
||||
Question #12: Is it Freddie?
|
||||
Response #12: no
|
||||
|
||||
Question #13: Is it Michael Jackson?
|
||||
Response #13: no
|
||||
|
||||
Question #14: Is it Amy Winehouse?
|
||||
Response #14: no
|
||||
|
||||
## Strategy guidelines (concise, practical)
|
||||
- **Start broad, then narrow**: prioritize sub-category-level splits first (within celebrity), then mid-level properties, then identifiers.
|
||||
- **Binary partitioning**: prefer questions that split the remaining set near the middle.
|
||||
- **Property over identity**: ask about features/roles/usages before naming brands, species, or specific titles.
|
||||
- **Contradiction guard**: if past answers imply a contradiction, ask a short reset/sanity-check question to reconcile.
|
||||
- **n/a handling**: if the last answer was **n/a**, pivot wording to a clearer, factual property.
|
||||
- **Endgame**: if you have only one turn left, make a direct guess.
|
||||
|
||||
## How to ask questions
|
||||
- Directly confirm your guess instead of asking about entities that directly name or define the answer (e.g., "Is it a type of pizza?" if "Pizza" is an option).
|
||||
- Avoid questions that depend on subjective or situational conditions (e.g., "Would most people consider it artistic?").
|
||||
- You are encouraged to use the search tool to check factual details or implications behind your potential question. This helps ensure your reasoning is grounded, accurate, and avoids irrelevant or trivial inquiries. However, you can only use the search tool at most once for each question; you must not use the search tool consecutively without asking a question in between.
|
||||
|
||||
## Output format (critical)
|
||||
|
||||
- Output **only** one yes/no question on a single line.
|
||||
- No preamble, no numbering, no quotes, no meta commentary.
|
||||
- Keep it concise, under 50 words.
|
||||
- If guessing: use the form **Is it <entity>?**
|
||||
|
||||
Now produce your single best next question.<|im_end|>
|
||||
<|im_start|>assistant
|
||||
Thought: I now can give a great answer.
|
||||
Final Answer: Is it John Lennon?<|im_end|>
|
||||
@@ -0,0 +1,62 @@
|
||||
{"step": 0, "progress/batch": 0, "optim/lr": 0.0001, "progress/done_frac": 0.01, "test/env/all/ac_tokens_per_turn": 15.877329192546584, "test/env/all/ob_tokens_per_turn": 853.22049689441, "test/env/all/turns_per_episode": 16.1, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 644, "test/env/all/total_ac_tokens": 10225, "test/env/all/total_ob_tokens": 549474, "test/env/all/reward/total": 0.45, "test/env/all/reward/not_null": 0.062111801242236024, "test/env/all/reward/final_step": 0.45, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.45, "test/env/all/by_group/frac_all_bad": 0.55, "time/run_evals": 293.26215529441833, "time/sample": 1533.856930732727, "env/all/ac_tokens_per_turn": 14.589561091340451, "env/all/ob_tokens_per_turn": 839.0982206405694, "env/all/turns_per_episode": 16.46484375, "env/all/total_episodes": 256, "env/all/total_turns": 4215, "env/all/total_ac_tokens": 61495, "env/all/total_ob_tokens": 3536799, "env/all/reward/total": 0.4296875, "env/all/reward/not_null": 0.06073546856465006, "env/all/reward/final_step": 0.4296875, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.125, "env/all/by_group/frac_all_bad": 0.25, "time/assemble_training_data": 4.622070550918579, "time/train": 25.54685640335083, "optim/kl_sample_train_v1": 0.008865955285727978, "optim/kl_sample_train_v2": 0.010050692595541477, "optim/entropy": 0.22713321447372437, "time/compute_kl_sample_train": 0.7095577716827393, "time/save_checkpoint": 7.680391073226929, "time/total": 1866.2767174243927}
|
||||
{"step": 1, "progress/batch": 1, "optim/lr": 0.0001, "progress/done_frac": 0.02, "time/sample": 1762.4710121154785, "env/all/ac_tokens_per_turn": 16.39477503628447, "env/all/ob_tokens_per_turn": 850.3030962747944, "env/all/turns_per_episode": 16.1484375, "env/all/total_episodes": 256, "env/all/total_turns": 4134, "env/all/total_ac_tokens": 67776, "env/all/total_ob_tokens": 3515153, "env/all/reward/total": 0.5703125, "env/all/reward/not_null": 0.061925495887760036, "env/all/reward/final_step": 0.5703125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.9375, "env/all/by_group/frac_all_good": 0.0625, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 4.5530712604522705, "time/train": 51.97214937210083, "optim/kl_sample_train_v1": 0.023265909403562546, "optim/kl_sample_train_v2": 0.028981568291783333, "optim/entropy": 0.19616849720478058, "time/compute_kl_sample_train": 0.7244381904602051, "time/save_checkpoint": 17.749273777008057, "time/total": 1838.4878208637238}
|
||||
{"step": 2, "progress/batch": 2, "optim/lr": 0.0001, "progress/done_frac": 0.03, "time/sample": 1743.6443622112274, "env/all/ac_tokens_per_turn": 21.06334434103873, "env/all/ob_tokens_per_turn": 787.7679375562894, "env/all/turns_per_episode": 13.01171875, "env/all/total_episodes": 256, "env/all/total_turns": 3331, "env/all/total_ac_tokens": 70162, "env/all/total_ob_tokens": 2624055, "env/all/reward/total": 0.59375, "env/all/reward/not_null": 0.07685379765836085, "env/all/reward/final_step": 0.59375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5625, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 3.448829174041748, "time/train": 60.67950916290283, "optim/kl_sample_train_v1": 0.00713183032348752, "optim/kl_sample_train_v2": 0.007015648763626814, "optim/entropy": 0.11209322512149811, "time/compute_kl_sample_train": 0.57303786277771, "time/save_checkpoint": 10.033200979232788, "time/total": 1819.2320206165314}
|
||||
{"step": 3, "progress/batch": 3, "optim/lr": 0.0001, "progress/done_frac": 0.04, "time/sample": 1353.6767065525055, "env/all/ac_tokens_per_turn": 20.642736960179473, "env/all/ob_tokens_per_turn": 788.880257992148, "env/all/turns_per_episode": 13.9296875, "env/all/total_episodes": 256, "env/all/total_turns": 3566, "env/all/total_ac_tokens": 73612, "env/all/total_ob_tokens": 2813147, "env/all/reward/total": 0.578125, "env/all/reward/not_null": 0.0717891194615816, "env/all/reward/final_step": 0.578125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5625, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 3.702543258666992, "time/train": 75.32175374031067, "optim/kl_sample_train_v1": 0.005680104251950979, "optim/kl_sample_train_v2": 0.005775918252766132, "optim/entropy": 0.11611966788768768, "time/compute_kl_sample_train": 0.6279723644256592, "time/save_checkpoint": 8.573010444641113, "time/total": 1442.8620414733887}
|
||||
{"step": 4, "progress/batch": 4, "optim/lr": 0.0001, "progress/done_frac": 0.05, "test/env/all/ac_tokens_per_turn": 22.79376083188908, "test/env/all/ob_tokens_per_turn": 805.6724436741767, "test/env/all/turns_per_episode": 14.425, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 577, "test/env/all/total_ac_tokens": 13152, "test/env/all/total_ob_tokens": 464873, "test/env/all/reward/total": 0.55, "test/env/all/reward/not_null": 0.06932409012131716, "test/env/all/reward/final_step": 0.55, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.55, "test/env/all/by_group/frac_all_bad": 0.45, "time/run_evals": 253.37843704223633, "time/sample": 1565.6403198242188, "env/all/ac_tokens_per_turn": 20.790917691579942, "env/all/ob_tokens_per_turn": 788.3036896877957, "env/all/turns_per_episode": 12.38671875, "env/all/total_episodes": 256, "env/all/total_turns": 3171, "env/all/total_ac_tokens": 65928, "env/all/total_ob_tokens": 2499711, "env/all/reward/total": 0.5625, "env/all/reward/not_null": 0.08010091453800063, "env/all/reward/final_step": 0.5669291338582677, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.9921875, "env/all/by_group/frac_status_failed": 0.0078125, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.375, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.3125, "time/assemble_training_data": 3.827423334121704, "time/train": 94.21097612380981, "optim/kl_sample_train_v1": 0.0037574644666165113, "optim/kl_sample_train_v2": 0.003820559475570917, "optim/entropy": 0.09391123801469803, "time/compute_kl_sample_train": 0.5565688610076904, "time/save_checkpoint": 7.501802921295166, "time/total": 1935.757917881012}
|
||||
{"step": 5, "progress/batch": 5, "optim/lr": 0.0001, "progress/done_frac": 0.06, "time/sample": 1288.188319683075, "env/all/ac_tokens_per_turn": 22.70949720670391, "env/all/ob_tokens_per_turn": 806.81843575419, "env/all/turns_per_episode": 13.984375, "env/all/total_episodes": 256, "env/all/total_turns": 3580, "env/all/total_ac_tokens": 81300, "env/all/total_ob_tokens": 2888410, "env/all/reward/total": 0.55078125, "env/all/reward/not_null": 0.07150837988826815, "env/all/reward/final_step": 0.55078125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 4.794527292251587, "time/train": 22.281447649002075, "optim/kl_sample_train_v1": 0.007178914733231068, "optim/kl_sample_train_v2": 0.00896898191422224, "optim/entropy": 0.09314387291669846, "time/compute_kl_sample_train": 0.6433274745941162, "time/save_checkpoint": 7.487513303756714, "time/total": 1324.5958230495453}
|
||||
{"step": 6, "progress/batch": 6, "optim/lr": 0.0001, "progress/done_frac": 0.07, "time/sample": 1171.8255848884583, "env/all/ac_tokens_per_turn": 23.781633906633907, "env/all/ob_tokens_per_turn": 809.7856265356265, "env/all/turns_per_episode": 12.71875, "env/all/total_episodes": 256, "env/all/total_turns": 3256, "env/all/total_ac_tokens": 77433, "env/all/total_ob_tokens": 2636662, "env/all/reward/total": 0.60546875, "env/all/reward/not_null": 0.07862407862407862, "env/all/reward/final_step": 0.60546875, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.6875, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 4.683898448944092, "time/train": 37.46443009376526, "optim/kl_sample_train_v1": 0.0043292236514389515, "optim/kl_sample_train_v2": 0.004781308583915234, "optim/entropy": 0.08281832933425903, "time/compute_kl_sample_train": 1.1865742206573486, "time/save_checkpoint": 15.958096265792847, "time/total": 1232.326936006546}
|
||||
{"step": 7, "progress/batch": 7, "optim/lr": 0.0001, "progress/done_frac": 0.08, "time/sample": 1162.3007276058197, "env/all/ac_tokens_per_turn": 21.777342657342658, "env/all/ob_tokens_per_turn": 795.615944055944, "env/all/turns_per_episode": 13.96484375, "env/all/total_episodes": 256, "env/all/total_turns": 3575, "env/all/total_ac_tokens": 77854, "env/all/total_ob_tokens": 2844327, "env/all/reward/total": 0.609375, "env/all/reward/not_null": 0.07160839160839161, "env/all/reward/final_step": 0.609375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5, "env/all/by_group/frac_all_good": 0.375, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 4.301264047622681, "time/train": 58.375481367111206, "optim/kl_sample_train_v1": 0.0032445620745420456, "optim/kl_sample_train_v2": 0.004410422407090664, "optim/entropy": 0.07606545835733414, "time/compute_kl_sample_train": 0.6452765464782715, "time/save_checkpoint": 12.093798160552979, "time/total": 1238.7095439434052}
|
||||
{"step": 8, "progress/batch": 8, "optim/lr": 0.0001, "progress/done_frac": 0.09, "test/env/all/ac_tokens_per_turn": 21.04662379421222, "test/env/all/ob_tokens_per_turn": 790.5578778135048, "test/env/all/turns_per_episode": 15.55, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 622, "test/env/all/total_ac_tokens": 13091, "test/env/all/total_ob_tokens": 491727, "test/env/all/reward/total": 0.55, "test/env/all/reward/not_null": 0.06430868167202572, "test/env/all/reward/final_step": 0.55, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.55, "test/env/all/by_group/frac_all_bad": 0.45, "time/run_evals": 261.7418956756592, "time/sample": 1231.4918894767761, "env/all/ac_tokens_per_turn": 21.864993026499302, "env/all/ob_tokens_per_turn": 796.4661087866109, "env/all/turns_per_episode": 14.00390625, "env/all/total_episodes": 256, "env/all/total_turns": 3585, "env/all/total_ac_tokens": 78386, "env/all/total_ob_tokens": 2855331, "env/all/reward/total": 0.56640625, "env/all/reward/not_null": 0.07140864714086471, "env/all/reward/final_step": 0.56640625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 6.022800922393799, "time/train": 75.63710713386536, "optim/kl_sample_train_v1": 0.003238886594772339, "optim/kl_sample_train_v2": 0.0038158800452947617, "optim/entropy": 0.07811746001243591, "time/compute_kl_sample_train": 0.6337897777557373, "time/save_checkpoint": 7.146829843521118, "time/total": 1583.747103214264}
|
||||
{"step": 9, "progress/batch": 9, "optim/lr": 0.0001, "progress/done_frac": 0.1, "time/sample": 2061.1075398921967, "env/all/ac_tokens_per_turn": 21.887614678899084, "env/all/ob_tokens_per_turn": 804.9051032110092, "env/all/turns_per_episode": 13.625, "env/all/total_episodes": 256, "env/all/total_turns": 3488, "env/all/total_ac_tokens": 76344, "env/all/total_ob_tokens": 2807509, "env/all/reward/total": 0.41015625, "env/all/reward/not_null": 0.059059633027522936, "env/all/reward/final_step": 0.5097087378640777, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.8046875, "env/all/by_group/frac_status_failed": 0.1953125, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.75, "env/all/by_group/frac_all_good": 0.0, "env/all/by_group/frac_all_bad": 0.25, "time/assemble_training_data": 3.641836643218994, "time/train": 122.97576355934143, "optim/kl_sample_train_v1": 0.007697650697082281, "optim/kl_sample_train_v2": 0.008838764391839504, "optim/entropy": 0.10003558546304703, "time/compute_kl_sample_train": 0.6226894855499268, "time/save_checkpoint": 9.070814371109009, "time/total": 2198.417163848877}
|
||||
{"step": 10, "progress/batch": 10, "optim/lr": 0.0001, "progress/done_frac": 0.11, "time/sample": 1078.7149181365967, "env/all/ac_tokens_per_turn": 20.514492753623188, "env/all/ob_tokens_per_turn": 784.2898550724638, "env/all/turns_per_episode": 12.3984375, "env/all/total_episodes": 256, "env/all/total_turns": 3174, "env/all/total_ac_tokens": 65113, "env/all/total_ob_tokens": 2489336, "env/all/reward/total": 0.47265625, "env/all/reward/not_null": 0.06679269061121614, "env/all/reward/final_step": 0.5707547169811321, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.828125, "env/all/by_group/frac_status_failed": 0.171875, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5625, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 3.248006582260132, "time/train": 66.77892279624939, "optim/kl_sample_train_v1": 0.3470335304737091, "optim/kl_sample_train_v2": 2.0557923316955566, "optim/entropy": 0.07080227136611938, "time/compute_kl_sample_train": 0.5562939643859863, "time/save_checkpoint": 7.097018003463745, "time/total": 1157.3333096504211}
|
||||
{"step": 11, "progress/batch": 11, "optim/lr": 0.0001, "progress/done_frac": 0.12, "time/sample": 1416.2459955215454, "env/all/ac_tokens_per_turn": 18.67866473149492, "env/all/ob_tokens_per_turn": 779.9715529753265, "env/all/turns_per_episode": 13.45703125, "env/all/total_episodes": 256, "env/all/total_turns": 3445, "env/all/total_ac_tokens": 64348, "env/all/total_ob_tokens": 2687002, "env/all/reward/total": 0.48828125, "env/all/reward/not_null": 0.07431059506531204, "env/all/reward/final_step": 0.48828125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.375, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.3125, "time/assemble_training_data": 3.493112564086914, "time/train": 63.87010097503662, "optim/kl_sample_train_v1": 0.04426923021674156, "optim/kl_sample_train_v2": 0.12695293128490448, "optim/entropy": 0.08039391785860062, "time/compute_kl_sample_train": 0.6117796897888184, "time/save_checkpoint": 8.30609941482544, "time/total": 1493.3376216888428}
|
||||
{"step": 12, "progress/batch": 12, "optim/lr": 0.0001, "progress/done_frac": 0.13, "test/env/all/ac_tokens_per_turn": 19.0, "test/env/all/ob_tokens_per_turn": 783.7228346456693, "test/env/all/turns_per_episode": 15.875, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 635, "test/env/all/total_ac_tokens": 12065, "test/env/all/total_ob_tokens": 497664, "test/env/all/reward/total": 0.35, "test/env/all/reward/not_null": 0.06299212598425197, "test/env/all/reward/final_step": 0.35, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.35, "test/env/all/by_group/frac_all_bad": 0.65, "time/run_evals": 301.0664529800415, "time/sample": 1193.107818365097, "env/all/ac_tokens_per_turn": 19.046985564675914, "env/all/ob_tokens_per_turn": 776.9547127087461, "env/all/turns_per_episode": 13.80078125, "env/all/total_episodes": 256, "env/all/total_turns": 3533, "env/all/total_ac_tokens": 67293, "env/all/total_ob_tokens": 2744981, "env/all/reward/total": 0.5625, "env/all/reward/not_null": 0.072459666006227, "env/all/reward/final_step": 0.5625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 4.073251008987427, "time/train": 77.90614056587219, "optim/kl_sample_train_v1": 0.002877724589779973, "optim/kl_sample_train_v2": 0.003130174009129405, "optim/entropy": 0.08206061273813248, "time/compute_kl_sample_train": 0.6249630451202393, "time/save_checkpoint": 18.439236640930176, "time/total": 1596.1110911369324}
|
||||
{"step": 13, "progress/batch": 13, "optim/lr": 0.0001, "progress/done_frac": 0.14, "time/sample": 1171.7734146118164, "env/all/ac_tokens_per_turn": 19.163094440723377, "env/all/ob_tokens_per_turn": 771.996316141996, "env/all/turns_per_episode": 11.6640625, "env/all/total_episodes": 256, "env/all/total_turns": 2986, "env/all/total_ac_tokens": 57221, "env/all/total_ob_tokens": 2305181, "env/all/reward/total": 0.62109375, "env/all/reward/not_null": 0.08573342263898191, "env/all/reward/final_step": 0.62109375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.375, "env/all/by_group/frac_all_good": 0.5, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 2.973477840423584, "time/train": 90.35423254966736, "optim/kl_sample_train_v1": 0.0033113993704319, "optim/kl_sample_train_v2": 0.0037584006786346436, "optim/entropy": 0.07040170580148697, "time/compute_kl_sample_train": 0.5063350200653076, "time/save_checkpoint": 11.77867841720581, "time/total": 1278.3076767921448}
|
||||
{"step": 14, "progress/batch": 14, "optim/lr": 0.0001, "progress/done_frac": 0.15, "time/sample": 973.5513324737549, "env/all/ac_tokens_per_turn": 19.61511423550088, "env/all/ob_tokens_per_turn": 765.1732864674868, "env/all/turns_per_episode": 11.11328125, "env/all/total_episodes": 256, "env/all/total_turns": 2845, "env/all/total_ac_tokens": 55805, "env/all/total_ob_tokens": 2176918, "env/all/reward/total": 0.71484375, "env/all/reward/not_null": 0.08998242530755712, "env/all/reward/final_step": 0.71484375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.375, "env/all/by_group/frac_all_good": 0.5, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 3.4809696674346924, "time/train": 58.61692833900452, "optim/kl_sample_train_v1": 0.06303209066390991, "optim/kl_sample_train_v2": 0.2391131967306137, "optim/entropy": 0.06561124324798584, "time/compute_kl_sample_train": 0.5046241283416748, "time/save_checkpoint": 23.143099546432495, "time/total": 1060.1677751541138}
|
||||
{"step": 15, "progress/batch": 15, "optim/lr": 0.0001, "progress/done_frac": 0.16, "time/sample": 1298.1770956516266, "env/all/ac_tokens_per_turn": 19.29924480805538, "env/all/ob_tokens_per_turn": 781.0006293266205, "env/all/turns_per_episode": 12.4140625, "env/all/total_episodes": 256, "env/all/total_turns": 3178, "env/all/total_ac_tokens": 61333, "env/all/total_ob_tokens": 2482020, "env/all/reward/total": 0.53515625, "env/all/reward/not_null": 0.08055380742605413, "env/all/reward/final_step": 0.53515625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.0625, "env/all/by_group/frac_all_good": 0.5, "env/all/by_group/frac_all_bad": 0.4375, "time/assemble_training_data": 3.1327850818634033, "time/train": 32.660337686538696, "optim/kl_sample_train_v1": 0.0027964161708950996, "optim/kl_sample_train_v2": 0.002932892879471183, "optim/entropy": 0.11668328940868378, "time/compute_kl_sample_train": 0.5500421524047852, "time/save_checkpoint": 14.440563201904297, "time/total": 1349.9492349624634}
|
||||
{"step": 16, "progress/batch": 16, "optim/lr": 0.0001, "progress/done_frac": 0.17, "test/env/all/ac_tokens_per_turn": 19.094462540716613, "test/env/all/ob_tokens_per_turn": 780.1791530944625, "test/env/all/turns_per_episode": 15.35, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 614, "test/env/all/total_ac_tokens": 11724, "test/env/all/total_ob_tokens": 479030, "test/env/all/reward/total": 0.425, "test/env/all/reward/not_null": 0.06514657980456026, "test/env/all/reward/final_step": 0.425, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.425, "test/env/all/by_group/frac_all_bad": 0.575, "time/run_evals": 220.78076362609863, "time/sample": 1141.85306930542, "env/all/ac_tokens_per_turn": 19.060841983852363, "env/all/ob_tokens_per_turn": 777.2485582468281, "env/all/turns_per_episode": 13.546875, "env/all/total_episodes": 256, "env/all/total_turns": 3468, "env/all/total_ac_tokens": 66103, "env/all/total_ob_tokens": 2695498, "env/all/reward/total": 0.5546875, "env/all/reward/not_null": 0.07381776239907728, "env/all/reward/final_step": 0.5546875, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 3.4568498134613037, "time/train": 54.17888283729553, "optim/kl_sample_train_v1": 0.0016229283064603806, "optim/kl_sample_train_v2": 0.002055138349533081, "optim/entropy": 0.08533304184675217, "time/compute_kl_sample_train": 0.6000363826751709, "time/save_checkpoint": 9.119793176651001, "time/total": 1430.9839062690735}
|
||||
{"step": 17, "progress/batch": 17, "optim/lr": 0.0001, "progress/done_frac": 0.18, "time/sample": 1177.0616528987885, "env/all/ac_tokens_per_turn": 19.025021085184143, "env/all/ob_tokens_per_turn": 778.8740511667136, "env/all/turns_per_episode": 13.89453125, "env/all/total_episodes": 256, "env/all/total_turns": 3557, "env/all/total_ac_tokens": 67672, "env/all/total_ob_tokens": 2770455, "env/all/reward/total": 0.48828125, "env/all/reward/not_null": 0.07197076187798707, "env/all/reward/final_step": 0.48828125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.25, "env/all/by_group/frac_all_good": 0.375, "env/all/by_group/frac_all_bad": 0.375, "time/assemble_training_data": 4.096642732620239, "time/train": 64.83980774879456, "optim/kl_sample_train_v1": 0.002630886621773243, "optim/kl_sample_train_v2": 0.0033033224754035473, "optim/entropy": 0.09915287047624588, "time/compute_kl_sample_train": 0.6213271617889404, "time/save_checkpoint": 12.03905463218689, "time/total": 1259.6561212539673}
|
||||
{"step": 18, "progress/batch": 18, "optim/lr": 0.0001, "progress/done_frac": 0.19, "time/sample": 1386.1239383220673, "env/all/ac_tokens_per_turn": 19.00432459933859, "env/all/ob_tokens_per_turn": 779.190282370898, "env/all/turns_per_episode": 15.35546875, "env/all/total_episodes": 256, "env/all/total_turns": 3931, "env/all/total_ac_tokens": 74706, "env/all/total_ob_tokens": 3062997, "env/all/reward/total": 0.46484375, "env/all/reward/not_null": 0.06512337827524803, "env/all/reward/final_step": 0.46484375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5625, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.25, "time/assemble_training_data": 3.9195749759674072, "time/train": 133.50245022773743, "optim/kl_sample_train_v1": 0.7197185754776001, "optim/kl_sample_train_v2": 7.183842182159424, "optim/entropy": 0.08376777172088623, "time/compute_kl_sample_train": 0.6616597175598145, "time/save_checkpoint": 16.919248819351196, "time/total": 1541.9633190631866}
|
||||
{"step": 19, "progress/batch": 19, "optim/lr": 0.0001, "progress/done_frac": 0.2, "time/sample": 1573.3218886852264, "env/all/ac_tokens_per_turn": 24.367880276971185, "env/all/ob_tokens_per_turn": 828.7107438016529, "env/all/turns_per_episode": 17.48828125, "env/all/total_episodes": 256, "env/all/total_turns": 4477, "env/all/total_ac_tokens": 109095, "env/all/total_ob_tokens": 3710138, "env/all/reward/total": 0.484375, "env/all/reward/not_null": 0.057181148090239, "env/all/reward/final_step": 0.484375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.8125, "env/all/by_group/frac_all_good": 0.0, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 5.298321485519409, "time/train": 71.28916335105896, "optim/kl_sample_train_v1": 0.010908802971243858, "optim/kl_sample_train_v2": 0.012057156302034855, "optim/entropy": 0.09090448170900345, "time/compute_kl_sample_train": 1.1310946941375732, "time/save_checkpoint": 8.371073484420776, "time/total": 1660.5139768123627}
|
||||
{"step": 20, "progress/batch": 20, "optim/lr": 0.0001, "progress/done_frac": 0.21, "test/env/all/ac_tokens_per_turn": 22.63327674023769, "test/env/all/ob_tokens_per_turn": 804.0, "test/env/all/turns_per_episode": 14.725, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 589, "test/env/all/total_ac_tokens": 13331, "test/env/all/total_ob_tokens": 473556, "test/env/all/reward/total": 0.65, "test/env/all/reward/not_null": 0.06791171477079797, "test/env/all/reward/final_step": 0.65, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.65, "test/env/all/by_group/frac_all_bad": 0.35, "time/run_evals": 247.61125421524048, "time/sample": 1221.2709572315216, "env/all/ac_tokens_per_turn": 22.185911016949152, "env/all/ob_tokens_per_turn": 798.1941207627119, "env/all/turns_per_episode": 14.75, "env/all/total_episodes": 256, "env/all/total_turns": 3776, "env/all/total_ac_tokens": 83774, "env/all/total_ob_tokens": 3013981, "env/all/reward/total": 0.6953125, "env/all/reward/not_null": 0.06779661016949153, "env/all/reward/final_step": 0.6953125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.8125, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 5.925744533538818, "time/train": 27.86961793899536, "optim/kl_sample_train_v1": 0.00424515875056386, "optim/kl_sample_train_v2": 0.005092749837785959, "optim/entropy": 0.07799728959798813, "time/compute_kl_sample_train": 0.9466583728790283, "time/save_checkpoint": 6.9149816036224365, "time/total": 1511.6479330062866}
|
||||
{"step": 21, "progress/batch": 21, "optim/lr": 0.0001, "progress/done_frac": 0.22, "time/sample": 1412.6244258880615, "env/all/ac_tokens_per_turn": 21.10884930732259, "env/all/ob_tokens_per_turn": 783.3437941758552, "env/all/turns_per_episode": 13.81640625, "env/all/total_episodes": 256, "env/all/total_turns": 3537, "env/all/total_ac_tokens": 74662, "env/all/total_ob_tokens": 2770687, "env/all/reward/total": 0.6875, "env/all/reward/not_null": 0.07237772123268306, "env/all/reward/final_step": 0.6875, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 3.5394327640533447, "time/train": 40.97484540939331, "optim/kl_sample_train_v1": 0.004577499348670244, "optim/kl_sample_train_v2": 0.004953200928866863, "optim/entropy": 0.07851164042949677, "time/compute_kl_sample_train": 0.6126558780670166, "time/save_checkpoint": 7.48175311088562, "time/total": 1466.1601519584656}
|
||||
{"step": 22, "progress/batch": 22, "optim/lr": 0.0001, "progress/done_frac": 0.23, "time/sample": 974.2139801979065, "env/all/ac_tokens_per_turn": 20.36131271694541, "env/all/ob_tokens_per_turn": 773.0274534553487, "env/all/turns_per_episode": 12.37890625, "env/all/total_episodes": 256, "env/all/total_turns": 3169, "env/all/total_ac_tokens": 64525, "env/all/total_ob_tokens": 2449724, "env/all/reward/total": 0.68359375, "env/all/reward/not_null": 0.0807825812559167, "env/all/reward/final_step": 0.68359375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.3125, "env/all/by_group/frac_all_good": 0.5, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 3.662649393081665, "time/train": 56.16490149497986, "optim/kl_sample_train_v1": 0.005274087190628052, "optim/kl_sample_train_v2": 0.005473216995596886, "optim/entropy": 0.07268007099628448, "time/compute_kl_sample_train": 0.5668654441833496, "time/save_checkpoint": 8.176551103591919, "time/total": 1043.808958530426}
|
||||
{"step": 23, "progress/batch": 23, "optim/lr": 0.0001, "progress/done_frac": 0.24, "time/sample": 860.4015507698059, "env/all/ac_tokens_per_turn": 19.981538461538463, "env/all/ob_tokens_per_turn": 755.751923076923, "env/all/turns_per_episode": 10.15625, "env/all/total_episodes": 256, "env/all/total_turns": 2600, "env/all/total_ac_tokens": 51952, "env/all/total_ob_tokens": 1964955, "env/all/reward/total": 0.83984375, "env/all/reward/not_null": 0.09846153846153846, "env/all/reward/final_step": 0.83984375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.25, "env/all/by_group/frac_all_good": 0.625, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 2.919268846511841, "time/train": 64.35993957519531, "optim/kl_sample_train_v1": 0.0037614337634295225, "optim/kl_sample_train_v2": 0.004529457073658705, "optim/entropy": 0.06302443891763687, "time/compute_kl_sample_train": 0.4653913974761963, "time/save_checkpoint": 8.434551239013672, "time/total": 937.4828023910522}
|
||||
{"step": 24, "progress/batch": 24, "optim/lr": 0.0001, "progress/done_frac": 0.25, "test/env/all/ac_tokens_per_turn": 19.670295489891135, "test/env/all/ob_tokens_per_turn": 790.7651632970451, "test/env/all/turns_per_episode": 16.075, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 643, "test/env/all/total_ac_tokens": 12648, "test/env/all/total_ob_tokens": 508462, "test/env/all/reward/total": 0.375, "test/env/all/reward/not_null": 0.06220839813374806, "test/env/all/reward/final_step": 0.375, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.375, "test/env/all/by_group/frac_all_bad": 0.625, "time/run_evals": 257.189022064209, "time/sample": 1083.4817988872528, "env/all/ac_tokens_per_turn": 19.548079699682358, "env/all/ob_tokens_per_turn": 774.838579266532, "env/all/turns_per_episode": 13.52734375, "env/all/total_episodes": 256, "env/all/total_turns": 3463, "env/all/total_ac_tokens": 67695, "env/all/total_ob_tokens": 2683266, "env/all/reward/total": 0.6015625, "env/all/reward/not_null": 0.0739243430551545, "env/all/reward/final_step": 0.6015625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 4.7875566482543945, "time/train": 79.59688138961792, "optim/kl_sample_train_v1": 0.0038068045396357775, "optim/kl_sample_train_v2": 0.003991958685219288, "optim/entropy": 0.0565883070230484, "time/compute_kl_sample_train": 0.8328032493591309, "time/save_checkpoint": 6.828104496002197, "time/total": 1433.7631361484528}
|
||||
{"step": 25, "progress/batch": 25, "optim/lr": 0.0001, "progress/done_frac": 0.26, "time/sample": 512.208723783493, "env/all/ac_tokens_per_turn": 19.42005076142132, "env/all/ob_tokens_per_turn": 755.9942893401015, "env/all/turns_per_episode": 6.15625, "env/all/total_episodes": 256, "env/all/total_turns": 1576, "env/all/total_ac_tokens": 30606, "env/all/total_ob_tokens": 1191447, "env/all/reward/total": 0.30078125, "env/all/reward/not_null": 0.07423857868020305, "env/all/reward/final_step": 0.6581196581196581, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.45703125, "env/all/by_group/frac_status_failed": 0.54296875, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.25, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.5625, "time/assemble_training_data": 1.5858638286590576, "time/train": 97.11337804794312, "optim/kl_sample_train_v1": 0.0039850263856351376, "optim/kl_sample_train_v2": 0.0050368462689220905, "optim/entropy": 0.06792545318603516, "time/compute_kl_sample_train": 0.28411412239074707, "time/save_checkpoint": 16.85850214958191, "time/total": 628.7360656261444}
|
||||
{"step": 26, "progress/batch": 26, "optim/lr": 0.0001, "progress/done_frac": 0.27, "time/sample": 1198.7698502540588, "env/all/ac_tokens_per_turn": 19.310438074634938, "env/all/ob_tokens_per_turn": 781.012709572742, "env/all/turns_per_episode": 14.4453125, "env/all/total_episodes": 256, "env/all/total_turns": 3698, "env/all/total_ac_tokens": 71410, "env/all/total_ob_tokens": 2888185, "env/all/reward/total": 0.46875, "env/all/reward/not_null": 0.06922660897782586, "env/all/reward/final_step": 0.46875, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5, "env/all/by_group/frac_all_good": 0.375, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 3.666170835494995, "time/train": 31.894784688949585, "optim/kl_sample_train_v1": 0.3362472355365753, "optim/kl_sample_train_v2": 2.6935477256774902, "optim/entropy": 0.09479639679193497, "time/compute_kl_sample_train": 0.6448910236358643, "time/save_checkpoint": 12.06045389175415, "time/total": 1247.8041832447052}
|
||||
{"step": 27, "progress/batch": 27, "optim/lr": 0.0001, "progress/done_frac": 0.28, "time/sample": 972.3818967342377, "env/all/ac_tokens_per_turn": 21.395283350932772, "env/all/ob_tokens_per_turn": 769.1647307286166, "env/all/turns_per_episode": 11.09765625, "env/all/total_episodes": 256, "env/all/total_turns": 2841, "env/all/total_ac_tokens": 60784, "env/all/total_ob_tokens": 2185197, "env/all/reward/total": 0.8203125, "env/all/reward/not_null": 0.09010911650827173, "env/all/reward/final_step": 0.8203125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.4375, "env/all/by_group/frac_all_good": 0.5, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 2.848785877227783, "time/train": 127.66888689994812, "optim/kl_sample_train_v1": 0.008444626815617085, "optim/kl_sample_train_v2": 0.010068409144878387, "optim/entropy": 0.07503392547369003, "time/compute_kl_sample_train": 0.5149059295654297, "time/save_checkpoint": 6.351732969284058, "time/total": 1110.6536707878113}
|
||||
{"step": 28, "progress/batch": 28, "optim/lr": 0.0001, "progress/done_frac": 0.29, "test/env/all/ac_tokens_per_turn": 20.857664233576642, "test/env/all/ob_tokens_per_turn": 784.2463503649635, "test/env/all/turns_per_episode": 13.7, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 548, "test/env/all/total_ac_tokens": 11430, "test/env/all/total_ob_tokens": 429767, "test/env/all/reward/total": 0.65, "test/env/all/reward/not_null": 0.072992700729927, "test/env/all/reward/final_step": 0.65, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.65, "test/env/all/by_group/frac_all_bad": 0.35, "time/run_evals": 543.2166595458984, "time/sample": 1634.1822695732117, "env/all/ac_tokens_per_turn": 20.811956110480516, "env/all/ob_tokens_per_turn": 765.7525539160046, "env/all/turns_per_episode": 10.32421875, "env/all/total_episodes": 256, "env/all/total_turns": 2643, "env/all/total_ac_tokens": 55006, "env/all/total_ob_tokens": 2023884, "env/all/reward/total": 0.7890625, "env/all/reward/not_null": 0.09685962920923194, "env/all/reward/final_step": 0.7890625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.375, "env/all/by_group/frac_all_good": 0.625, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 3.8654916286468506, "time/train": 30.76124882698059, "optim/kl_sample_train_v1": 0.0980750247836113, "optim/kl_sample_train_v2": 0.38460689783096313, "optim/entropy": 0.06469854712486267, "time/compute_kl_sample_train": 0.7228882312774658, "time/save_checkpoint": 10.083438873291016, "time/total": 2223.734699010849}
|
||||
{"step": 29, "progress/batch": 29, "optim/lr": 0.0001, "progress/done_frac": 0.3, "time/sample": 966.964195728302, "env/all/ac_tokens_per_turn": 19.421426157485637, "env/all/ob_tokens_per_turn": 765.1997296383913, "env/all/turns_per_episode": 11.55859375, "env/all/total_episodes": 256, "env/all/total_turns": 2959, "env/all/total_ac_tokens": 57468, "env/all/total_ob_tokens": 2264226, "env/all/reward/total": 0.73046875, "env/all/reward/not_null": 0.08651571476850287, "env/all/reward/final_step": 0.73046875, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.3125, "env/all/by_group/frac_all_good": 0.5625, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 4.163984298706055, "time/train": 60.616079807281494, "optim/kl_sample_train_v1": 0.004785132594406605, "optim/kl_sample_train_v2": 0.0053213611245155334, "optim/entropy": 0.06601187586784363, "time/compute_kl_sample_train": 0.7282378673553467, "time/save_checkpoint": 8.474068403244019, "time/total": 1041.6679060459137}
|
||||
{"step": 30, "progress/batch": 30, "optim/lr": 0.0001, "progress/done_frac": 0.31, "time/sample": 974.659530878067, "env/all/ac_tokens_per_turn": 19.23582837456937, "env/all/ob_tokens_per_turn": 774.8969621046039, "env/all/turns_per_episode": 12.47265625, "env/all/total_episodes": 256, "env/all/total_turns": 3193, "env/all/total_ac_tokens": 61420, "env/all/total_ob_tokens": 2474246, "env/all/reward/total": 0.5859375, "env/all/reward/not_null": 0.07986219855934858, "env/all/reward/final_step": 0.5882352941176471, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.99609375, "env/all/by_group/frac_status_failed": 0.00390625, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.4375, "env/all/by_group/frac_all_good": 0.375, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 5.074808597564697, "time/train": 57.85447359085083, "optim/kl_sample_train_v1": 0.02500702440738678, "optim/kl_sample_train_v2": 0.05266082286834717, "optim/entropy": 0.07902888208627701, "time/compute_kl_sample_train": 0.5672996044158936, "time/save_checkpoint": 6.895755290985107, "time/total": 1046.0471122264862}
|
||||
{"step": 31, "progress/batch": 31, "optim/lr": 0.0001, "progress/done_frac": 0.32, "time/sample": 1620.2318212985992, "env/all/ac_tokens_per_turn": 19.12336339831248, "env/all/ob_tokens_per_turn": 777.4640675007274, "env/all/turns_per_episode": 13.42578125, "env/all/total_episodes": 256, "env/all/total_turns": 3437, "env/all/total_ac_tokens": 65727, "env/all/total_ob_tokens": 2672144, "env/all/reward/total": 0.51171875, "env/all/reward/not_null": 0.07390165842304335, "env/all/reward/final_step": 0.515748031496063, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.9921875, "env/all/by_group/frac_status_failed": 0.0078125, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 5.4868409633636475, "time/train": 97.90152049064636, "optim/kl_sample_train_v1": 0.008143654093146324, "optim/kl_sample_train_v2": 0.01027596928179264, "optim/entropy": 0.07396097481250763, "time/compute_kl_sample_train": 0.8506326675415039, "time/save_checkpoint": 14.48939561843872, "time/total": 1740.1165702342987}
|
||||
{"step": 32, "progress/batch": 32, "optim/lr": 0.0001, "progress/done_frac": 0.33, "test/env/all/ac_tokens_per_turn": 19.3104, "test/env/all/ob_tokens_per_turn": 783.0, "test/env/all/turns_per_episode": 15.625, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 625, "test/env/all/total_ac_tokens": 12069, "test/env/all/total_ob_tokens": 489375, "test/env/all/reward/total": 0.475, "test/env/all/reward/not_null": 0.064, "test/env/all/reward/final_step": 0.475, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.475, "test/env/all/by_group/frac_all_bad": 0.525, "time/run_evals": 367.2944016456604, "time/sample": 1392.3244564533234, "env/all/ac_tokens_per_turn": 19.314538250533374, "env/all/ob_tokens_per_turn": 766.0508991161231, "env/all/turns_per_episode": 12.81640625, "env/all/total_episodes": 256, "env/all/total_turns": 3281, "env/all/total_ac_tokens": 63371, "env/all/total_ob_tokens": 2513413, "env/all/reward/total": 0.6953125, "env/all/reward/not_null": 0.07802499238037183, "env/all/reward/final_step": 0.6953125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5625, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 3.723327159881592, "time/train": 24.13933229446411, "optim/kl_sample_train_v1": 0.011262951418757439, "optim/kl_sample_train_v2": 0.021907340735197067, "optim/entropy": 0.06870336085557938, "time/compute_kl_sample_train": 0.8048663139343262, "time/save_checkpoint": 6.97911810874939, "time/total": 1796.2277116775513}
|
||||
{"step": 33, "progress/batch": 33, "optim/lr": 0.0001, "progress/done_frac": 0.34, "time/sample": 1230.026498556137, "env/all/ac_tokens_per_turn": 19.63292181069959, "env/all/ob_tokens_per_turn": 775.4079561042524, "env/all/turns_per_episode": 14.23828125, "env/all/total_episodes": 256, "env/all/total_turns": 3645, "env/all/total_ac_tokens": 71562, "env/all/total_ob_tokens": 2826362, "env/all/reward/total": 0.65625, "env/all/reward/not_null": 0.07023319615912209, "env/all/reward/final_step": 0.65625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5, "env/all/by_group/frac_all_good": 0.4375, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 4.957918882369995, "time/train": 45.70684885978699, "optim/kl_sample_train_v1": 0.006306914146989584, "optim/kl_sample_train_v2": 0.007426189724355936, "optim/entropy": 0.06296069175004959, "time/compute_kl_sample_train": 0.9094944000244141, "time/save_checkpoint": 6.930504560470581, "time/total": 1289.4106500148773}
|
||||
{"step": 34, "progress/batch": 34, "optim/lr": 0.0001, "progress/done_frac": 0.35, "time/sample": 916.0900039672852, "env/all/ac_tokens_per_turn": 19.884480337078653, "env/all/ob_tokens_per_turn": 751.847963483146, "env/all/turns_per_episode": 11.125, "env/all/total_episodes": 256, "env/all/total_turns": 2848, "env/all/total_ac_tokens": 56631, "env/all/total_ob_tokens": 2141263, "env/all/reward/total": 0.84375, "env/all/reward/not_null": 0.0898876404494382, "env/all/reward/final_step": 0.84375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.3125, "env/all/by_group/frac_all_good": 0.625, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 3.513406991958618, "time/train": 48.76725363731384, "optim/kl_sample_train_v1": 0.002679207129403949, "optim/kl_sample_train_v2": 0.003300314536318183, "optim/entropy": 0.057801857590675354, "time/compute_kl_sample_train": 0.7234599590301514, "time/save_checkpoint": 7.656004905700684, "time/total": 977.6232273578644}
|
||||
{"step": 35, "progress/batch": 35, "optim/lr": 0.0001, "progress/done_frac": 0.36, "time/sample": 953.4760317802429, "env/all/ac_tokens_per_turn": 19.873958710612097, "env/all/ob_tokens_per_turn": 755.5914523723288, "env/all/turns_per_episode": 10.78515625, "env/all/total_episodes": 256, "env/all/total_turns": 2761, "env/all/total_ac_tokens": 54872, "env/all/total_ob_tokens": 2086188, "env/all/reward/total": 0.8125, "env/all/reward/not_null": 0.09272002897500906, "env/all/reward/final_step": 0.8125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.3125, "env/all/by_group/frac_all_good": 0.625, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 3.7316670417785645, "time/train": 66.63446474075317, "optim/kl_sample_train_v1": 0.0025307179894298315, "optim/kl_sample_train_v2": 0.0029179214034229517, "optim/entropy": 0.05644950643181801, "time/compute_kl_sample_train": 0.6837253570556641, "time/save_checkpoint": 6.640658378601074, "time/total": 1032.010366678238}
|
||||
{"step": 36, "progress/batch": 36, "optim/lr": 0.0001, "progress/done_frac": 0.37, "test/env/all/ac_tokens_per_turn": 19.75179856115108, "test/env/all/ob_tokens_per_turn": 778.160071942446, "test/env/all/turns_per_episode": 13.9, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 556, "test/env/all/total_ac_tokens": 10982, "test/env/all/total_ob_tokens": 432657, "test/env/all/reward/total": 0.55, "test/env/all/reward/not_null": 0.07194244604316546, "test/env/all/reward/final_step": 0.55, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.55, "test/env/all/by_group/frac_all_bad": 0.45, "time/run_evals": 232.47469401359558, "time/sample": 831.2104063034058, "env/all/ac_tokens_per_turn": 19.72174590802806, "env/all/ob_tokens_per_turn": 752.5222135619641, "env/all/turns_per_episode": 10.0234375, "env/all/total_episodes": 256, "env/all/total_turns": 2566, "env/all/total_ac_tokens": 50606, "env/all/total_ob_tokens": 1930972, "env/all/reward/total": 0.87109375, "env/all/reward/not_null": 0.09976617303195635, "env/all/reward/final_step": 0.87109375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.25, "env/all/by_group/frac_all_good": 0.75, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 4.149079084396362, "time/train": 75.55161786079407, "optim/kl_sample_train_v1": 0.0018746372079476714, "optim/kl_sample_train_v2": 0.0023460076190531254, "optim/entropy": 0.05155090615153313, "time/compute_kl_sample_train": 0.6469619274139404, "time/save_checkpoint": 7.012444496154785, "time/total": 1151.8784935474396}
|
||||
{"step": 37, "progress/batch": 37, "optim/lr": 0.0001, "progress/done_frac": 0.38, "time/sample": 1060.7213876247406, "env/all/ac_tokens_per_turn": 19.828388401888066, "env/all/ob_tokens_per_turn": 758.2440997977073, "env/all/turns_per_episode": 11.5859375, "env/all/total_episodes": 256, "env/all/total_turns": 2966, "env/all/total_ac_tokens": 58811, "env/all/total_ob_tokens": 2248952, "env/all/reward/total": 0.7734375, "env/all/reward/not_null": 0.08631153068105192, "env/all/reward/final_step": 0.7734375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5625, "env/all/by_group/frac_all_good": 0.375, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 4.74782133102417, "time/train": 91.86558389663696, "optim/kl_sample_train_v1": 0.06056898087263107, "optim/kl_sample_train_v2": 0.2367974817752838, "optim/entropy": 0.05900060385465622, "time/compute_kl_sample_train": 0.7430188655853271, "time/save_checkpoint": 7.479514837265015, "time/total": 1166.6096069812775}
|
||||
{"step": 38, "progress/batch": 38, "optim/lr": 0.0001, "progress/done_frac": 0.39, "time/sample": 1319.2736167907715, "env/all/ac_tokens_per_turn": 19.989621694007365, "env/all/ob_tokens_per_turn": 758.8128557080682, "env/all/turns_per_episode": 11.66796875, "env/all/total_episodes": 256, "env/all/total_turns": 2987, "env/all/total_ac_tokens": 59709, "env/all/total_ob_tokens": 2266574, "env/all/reward/total": 0.79296875, "env/all/reward/not_null": 0.08570472045530633, "env/all/reward/final_step": 0.79296875, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5, "env/all/by_group/frac_all_good": 0.5, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 4.091627359390259, "time/train": 124.83190751075745, "optim/kl_sample_train_v1": 0.02634863182902336, "optim/kl_sample_train_v2": 0.05538266897201538, "optim/entropy": 0.056792981922626495, "time/compute_kl_sample_train": 0.7452173233032227, "time/save_checkpoint": 26.614588737487793, "time/total": 1476.4544079303741}
|
||||
{"step": 39, "progress/batch": 39, "optim/lr": 0.0001, "progress/done_frac": 0.4, "time/sample": 2737.7944519519806, "env/all/ac_tokens_per_turn": 20.14512785072564, "env/all/ob_tokens_per_turn": 768.0542501727713, "env/all/turns_per_episode": 11.3046875, "env/all/total_episodes": 256, "env/all/total_turns": 2894, "env/all/total_ac_tokens": 58300, "env/all/total_ob_tokens": 2222749, "env/all/reward/total": 0.66796875, "env/all/reward/not_null": 0.08085694540428473, "env/all/reward/final_step": 0.7307692307692307, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.9140625, "env/all/by_group/frac_status_failed": 0.0859375, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5625, "env/all/by_group/frac_all_good": 0.375, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 3.87294340133667, "time/train": 64.02760648727417, "optim/kl_sample_train_v1": 0.0027874901425093412, "optim/kl_sample_train_v2": 0.0030361756216734648, "optim/entropy": 0.06202486529946327, "time/compute_kl_sample_train": 0.5198960304260254, "time/save_checkpoint": 17.794323205947876, "time/total": 2824.952071428299}
|
||||
{"step": 40, "progress/batch": 40, "optim/lr": 0.0001, "progress/done_frac": 0.41, "test/env/all/ac_tokens_per_turn": 20.065335753176043, "test/env/all/ob_tokens_per_turn": 781.470054446461, "test/env/all/turns_per_episode": 13.775, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 551, "test/env/all/total_ac_tokens": 11056, "test/env/all/total_ob_tokens": 430590, "test/env/all/reward/total": 0.575, "test/env/all/reward/not_null": 0.07259528130671507, "test/env/all/reward/final_step": 0.575, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.575, "test/env/all/by_group/frac_all_bad": 0.425, "time/run_evals": 224.74257969856262, "time/sample": 1109.6442205905914, "env/all/ac_tokens_per_turn": 19.925142665323936, "env/all/ob_tokens_per_turn": 765.3571668345082, "env/all/turns_per_episode": 11.63671875, "env/all/total_episodes": 256, "env/all/total_turns": 2979, "env/all/total_ac_tokens": 59357, "env/all/total_ob_tokens": 2279999, "env/all/reward/total": 0.796875, "env/all/reward/not_null": 0.08593487747566297, "env/all/reward/final_step": 0.796875, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5625, "env/all/by_group/frac_all_good": 0.4375, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 4.754633903503418, "time/train": 50.151108741760254, "optim/kl_sample_train_v1": 0.003007385181263089, "optim/kl_sample_train_v2": 0.0028587989509105682, "optim/entropy": 0.06667198240756989, "time/compute_kl_sample_train": 0.551872730255127, "time/save_checkpoint": 10.462109088897705, "time/total": 1401.4221529960632}
|
||||
{"step": 41, "progress/batch": 41, "optim/lr": 0.0001, "progress/done_frac": 0.42, "time/sample": 1405.9282212257385, "env/all/ac_tokens_per_turn": 19.872705018359852, "env/all/ob_tokens_per_turn": 751.7425540595675, "env/all/turns_per_episode": 9.57421875, "env/all/total_episodes": 256, "env/all/total_turns": 2451, "env/all/total_ac_tokens": 48708, "env/all/total_ob_tokens": 1842521, "env/all/reward/total": 0.8125, "env/all/reward/not_null": 0.10444716442268462, "env/all/reward/final_step": 0.8125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.3125, "env/all/by_group/frac_all_good": 0.625, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 3.311737060546875, "time/train": 29.744638919830322, "optim/kl_sample_train_v1": 0.0019081878708675504, "optim/kl_sample_train_v2": 0.002659780904650688, "optim/entropy": 0.0623229555785656, "time/compute_kl_sample_train": 1.3210515975952148, "time/save_checkpoint": 10.945437669754028, "time/total": 1462.0533030033112}
|
||||
{"step": 42, "progress/batch": 42, "optim/lr": 0.0001, "progress/done_frac": 0.43, "time/sample": 966.767950296402, "env/all/ac_tokens_per_turn": 19.591796228911676, "env/all/ob_tokens_per_turn": 769.9573271584519, "env/all/turns_per_episode": 11.80859375, "env/all/total_episodes": 256, "env/all/total_turns": 3023, "env/all/total_ac_tokens": 59226, "env/all/total_ob_tokens": 2327581, "env/all/reward/total": 0.6484375, "env/all/reward/not_null": 0.08468408865365532, "env/all/reward/final_step": 0.6484375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 4.2328972816467285, "time/train": 49.901148080825806, "optim/kl_sample_train_v1": 0.0020188179332762957, "optim/kl_sample_train_v2": 0.002192489104345441, "optim/entropy": 0.06687629222869873, "time/compute_kl_sample_train": 0.7581324577331543, "time/save_checkpoint": 6.865998983383179, "time/total": 1029.6796963214874}
|
||||
{"step": 43, "progress/batch": 43, "optim/lr": 0.0001, "progress/done_frac": 0.44, "time/sample": 1110.8723540306091, "env/all/ac_tokens_per_turn": 19.65451230628988, "env/all/ob_tokens_per_turn": 763.9213005165603, "env/all/turns_per_episode": 12.85546875, "env/all/total_episodes": 256, "env/all/total_turns": 3291, "env/all/total_ac_tokens": 64683, "env/all/total_ob_tokens": 2514065, "env/all/reward/total": 0.7734375, "env/all/reward/not_null": 0.07778790641142509, "env/all/reward/final_step": 0.7734375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.6875, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 5.049692153930664, "time/train": 64.5679771900177, "optim/kl_sample_train_v1": 0.0028509937692433596, "optim/kl_sample_train_v2": 0.0032637587282806635, "optim/entropy": 0.07108134776353836, "time/compute_kl_sample_train": 0.8181726932525635, "time/save_checkpoint": 6.426122188568115, "time/total": 1188.7169065475464}
|
||||
{"step": 44, "progress/batch": 44, "optim/lr": 0.0001, "progress/done_frac": 0.45, "test/env/all/ac_tokens_per_turn": 19.676616915422887, "test/env/all/ob_tokens_per_turn": 784.6683250414594, "test/env/all/turns_per_episode": 15.075, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 603, "test/env/all/total_ac_tokens": 11865, "test/env/all/total_ob_tokens": 473155, "test/env/all/reward/total": 0.45, "test/env/all/reward/not_null": 0.06633499170812604, "test/env/all/reward/final_step": 0.45, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.45, "test/env/all/by_group/frac_all_bad": 0.55, "time/run_evals": 247.17726469039917, "time/sample": 1195.9138860702515, "env/all/ac_tokens_per_turn": 19.513475575519372, "env/all/ob_tokens_per_turn": 779.3921953958451, "env/all/turns_per_episode": 13.9140625, "env/all/total_episodes": 256, "env/all/total_turns": 3562, "env/all/total_ac_tokens": 69507, "env/all/total_ob_tokens": 2776195, "env/all/reward/total": 0.53515625, "env/all/reward/not_null": 0.07186973610331275, "env/all/reward/final_step": 0.53515625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.375, "env/all/by_group/frac_all_good": 0.375, "env/all/by_group/frac_all_bad": 0.25, "time/assemble_training_data": 5.85092568397522, "time/train": 377.09665989875793, "optim/kl_sample_train_v1": 0.03775623068213463, "optim/kl_sample_train_v2": 0.10383062064647675, "optim/entropy": 0.09980594366788864, "time/compute_kl_sample_train": 0.6335666179656982, "time/save_checkpoint": 26.947572708129883, "time/total": 1854.8570744991302}
|
||||
{"step": 45, "progress/batch": 45, "optim/lr": 0.0001, "progress/done_frac": 0.46, "time/sample": 1029.5682926177979, "env/all/ac_tokens_per_turn": 19.469111969111967, "env/all/ob_tokens_per_turn": 772.8278635778636, "env/all/turns_per_episode": 12.140625, "env/all/total_episodes": 256, "env/all/total_turns": 3108, "env/all/total_ac_tokens": 60510, "env/all/total_ob_tokens": 2401949, "env/all/reward/total": 0.6484375, "env/all/reward/final_step": 0.6484375, "env/all/reward/not_null": 0.08236808236808237, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.25, "env/all/by_group/frac_all_good": 0.5, "env/all/by_group/frac_all_bad": 0.25, "time/assemble_training_data": 3.657017469406128, "time/train": 26.27695608139038, "optim/kl_sample_train_v1": 0.002192298648878932, "optim/kl_sample_train_v2": 0.0024171641562134027, "optim/entropy": 0.07381979376077652, "time/compute_kl_sample_train": 0.7735581398010254, "time/save_checkpoint": 7.008288145065308, "time/total": 1067.9597997665405}
|
||||
{"step": 46, "progress/batch": 46, "optim/lr": 0.0001, "progress/done_frac": 0.47, "time/sample": 1073.6543855667114, "env/all/ac_tokens_per_turn": 19.477763659466326, "env/all/ob_tokens_per_turn": 773.9418678526048, "env/all/turns_per_episode": 12.296875, "env/all/total_episodes": 256, "env/all/total_turns": 3148, "env/all/total_ac_tokens": 61316, "env/all/total_ob_tokens": 2436369, "env/all/reward/total": 0.6015625, "env/all/reward/not_null": 0.08132147395171538, "env/all/reward/final_step": 0.6015625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.3125, "env/all/by_group/frac_all_good": 0.4375, "env/all/by_group/frac_all_bad": 0.25, "time/assemble_training_data": 4.392288446426392, "time/train": 199.53945469856262, "optim/kl_sample_train_v1": 0.002530163386836648, "optim/kl_sample_train_v2": 0.0031276256777346134, "optim/entropy": 0.08004211634397507, "time/compute_kl_sample_train": 0.7994296550750732, "time/save_checkpoint": 36.17083430290222, "time/total": 1315.5855855941772}
|
||||
{"step": 47, "progress/batch": 47, "optim/lr": 0.0001, "progress/done_frac": 0.48, "time/sample": 1975.8064987659454, "env/all/ac_tokens_per_turn": 19.225692695214107, "env/all/ob_tokens_per_turn": 785.7821158690176, "env/all/turns_per_episode": 15.5078125, "env/all/total_episodes": 256, "env/all/total_turns": 3970, "env/all/total_ac_tokens": 76326, "env/all/total_ob_tokens": 3119555, "env/all/reward/total": 0.40234375, "env/all/reward/not_null": 0.06322418136020151, "env/all/reward/final_step": 0.4103585657370518, "env/all/by_group/frac_empty_traj": 0.00390625, "env/all/by_group/frac_status_succeeded": 0.98046875, "env/all/by_group/frac_status_failed": 0.01953125, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.4375, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.3125, "time/assemble_training_data": 4.558520078659058, "time/train": 33.645777463912964, "optim/kl_sample_train_v1": 0.0023027656134217978, "optim/kl_sample_train_v2": 0.0021937803830951452, "optim/entropy": 0.08820999413728714, "time/compute_kl_sample_train": 0.6856629848480225, "time/save_checkpoint": 6.46333646774292, "time/total": 2022.11621260643}
|
||||
{"step": 48, "progress/batch": 48, "optim/lr": 0.0001, "progress/done_frac": 0.49, "test/env/all/ac_tokens_per_turn": 19.0251572327044, "test/env/all/ob_tokens_per_turn": 778.438679245283, "test/env/all/turns_per_episode": 15.9, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 636, "test/env/all/total_ac_tokens": 12100, "test/env/all/total_ob_tokens": 495087, "test/env/all/reward/total": 0.475, "test/env/all/reward/not_null": 0.06289308176100629, "test/env/all/reward/final_step": 0.475, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.475, "test/env/all/by_group/frac_all_bad": 0.525, "time/run_evals": 241.97176218032837, "time/sample": 1137.3114018440247, "env/all/ac_tokens_per_turn": 19.036710719530102, "env/all/ob_tokens_per_turn": 779.2088105726872, "env/all/turns_per_episode": 13.30078125, "env/all/total_episodes": 256, "env/all/total_turns": 3405, "env/all/total_ac_tokens": 64820, "env/all/total_ob_tokens": 2653206, "env/all/reward/total": 0.5, "env/all/reward/not_null": 0.0722466960352423, "env/all/reward/final_step": 0.5203252032520326, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.9609375, "env/all/by_group/frac_status_failed": 0.0390625, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.25, "time/assemble_training_data": 3.4087014198303223, "time/train": 47.34379816055298, "optim/kl_sample_train_v1": 0.002458075527101755, "optim/kl_sample_train_v2": 0.0026815813034772873, "optim/entropy": 0.09200183302164078, "time/compute_kl_sample_train": 0.6059696674346924, "time/save_checkpoint": 6.898648500442505, "time/total": 1438.5848548412323}
|
||||
{"step": 49, "progress/batch": 49, "optim/lr": 0.0001, "progress/done_frac": 0.5, "time/sample": 1573.667727470398, "env/all/ac_tokens_per_turn": 18.994319585082735, "env/all/ob_tokens_per_turn": 788.7787107927884, "env/all/turns_per_episode": 15.81640625, "env/all/total_episodes": 256, "env/all/total_turns": 4049, "env/all/total_ac_tokens": 76908, "env/all/total_ob_tokens": 3193765, "env/all/reward/total": 0.3515625, "env/all/reward/not_null": 0.0632254877747592, "env/all/reward/final_step": 0.3515625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.3125, "time/assemble_training_data": 5.991616487503052, "time/train": 69.59852075576782, "optim/kl_sample_train_v1": 0.0022399311419576406, "optim/kl_sample_train_v2": 0.0026624039746820927, "optim/entropy": 0.08977869898080826, "time/compute_kl_sample_train": 1.0005297660827637, "time/save_checkpoint": 21.01124405860901, "time/total": 1672.4770483970642}
|
||||
{"step": 50, "progress/batch": 50, "optim/lr": 0.0001, "progress/done_frac": 0.51, "time/sample": 1030.6303956508636, "env/all/ac_tokens_per_turn": 19.107879924953096, "env/all/ob_tokens_per_turn": 766.937148217636, "env/all/turns_per_episode": 12.4921875, "env/all/total_episodes": 256, "env/all/total_turns": 3198, "env/all/total_ac_tokens": 61107, "env/all/total_ob_tokens": 2452665, "env/all/reward/total": 0.62890625, "env/all/reward/not_null": 0.08005003126954346, "env/all/reward/final_step": 0.62890625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.3125, "env/all/by_group/frac_all_good": 0.5, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 4.343482971191406, "time/train": 105.05245304107666, "optim/kl_sample_train_v1": 0.006549283396452665, "optim/kl_sample_train_v2": 0.007160091772675514, "optim/entropy": 0.10845502465963364, "time/compute_kl_sample_train": 0.8076376914978027, "time/save_checkpoint": 8.314886331558228, "time/total": 1149.9582378864288}
|
||||
{"step": 51, "progress/batch": 51, "optim/lr": 0.0001, "progress/done_frac": 0.52, "time/sample": 1072.303260087967, "env/all/ac_tokens_per_turn": 19.60715416270972, "env/all/ob_tokens_per_turn": 772.6416587527699, "env/all/turns_per_episode": 12.33984375, "env/all/total_episodes": 256, "env/all/total_turns": 3159, "env/all/total_ac_tokens": 61939, "env/all/total_ob_tokens": 2440775, "env/all/reward/total": 0.63671875, "env/all/reward/not_null": 0.08103830326052548, "env/all/reward/final_step": 0.63671875, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 3.7490439414978027, "time/train": 40.67230701446533, "optim/kl_sample_train_v1": 0.052257146686315536, "optim/kl_sample_train_v2": 0.11037181317806244, "optim/entropy": 0.10460460186004639, "time/compute_kl_sample_train": 0.7903540134429932, "time/save_checkpoint": 7.538922548294067, "time/total": 1126.0808730125427}
|
||||
{"step": 52, "progress/batch": 52, "optim/lr": 0.0001, "progress/done_frac": 0.53, "test/env/all/ac_tokens_per_turn": 19.985849056603772, "test/env/all/ob_tokens_per_turn": 781.9261006289308, "test/env/all/turns_per_episode": 15.9, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 636, "test/env/all/total_ac_tokens": 12711, "test/env/all/total_ob_tokens": 497305, "test/env/all/reward/total": 0.4, "test/env/all/reward/not_null": 0.06289308176100629, "test/env/all/reward/final_step": 0.4, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.4, "test/env/all/by_group/frac_all_bad": 0.6, "time/run_evals": 277.0508608818054, "time/sample": 1335.3677711486816, "env/all/ac_tokens_per_turn": 19.840501792114697, "env/all/ob_tokens_per_turn": 782.6771633384536, "env/all/turns_per_episode": 15.2578125, "env/all/total_episodes": 256, "env/all/total_turns": 3906, "env/all/total_ac_tokens": 77497, "env/all/total_ob_tokens": 3057137, "env/all/reward/total": 0.44921875, "env/all/reward/not_null": 0.06554019457245264, "env/all/reward/final_step": 0.44921875, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.4375, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.375, "time/assemble_training_data": 5.452842473983765, "time/train": 54.436296701431274, "optim/kl_sample_train_v1": 0.0014600170543417335, "optim/kl_sample_train_v2": 0.001379978028126061, "optim/entropy": 0.08130491524934769, "time/compute_kl_sample_train": 0.6842963695526123, "time/save_checkpoint": 6.9232659339904785, "time/total": 1681.0747339725494}
|
||||
{"step": 53, "progress/batch": 53, "optim/lr": 0.0001, "progress/done_frac": 0.54, "time/sample": 1389.577021598816, "env/all/ac_tokens_per_turn": 19.81584699453552, "env/all/ob_tokens_per_turn": 773.8016393442623, "env/all/turns_per_episode": 14.296875, "env/all/total_episodes": 256, "env/all/total_turns": 3660, "env/all/total_ac_tokens": 72526, "env/all/total_ob_tokens": 2832114, "env/all/reward/total": 0.5234375, "env/all/reward/not_null": 0.06994535519125683, "env/all/reward/final_step": 0.5234375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5625, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 3.717839002609253, "time/train": 93.31959962844849, "optim/kl_sample_train_v1": 0.019140426069498062, "optim/kl_sample_train_v2": 0.028128910809755325, "optim/entropy": 0.08217104524374008, "time/compute_kl_sample_train": 0.8353567123413086, "time/save_checkpoint": 7.4786999225616455, "time/total": 1495.792114019394}
|
||||
{"step": 54, "progress/batch": 54, "optim/lr": 0.0001, "progress/done_frac": 0.55, "time/sample": 1174.1880004405975, "env/all/ac_tokens_per_turn": 19.74383477188656, "env/all/ob_tokens_per_turn": 777.0745992601726, "env/all/turns_per_episode": 12.671875, "env/all/total_episodes": 256, "env/all/total_turns": 3244, "env/all/total_ac_tokens": 64049, "env/all/total_ob_tokens": 2520830, "env/all/reward/total": 0.5234375, "env/all/reward/not_null": 0.07891491985203453, "env/all/reward/final_step": 0.5234375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.25, "env/all/by_group/frac_all_good": 0.4375, "env/all/by_group/frac_all_bad": 0.3125, "time/assemble_training_data": 4.447108745574951, "time/train": 27.761561393737793, "optim/kl_sample_train_v1": 0.008149647153913975, "optim/kl_sample_train_v2": 0.009965835139155388, "optim/entropy": 0.08805998414754868, "time/compute_kl_sample_train": 1.1688640117645264, "time/save_checkpoint": 6.892660140991211, "time/total": 1215.5866572856903}
|
||||
{"step": 55, "progress/batch": 55, "optim/lr": 0.0001, "progress/done_frac": 0.56, "time/sample": 2104.985452413559, "env/all/ac_tokens_per_turn": 19.94179600886918, "env/all/ob_tokens_per_turn": 783.2929600886918, "env/all/turns_per_episode": 14.09375, "env/all/total_episodes": 256, "env/all/total_turns": 3608, "env/all/total_ac_tokens": 71950, "env/all/total_ob_tokens": 2826121, "env/all/reward/total": 0.3984375, "env/all/reward/not_null": 0.06984478935698447, "env/all/reward/final_step": 0.40476190476190477, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.984375, "env/all/by_group/frac_status_failed": 0.015625, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.375, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.3125, "time/assemble_training_data": 3.6613874435424805, "time/train": 52.443336725234985, "optim/kl_sample_train_v1": 0.0017715822905302048, "optim/kl_sample_train_v2": 0.0022456578444689512, "optim/entropy": 0.09359055012464523, "time/compute_kl_sample_train": 0.917506217956543, "time/save_checkpoint": 9.891925573348999, "time/total": 2172.8001642227173}
|
||||
{"step": 56, "progress/batch": 56, "optim/lr": 0.0001, "progress/done_frac": 0.57, "test/env/all/ac_tokens_per_turn": 20.06122448979592, "test/env/all/ob_tokens_per_turn": 784.6828885400314, "test/env/all/turns_per_episode": 15.925, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 637, "test/env/all/total_ac_tokens": 12779, "test/env/all/total_ob_tokens": 499843, "test/env/all/reward/total": 0.45, "test/env/all/reward/not_null": 0.06279434850863422, "test/env/all/reward/final_step": 0.45, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.45, "test/env/all/by_group/frac_all_bad": 0.55, "time/run_evals": 555.3367774486542, "time/sample": 1418.7215826511383, "env/all/ac_tokens_per_turn": 20.085819644653032, "env/all/ob_tokens_per_turn": 768.7777405296681, "env/all/turns_per_episode": 11.65234375, "env/all/total_episodes": 256, "env/all/total_turns": 2983, "env/all/total_ac_tokens": 59916, "env/all/total_ob_tokens": 2293264, "env/all/reward/total": 0.6640625, "env/all/reward/not_null": 0.08581964465303386, "env/all/reward/final_step": 0.6640625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.4375, "env/all/by_group/frac_all_good": 0.4375, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 4.7690675258636475, "time/train": 54.26393508911133, "optim/kl_sample_train_v1": 0.0030054182279855013, "optim/kl_sample_train_v2": 0.0034040489699691534, "optim/entropy": 0.08646928519010544, "time/compute_kl_sample_train": 0.7649953365325928, "time/save_checkpoint": 8.29365587234497, "time/total": 2043.4050579071045}
|
||||
{"step": 57, "progress/batch": 57, "optim/lr": 0.0001, "progress/done_frac": 0.58, "time/sample": 2515.297346353531, "env/all/ac_tokens_per_turn": 21.385698808234018, "env/all/ob_tokens_per_turn": 777.1457204767064, "env/all/turns_per_episode": 14.421875, "env/all/total_episodes": 256, "env/all/total_turns": 3692, "env/all/total_ac_tokens": 78956, "env/all/total_ob_tokens": 2869222, "env/all/reward/total": 0.5234375, "env/all/reward/not_null": 0.06554712892741062, "env/all/reward/final_step": 0.5537190082644629, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.9453125, "env/all/by_group/frac_status_failed": 0.0546875, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.6875, "env/all/by_group/frac_all_good": 0.125, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 5.512074708938599, "time/train": 66.37784600257874, "optim/kl_sample_train_v1": 0.002369351452216506, "optim/kl_sample_train_v2": 0.0027050620410591364, "optim/entropy": 0.12012273073196411, "time/compute_kl_sample_train": 0.9201316833496094, "time/save_checkpoint": 8.837544441223145, "time/total": 2598.0109004974365}
|
||||
{"step": 58, "progress/batch": 58, "optim/lr": 0.0001, "progress/done_frac": 0.59, "time/sample": 1171.6722011566162, "env/all/ac_tokens_per_turn": 20.53149721652505, "env/all/ob_tokens_per_turn": 776.1757984178142, "env/all/turns_per_episode": 13.33203125, "env/all/total_episodes": 256, "env/all/total_turns": 3413, "env/all/total_ac_tokens": 70074, "env/all/total_ob_tokens": 2649088, "env/all/reward/total": 0.55859375, "env/all/reward/not_null": 0.0750073249340756, "env/all/reward/final_step": 0.55859375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.3125, "env/all/by_group/frac_all_good": 0.375, "env/all/by_group/frac_all_bad": 0.3125, "time/assemble_training_data": 5.487187147140503, "time/train": 87.89182162284851, "optim/kl_sample_train_v1": 0.008930390700697899, "optim/kl_sample_train_v2": 0.010883083567023277, "optim/entropy": 0.09637615829706192, "time/compute_kl_sample_train": 0.8685758113861084, "time/save_checkpoint": 10.007470607757568, "time/total": 1277.209985256195}
|
||||
{"step": 59, "progress/batch": 59, "optim/lr": 0.0001, "progress/done_frac": 0.6, "time/sample": 1549.5765535831451, "env/all/ac_tokens_per_turn": 20.40258620689655, "env/all/ob_tokens_per_turn": 776.0261494252874, "env/all/turns_per_episode": 13.59375, "env/all/total_episodes": 256, "env/all/total_turns": 3480, "env/all/total_ac_tokens": 71001, "env/all/total_ob_tokens": 2700571, "env/all/reward/total": 0.625, "env/all/reward/not_null": 0.0735632183908046, "env/all/reward/final_step": 0.625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.6875, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 4.863593578338623, "time/train": 32.604957580566406, "optim/kl_sample_train_v1": 0.030850371345877647, "optim/kl_sample_train_v2": 0.06219670549035072, "optim/entropy": 0.08548755943775177, "time/compute_kl_sample_train": 0.8815531730651855, "time/save_checkpoint": 7.229086399078369, "time/total": 1596.1270589828491}
|
||||
{"step": 60, "progress/batch": 60, "optim/lr": 0.0001, "progress/done_frac": 0.61, "test/env/all/ac_tokens_per_turn": 20.11783439490446, "test/env/all/ob_tokens_per_turn": 782.8726114649681, "test/env/all/turns_per_episode": 15.7, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 628, "test/env/all/total_ac_tokens": 12634, "test/env/all/total_ob_tokens": 491644, "test/env/all/reward/total": 0.375, "test/env/all/reward/not_null": 0.06369426751592357, "test/env/all/reward/final_step": 0.375, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.375, "test/env/all/by_group/frac_all_bad": 0.625, "time/run_evals": 238.89682006835938, "time/sample": 1026.4044027328491, "env/all/ac_tokens_per_turn": 20.329295505259804, "env/all/ob_tokens_per_turn": 772.6197003506535, "env/all/turns_per_episode": 12.25390625, "env/all/total_episodes": 256, "env/all/total_turns": 3137, "env/all/total_ac_tokens": 63773, "env/all/total_ob_tokens": 2423708, "env/all/reward/total": 0.60546875, "env/all/reward/not_null": 0.08160663053873127, "env/all/reward/final_step": 0.60546875, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.3125, "env/all/by_group/frac_all_good": 0.375, "env/all/by_group/frac_all_bad": 0.3125, "time/assemble_training_data": 3.1711905002593994, "time/train": 42.27079796791077, "optim/kl_sample_train_v1": 0.0020902184769511223, "optim/kl_sample_train_v2": 0.001907534315250814, "optim/entropy": 0.09197727590799332, "time/compute_kl_sample_train": 0.7930717468261719, "time/save_checkpoint": 10.391453504562378, "time/total": 1322.8016829490662}
|
||||
{"step": 61, "progress/batch": 61, "optim/lr": 0.0001, "progress/done_frac": 0.62, "time/sample": 1210.4934585094452, "env/all/ac_tokens_per_turn": 20.020318930041153, "env/all/ob_tokens_per_turn": 781.3780864197531, "env/all/turns_per_episode": 15.1875, "env/all/total_episodes": 256, "env/all/total_turns": 3888, "env/all/total_ac_tokens": 77839, "env/all/total_ob_tokens": 3037998, "env/all/reward/total": 0.44921875, "env/all/reward/not_null": 0.06584362139917696, "env/all/reward/final_step": 0.44921875, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.375, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.375, "time/assemble_training_data": 4.437525749206543, "time/train": 40.32312226295471, "optim/kl_sample_train_v1": 0.0038340059109032154, "optim/kl_sample_train_v2": 0.0039962586015462875, "optim/entropy": 0.12375254929065704, "time/compute_kl_sample_train": 0.9859981536865234, "time/save_checkpoint": 7.017242193222046, "time/total": 1264.4945268630981}
|
||||
@@ -0,0 +1,60 @@
|
||||
{"step": 0, "progress/batch": 0, "optim/lr": 0.0001, "progress/done_frac": 0.01, "test/env/all/ac_tokens_per_turn": 14.053246753246754, "test/env/all/ob_tokens_per_turn": 834.3961038961039, "test/env/all/turns_per_episode": 19.25, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 770, "test/env/all/total_ac_tokens": 10821, "test/env/all/total_ob_tokens": 642485, "test/env/all/reward/total": 0.075, "test/env/all/reward/not_null": 0.05194805194805195, "test/env/all/reward/final_step": 0.075, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.075, "test/env/all/by_group/frac_all_bad": 0.925, "time/run_evals": 421.2182400226593, "time/sample": 2784.3220977783203, "env/all/ac_tokens_per_turn": 10.84292082360433, "env/all/ob_tokens_per_turn": 822.9537253237105, "env/all/turns_per_episode": 18.40234375, "env/all/total_episodes": 256, "env/all/total_turns": 4711, "env/all/total_ac_tokens": 51081, "env/all/total_ob_tokens": 3876935, "env/all/reward/total": 0.16015625, "env/all/reward/not_null": 0.05306728932286139, "env/all/reward/final_step": 0.164, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.9765625, "env/all/by_group/frac_status_failed": 0.0234375, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5625, "env/all/by_group/frac_all_good": 0.0, "env/all/by_group/frac_all_bad": 0.4375, "time/assemble_training_data": 5.105526924133301, "time/train": 46.48562550544739, "optim/kl_sample_train_v1": 0.003467534901574254, "optim/kl_sample_train_v2": 0.0029367259703576565, "optim/entropy": 0.2427842915058136, "time/compute_kl_sample_train": 0.8190228939056396, "time/save_checkpoint": 2.3012454509735107, "time/total": 3260.9346146583557}
|
||||
{"step": 1, "progress/batch": 1, "optim/lr": 0.0001, "progress/done_frac": 0.02, "time/sample": 1688.5871224403381, "env/all/ac_tokens_per_turn": 17.040462427745666, "env/all/ob_tokens_per_turn": 805.7268786127167, "env/all/turns_per_episode": 16.21875, "env/all/total_episodes": 256, "env/all/total_turns": 4152, "env/all/total_ac_tokens": 70752, "env/all/total_ob_tokens": 3345378, "env/all/reward/total": 0.4140625, "env/all/reward/not_null": 0.06165703275529865, "env/all/reward/final_step": 0.4140625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.125, "env/all/by_group/frac_all_bad": 0.25, "time/assemble_training_data": 4.347002267837524, "time/train": 69.62343001365662, "optim/kl_sample_train_v1": 0.003666399046778679, "optim/kl_sample_train_v2": 0.004268628545105457, "optim/entropy": 0.319495290517807, "time/compute_kl_sample_train": 0.736562967300415, "time/save_checkpoint": 2.7056543827056885, "time/total": 1766.8960900306702}
|
||||
{"step": 2, "progress/batch": 2, "optim/lr": 0.0001, "progress/done_frac": 0.03, "time/sample": 1581.9972834587097, "env/all/ac_tokens_per_turn": 19.226602467649712, "env/all/ob_tokens_per_turn": 774.2338248570569, "env/all/turns_per_episode": 12.98046875, "env/all/total_episodes": 256, "env/all/total_turns": 3323, "env/all/total_ac_tokens": 63890, "env/all/total_ob_tokens": 2572779, "env/all/reward/total": 0.5859375, "env/all/reward/not_null": 0.0770388203430635, "env/all/reward/final_step": 0.5859375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5, "env/all/by_group/frac_all_good": 0.375, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 3.3519937992095947, "time/train": 89.96155214309692, "optim/kl_sample_train_v1": 0.001976216211915016, "optim/kl_sample_train_v2": 0.002010482596233487, "optim/entropy": 0.08305045962333679, "time/compute_kl_sample_train": 0.5703809261322021, "time/save_checkpoint": 2.0511674880981445, "time/total": 1678.797165632248}
|
||||
{"step": 3, "progress/batch": 3, "optim/lr": 0.0001, "progress/done_frac": 0.04, "time/sample": 1131.221518278122, "env/all/ac_tokens_per_turn": 19.229078613694, "env/all/ob_tokens_per_turn": 778.7517610594533, "env/all/turns_per_episode": 13.86328125, "env/all/total_episodes": 256, "env/all/total_turns": 3549, "env/all/total_ac_tokens": 68244, "env/all/total_ob_tokens": 2763790, "env/all/reward/total": 0.5234375, "env/all/reward/not_null": 0.07213299520991828, "env/all/reward/final_step": 0.5234375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.1875, "env/all/by_group/frac_all_good": 0.4375, "env/all/by_group/frac_all_bad": 0.375, "time/assemble_training_data": 4.991642713546753, "time/train": 38.99878907203674, "optim/kl_sample_train_v1": 0.0025155721232295036, "optim/kl_sample_train_v2": 0.0025409122463315725, "optim/entropy": 0.09348075836896896, "time/compute_kl_sample_train": 0.7642896175384521, "time/save_checkpoint": 9.198719024658203, "time/total": 1186.3117921352386}
|
||||
{"step": 4, "progress/batch": 4, "optim/lr": 0.0001, "progress/done_frac": 0.05, "test/env/all/ac_tokens_per_turn": 19.21502209131075, "test/env/all/ob_tokens_per_turn": 789.1281296023564, "test/env/all/turns_per_episode": 16.975, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 679, "test/env/all/total_ac_tokens": 13047, "test/env/all/total_ob_tokens": 535818, "test/env/all/reward/total": 0.325, "test/env/all/reward/not_null": 0.05891016200294551, "test/env/all/reward/final_step": 0.325, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.325, "test/env/all/by_group/frac_all_bad": 0.675, "time/run_evals": 270.3078351020813, "time/sample": 1219.1246752738953, "env/all/ac_tokens_per_turn": 19.452207937395194, "env/all/ob_tokens_per_turn": 784.6000558971492, "env/all/turns_per_episode": 13.9765625, "env/all/total_episodes": 256, "env/all/total_turns": 3578, "env/all/total_ac_tokens": 69600, "env/all/total_ob_tokens": 2807299, "env/all/reward/total": 0.48828125, "env/all/reward/not_null": 0.07154835103409726, "env/all/reward/final_step": 0.48828125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.25, "time/assemble_training_data": 5.932446241378784, "time/train": 56.82917284965515, "optim/kl_sample_train_v1": 0.0006089052767492831, "optim/kl_sample_train_v2": 0.00048017146764323115, "optim/entropy": 0.0908399447798729, "time/compute_kl_sample_train": 0.632587194442749, "time/save_checkpoint": 4.917576789855957, "time/total": 1558.7007393836975}
|
||||
{"step": 5, "progress/batch": 5, "optim/lr": 0.0001, "progress/done_frac": 0.06, "time/sample": 2267.5576622486115, "env/all/ac_tokens_per_turn": 18.964934409687185, "env/all/ob_tokens_per_turn": 783.7066094853683, "env/all/turns_per_episode": 15.484375, "env/all/total_episodes": 256, "env/all/total_turns": 3964, "env/all/total_ac_tokens": 75177, "env/all/total_ob_tokens": 3106613, "env/all/reward/total": 0.359375, "env/all/reward/not_null": 0.06382441977800202, "env/all/reward/final_step": 0.36363636363636365, "env/all/by_group/frac_empty_traj": 0.00390625, "env/all/by_group/frac_status_succeeded": 0.98828125, "env/all/by_group/frac_status_failed": 0.01171875, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.4375, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.375, "time/assemble_training_data": 5.577382326126099, "time/train": 86.45285415649414, "optim/kl_sample_train_v1": 0.0005817243363708258, "optim/kl_sample_train_v2": 0.0004407494270708412, "optim/entropy": 0.1008317843079567, "time/compute_kl_sample_train": 0.9662823677062988, "time/save_checkpoint": 2.711650848388672, "time/total": 2364.5541303157806}
|
||||
{"step": 6, "progress/batch": 6, "optim/lr": 0.0001, "progress/done_frac": 0.07, "time/sample": 1211.5413060188293, "env/all/ac_tokens_per_turn": 20.577408256880734, "env/all/ob_tokens_per_turn": 789.0788417431193, "env/all/turns_per_episode": 13.625, "env/all/total_episodes": 256, "env/all/total_turns": 3488, "env/all/total_ac_tokens": 71774, "env/all/total_ob_tokens": 2752307, "env/all/reward/total": 0.4140625, "env/all/reward/not_null": 0.07339449541284404, "env/all/reward/final_step": 0.4140625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.375, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.3125, "time/assemble_training_data": 5.794479131698608, "time/train": 27.06779408454895, "optim/kl_sample_train_v1": 0.0007299230201169848, "optim/kl_sample_train_v2": 0.0008528808248229325, "optim/entropy": 0.13516773283481598, "time/compute_kl_sample_train": 0.8716697692871094, "time/save_checkpoint": 3.228874921798706, "time/total": 1249.6942925453186}
|
||||
{"step": 7, "progress/batch": 7, "optim/lr": 0.0001, "progress/done_frac": 0.08, "time/sample": 2014.4828419685364, "env/all/ac_tokens_per_turn": 202.28745072273324, "env/all/ob_tokens_per_turn": 958.1980946123522, "env/all/turns_per_episode": 11.890625, "env/all/total_episodes": 256, "env/all/total_turns": 3044, "env/all/total_ac_tokens": 615763, "env/all/total_ob_tokens": 2916755, "env/all/reward/total": 0.4765625, "env/all/reward/not_null": 0.07293035479632064, "env/all/reward/final_step": 0.5495495495495496, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.8671875, "env/all/by_group/frac_status_failed": 0.1328125, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.4375, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.25, "time/assemble_training_data": 5.042330265045166, "time/train": 57.02540731430054, "optim/kl_sample_train_v1": 0.001856487593613565, "optim/kl_sample_train_v2": 0.0019890761468559504, "optim/entropy": 0.6294608116149902, "time/compute_kl_sample_train": 0.6947641372680664, "time/save_checkpoint": 1.886368989944458, "time/total": 2080.305106163025}
|
||||
{"step": 8, "progress/batch": 8, "optim/lr": 0.0001, "progress/done_frac": 0.09, "test/env/all/ac_tokens_per_turn": 237.72784810126583, "test/env/all/ob_tokens_per_turn": 1015.492088607595, "test/env/all/turns_per_episode": 15.8, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 632, "test/env/all/total_ac_tokens": 150244, "test/env/all/total_ob_tokens": 641791, "test/env/all/reward/total": 0.45, "test/env/all/reward/not_null": 0.06329113924050633, "test/env/all/reward/final_step": 0.45, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.45, "test/env/all/by_group/frac_all_bad": 0.55, "time/run_evals": 507.1008405685425, "time/sample": 2169.3294591903687, "env/all/ac_tokens_per_turn": 262.01701323251416, "env/all/ob_tokens_per_turn": 1104.71190926276, "env/all/turns_per_episode": 10.33203125, "env/all/total_episodes": 256, "env/all/total_turns": 2645, "env/all/total_ac_tokens": 693035, "env/all/total_ob_tokens": 2921963, "env/all/reward/total": 0.33984375, "env/all/reward/not_null": 0.06389413988657845, "env/all/reward/final_step": 0.514792899408284, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.66015625, "env/all/by_group/frac_status_failed": 0.33984375, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.4375, "env/all/by_group/frac_all_good": 0.125, "env/all/by_group/frac_all_bad": 0.4375, "time/assemble_training_data": 4.5809326171875, "time/train": 89.03456044197083, "optim/kl_sample_train_v1": 0.0015282161766663194, "optim/kl_sample_train_v2": 0.0016004450153559446, "optim/entropy": 0.6239812970161438, "time/compute_kl_sample_train": 0.6944234371185303, "time/save_checkpoint": 2.267252206802368, "time/total": 2774.1372990608215}
|
||||
{"step": 9, "progress/batch": 9, "optim/lr": 0.0001, "progress/done_frac": 0.1, "time/sample": 4202.58388876915, "env/all/ac_tokens_per_turn": 303.62201656113007, "env/all/ob_tokens_per_turn": 1111.540185094983, "env/all/turns_per_episode": 16.0390625, "env/all/total_episodes": 256, "env/all/total_turns": 4106, "env/all/total_ac_tokens": 1246672, "env/all/total_ob_tokens": 4563984, "env/all/reward/total": 0.40625, "env/all/reward/not_null": 0.062347783731125185, "env/all/reward/final_step": 0.40625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.75, "env/all/by_group/frac_all_good": 0.125, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 8.334127426147461, "time/train": 58.31659746170044, "optim/kl_sample_train_v1": 0.006635453552007675, "optim/kl_sample_train_v2": 0.009234472177922726, "optim/entropy": 0.6496276259422302, "time/compute_kl_sample_train": 1.0985045433044434, "time/save_checkpoint": 2.2972612380981445, "time/total": 4273.7903089523315}
|
||||
{"step": 10, "progress/batch": 10, "optim/lr": 0.0001, "progress/done_frac": 0.11, "time/sample": 4479.450872659683, "env/all/ac_tokens_per_turn": 271.5405667231775, "env/all/ob_tokens_per_turn": 1062.9847420682975, "env/all/turns_per_episode": 16.12890625, "env/all/total_episodes": 256, "env/all/total_turns": 4129, "env/all/total_ac_tokens": 1121191, "env/all/total_ob_tokens": 4389064, "env/all/reward/total": 0.41796875, "env/all/reward/not_null": 0.06151610559457496, "env/all/reward/final_step": 0.421259842519685, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.9921875, "env/all/by_group/frac_status_failed": 0.0078125, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.6875, "env/all/by_group/frac_all_good": 0.125, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 7.533106088638306, "time/train": 110.55197167396545, "optim/kl_sample_train_v1": 0.001617829198949039, "optim/kl_sample_train_v2": 0.0015847149770706892, "optim/entropy": 0.6342601776123047, "time/compute_kl_sample_train": 1.0230424404144287, "time/save_checkpoint": 2.4593355655670166, "time/total": 4612.204810857773}
|
||||
{"step": 11, "progress/batch": 11, "optim/lr": 0.0001, "progress/done_frac": 0.12, "time/sample": 4117.679263114929, "env/all/ac_tokens_per_turn": 306.1193776520509, "env/all/ob_tokens_per_turn": 1195.2449787835926, "env/all/turns_per_episode": 13.80859375, "env/all/total_episodes": 256, "env/all/total_turns": 3535, "env/all/total_ac_tokens": 1082132, "env/all/total_ob_tokens": 4225191, "env/all/reward/total": 0.5234375, "env/all/reward/not_null": 0.07072135785007072, "env/all/reward/final_step": 0.536, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.9765625, "env/all/by_group/frac_status_failed": 0.0234375, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 6.621509313583374, "time/train": 69.07309460639954, "optim/kl_sample_train_v1": 0.006483871024101973, "optim/kl_sample_train_v2": 0.007008221000432968, "optim/entropy": 0.6295162439346313, "time/compute_kl_sample_train": 0.962735652923584, "time/save_checkpoint": 2.711141586303711, "time/total": 4198.593338251114}
|
||||
{"step": 12, "progress/batch": 12, "optim/lr": 0.0001, "progress/done_frac": 0.13, "test/env/all/ac_tokens_per_turn": 261.66022544283413, "test/env/all/ob_tokens_per_turn": 1174.7858293075685, "test/env/all/turns_per_episode": 15.525, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 621, "test/env/all/total_ac_tokens": 162491, "test/env/all/total_ob_tokens": 729542, "test/env/all/reward/total": 0.475, "test/env/all/reward/not_null": 0.0644122383252818, "test/env/all/reward/final_step": 0.475, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.475, "test/env/all/by_group/frac_all_bad": 0.525, "time/run_evals": 979.0780417919159, "time/sample": 2374.778035879135, "env/all/ac_tokens_per_turn": 271.14108830237865, "env/all/ob_tokens_per_turn": 1033.8595633756925, "env/all/turns_per_episode": 11.98828125, "env/all/total_episodes": 256, "env/all/total_turns": 3069, "env/all/total_ac_tokens": 832132, "env/all/total_ob_tokens": 3172915, "env/all/reward/total": 0.66015625, "env/all/reward/not_null": 0.08341479309221245, "env/all/reward/final_step": 0.66015625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 5.01811957359314, "time/train": 105.28886771202087, "optim/kl_sample_train_v1": 0.0034243962727487087, "optim/kl_sample_train_v2": 0.0036716139875352383, "optim/entropy": 0.6468590497970581, "time/compute_kl_sample_train": 0.7767727375030518, "time/save_checkpoint": 1.848130464553833, "time/total": 3467.8668291568756}
|
||||
{"step": 13, "progress/batch": 13, "optim/lr": 0.0001, "progress/done_frac": 0.14, "time/sample": 2169.3915231227875, "env/all/ac_tokens_per_turn": 293.46173469387753, "env/all/ob_tokens_per_turn": 1048.2079081632653, "env/all/turns_per_episode": 12.25, "env/all/total_episodes": 256, "env/all/total_turns": 3136, "env/all/total_ac_tokens": 920296, "env/all/total_ob_tokens": 3287180, "env/all/reward/total": 0.640625, "env/all/reward/not_null": 0.07940051020408163, "env/all/reward/final_step": 0.6586345381526104, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.97265625, "env/all/by_group/frac_status_failed": 0.02734375, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.8125, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 7.271445035934448, "time/train": 63.2845504283905, "optim/kl_sample_train_v1": 0.008555172942578793, "optim/kl_sample_train_v2": 0.00961640477180481, "optim/entropy": 0.6521143913269043, "time/compute_kl_sample_train": 0.8111996650695801, "time/save_checkpoint": 2.7817232608795166, "time/total": 2245.0349979400635}
|
||||
{"step": 14, "progress/batch": 14, "optim/lr": 0.0001, "progress/done_frac": 0.15, "time/sample": 3218.110985517502, "env/all/ac_tokens_per_turn": 397.12382445141066, "env/all/ob_tokens_per_turn": 1224.1890282131662, "env/all/turns_per_episode": 12.4609375, "env/all/total_episodes": 256, "env/all/total_turns": 3190, "env/all/total_ac_tokens": 1266825, "env/all/total_ob_tokens": 3905163, "env/all/reward/total": 0.5703125, "env/all/reward/not_null": 0.07931034482758621, "env/all/reward/final_step": 0.5770750988142292, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.98828125, "env/all/by_group/frac_status_failed": 0.01171875, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.125, "env/all/by_group/frac_all_bad": 0.25, "time/assemble_training_data": 9.570266008377075, "time/train": 106.87075543403625, "optim/kl_sample_train_v1": 0.002437794115394354, "optim/kl_sample_train_v2": 0.0024364935234189034, "optim/entropy": 0.689680278301239, "time/compute_kl_sample_train": 1.2706563472747803, "time/save_checkpoint": 2.0297698974609375, "time/total": 3339.454024553299}
|
||||
{"step": 15, "progress/batch": 15, "optim/lr": 0.0001, "progress/done_frac": 0.16, "time/sample": 2691.8187396526337, "env/all/ac_tokens_per_turn": 320.1151816206147, "env/all/ob_tokens_per_turn": 969.4445824278174, "env/all/turns_per_episode": 12.58203125, "env/all/total_episodes": 256, "env/all/total_turns": 3221, "env/all/total_ac_tokens": 1031091, "env/all/total_ob_tokens": 3122581, "env/all/reward/total": 0.64453125, "env/all/reward/not_null": 0.07947842285004657, "env/all/reward/final_step": 0.64453125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5625, "env/all/by_group/frac_all_good": 0.375, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 7.27423620223999, "time/train": 53.53718090057373, "optim/kl_sample_train_v1": 0.011984292417764664, "optim/kl_sample_train_v2": 0.017267821356654167, "optim/entropy": 0.727200448513031, "time/compute_kl_sample_train": 1.1149249076843262, "time/save_checkpoint": 2.7642526626586914, "time/total": 2757.639039039612}
|
||||
{"step": 16, "progress/batch": 16, "optim/lr": 0.0001, "progress/done_frac": 0.17, "test/env/all/ac_tokens_per_turn": 246.94830371567045, "test/env/all/ob_tokens_per_turn": 960.9693053311793, "test/env/all/turns_per_episode": 15.475, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 619, "test/env/all/total_ac_tokens": 152861, "test/env/all/total_ob_tokens": 594840, "test/env/all/reward/total": 0.5, "test/env/all/reward/not_null": 0.06462035541195477, "test/env/all/reward/final_step": 0.5, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.5, "test/env/all/by_group/frac_all_bad": 0.5, "time/run_evals": 486.8484752178192, "time/sample": 2117.0847585201263, "env/all/ac_tokens_per_turn": 264.6111111111111, "env/all/ob_tokens_per_turn": 1000.0003211303789, "env/all/turns_per_episode": 12.1640625, "env/all/total_episodes": 256, "env/all/total_turns": 3114, "env/all/total_ac_tokens": 823999, "env/all/total_ob_tokens": 3114001, "env/all/reward/total": 0.62109375, "env/all/reward/not_null": 0.08220937700706486, "env/all/reward/final_step": 0.62109375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.75, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 5.043194532394409, "time/train": 89.91491603851318, "optim/kl_sample_train_v1": 0.0014470259193331003, "optim/kl_sample_train_v2": 0.0014987410977482796, "optim/entropy": 0.6801726818084717, "time/compute_kl_sample_train": 1.1004564762115479, "time/save_checkpoint": 1.9055817127227783, "time/total": 2703.167952299118}
|
||||
{"step": 17, "progress/batch": 17, "optim/lr": 0.0001, "progress/done_frac": 0.18, "time/sample": 2841.268962621689, "env/all/ac_tokens_per_turn": 238.92634643377002, "env/all/ob_tokens_per_turn": 932.2093158660845, "env/all/turns_per_episode": 13.41796875, "env/all/total_episodes": 256, "env/all/total_turns": 3435, "env/all/total_ac_tokens": 820712, "env/all/total_ob_tokens": 3202139, "env/all/reward/total": 0.6484375, "env/all/reward/not_null": 0.0745269286754003, "env/all/reward/final_step": 0.6484375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5625, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 7.049923658370972, "time/train": 43.245457887649536, "optim/kl_sample_train_v1": 0.0015425697201862931, "optim/kl_sample_train_v2": 0.0015569992829114199, "optim/entropy": 0.6646475195884705, "time/compute_kl_sample_train": 0.8046324253082275, "time/save_checkpoint": 3.8916943073272705, "time/total": 2897.650405406952}
|
||||
{"step": 18, "progress/batch": 18, "optim/lr": 0.0001, "progress/done_frac": 0.19, "time/sample": 3068.235276699066, "env/all/ac_tokens_per_turn": 251.2981612446959, "env/all/ob_tokens_per_turn": 934.1861386138614, "env/all/turns_per_episode": 13.80859375, "env/all/total_episodes": 256, "env/all/total_turns": 3535, "env/all/total_ac_tokens": 888339, "env/all/total_ob_tokens": 3302348, "env/all/reward/total": 0.578125, "env/all/reward/not_null": 0.07241867043847242, "env/all/reward/final_step": 0.578125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 6.65581488609314, "time/train": 79.14709448814392, "optim/kl_sample_train_v1": 0.0014944416470825672, "optim/kl_sample_train_v2": 0.001568509265780449, "optim/entropy": 0.6969689130783081, "time/compute_kl_sample_train": 0.845465898513794, "time/save_checkpoint": 1.8575096130371094, "time/total": 3167.81476855278}
|
||||
{"step": 19, "progress/batch": 19, "optim/lr": 0.0001, "progress/done_frac": 0.2, "time/sample": 4616.636655807495, "env/all/ac_tokens_per_turn": 275.0129232359783, "env/all/ob_tokens_per_turn": 974.781597311967, "env/all/turns_per_episode": 15.11328125, "env/all/total_episodes": 256, "env/all/total_turns": 3869, "env/all/total_ac_tokens": 1064025, "env/all/total_ob_tokens": 3771430, "env/all/reward/total": 0.5078125, "env/all/reward/not_null": 0.0661669682088395, "env/all/reward/final_step": 0.5078125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 6.252272367477417, "time/train": 52.60709285736084, "optim/kl_sample_train_v1": 0.0014762739883735776, "optim/kl_sample_train_v2": 0.0015038329875096679, "optim/entropy": 0.6941823959350586, "time/compute_kl_sample_train": 1.2883708477020264, "time/save_checkpoint": 5.205260515213013, "time/total": 4683.493750572205}
|
||||
{"step": 20, "progress/batch": 20, "optim/lr": 0.0001, "progress/done_frac": 0.21, "test/env/all/ac_tokens_per_turn": 302.2988115449915, "test/env/all/ob_tokens_per_turn": 947.5398981324279, "test/env/all/turns_per_episode": 14.725, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 589, "test/env/all/total_ac_tokens": 178054, "test/env/all/total_ob_tokens": 558101, "test/env/all/reward/total": 0.5, "test/env/all/reward/not_null": 0.06791171477079797, "test/env/all/reward/final_step": 0.5, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.5, "test/env/all/by_group/frac_all_bad": 0.5, "time/run_evals": 857.3917918205261, "time/sample": 2298.8821787834167, "env/all/ac_tokens_per_turn": 274.1205400192864, "env/all/ob_tokens_per_turn": 946.219543555127, "env/all/turns_per_episode": 12.15234375, "env/all/total_episodes": 256, "env/all/total_turns": 3111, "env/all/total_ac_tokens": 852789, "env/all/total_ob_tokens": 2943689, "env/all/reward/total": 0.65625, "env/all/reward/not_null": 0.0822886531661845, "env/all/reward/final_step": 0.65625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.75, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 6.698408126831055, "time/train": 41.08572578430176, "optim/kl_sample_train_v1": 0.001337104826234281, "optim/kl_sample_train_v2": 0.0014477875083684921, "optim/entropy": 0.7035751938819885, "time/compute_kl_sample_train": 1.4253275394439697, "time/save_checkpoint": 2.287541151046753, "time/total": 3208.968867778778}
|
||||
{"step": 21, "progress/batch": 21, "optim/lr": 0.0001, "progress/done_frac": 0.22, "time/sample": 2633.239884376526, "env/all/ac_tokens_per_turn": 363.8806929309863, "env/all/ob_tokens_per_turn": 1220.4216261525567, "env/all/turns_per_episode": 13.98046875, "env/all/total_episodes": 256, "env/all/total_turns": 3579, "env/all/total_ac_tokens": 1302329, "env/all/total_ob_tokens": 4367889, "env/all/reward/total": 0.53515625, "env/all/reward/not_null": 0.07152835987706063, "env/all/reward/final_step": 0.53515625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 7.275972843170166, "time/train": 87.38467168807983, "optim/kl_sample_train_v1": 0.0014129201881587505, "optim/kl_sample_train_v2": 0.001352781429886818, "optim/entropy": 0.7042653560638428, "time/compute_kl_sample_train": 1.3605904579162598, "time/save_checkpoint": 4.103897333145142, "time/total": 2734.5848569869995}
|
||||
{"step": 22, "progress/batch": 22, "optim/lr": 0.0001, "progress/done_frac": 0.23, "time/sample": 3664.6965506076813, "env/all/ac_tokens_per_turn": 320.3224254090472, "env/all/ob_tokens_per_turn": 999.3987808790504, "env/all/turns_per_episode": 12.17578125, "env/all/total_episodes": 256, "env/all/total_turns": 3117, "env/all/total_ac_tokens": 998445, "env/all/total_ob_tokens": 3115126, "env/all/reward/total": 0.69140625, "env/all/reward/not_null": 0.08180943214629452, "env/all/reward/final_step": 0.6941176470588235, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.99609375, "env/all/by_group/frac_status_failed": 0.00390625, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.75, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 7.181323289871216, "time/train": 51.21815323829651, "optim/kl_sample_train_v1": 0.006406843196600676, "optim/kl_sample_train_v2": 0.0070784674026072025, "optim/entropy": 0.7174084186553955, "time/compute_kl_sample_train": 1.1318855285644531, "time/save_checkpoint": 1.8485894203186035, "time/total": 3727.7556657791138}
|
||||
{"step": 23, "progress/batch": 23, "optim/lr": 0.0001, "progress/done_frac": 0.24, "time/sample": 3780.619439601898, "env/all/ac_tokens_per_turn": 307.72612055641423, "env/all/ob_tokens_per_turn": 1088.2040185471405, "env/all/turns_per_episode": 12.63671875, "env/all/total_episodes": 256, "env/all/total_turns": 3235, "env/all/total_ac_tokens": 995494, "env/all/total_ob_tokens": 3520340, "env/all/reward/total": 0.6328125, "env/all/reward/not_null": 0.07913446676970634, "env/all/reward/final_step": 0.6328125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 7.634361505508423, "time/train": 83.98769354820251, "optim/kl_sample_train_v1": 0.001434251433238387, "optim/kl_sample_train_v2": 0.00142250070348382, "optim/entropy": 0.6762672662734985, "time/compute_kl_sample_train": 1.1535468101501465, "time/save_checkpoint": 1.864293098449707, "time/total": 3876.740616798401}
|
||||
{"step": 24, "progress/batch": 24, "optim/lr": 0.0001, "progress/done_frac": 0.25, "test/env/all/ac_tokens_per_turn": 316.12387791741475, "test/env/all/ob_tokens_per_turn": 1079.666068222621, "test/env/all/turns_per_episode": 13.925, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 557, "test/env/all/total_ac_tokens": 176081, "test/env/all/total_ob_tokens": 601374, "test/env/all/reward/total": 0.525, "test/env/all/reward/not_null": 0.06822262118491922, "test/env/all/reward/final_step": 0.5526315789473685, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 0.95, "test/env/all/by_group/frac_status_failed": 0.05, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.525, "test/env/all/by_group/frac_all_bad": 0.475, "time/run_evals": 950.8659105300903, "time/sample": 3998.145159959793, "env/all/ac_tokens_per_turn": 326.91166358106324, "env/all/ob_tokens_per_turn": 1121.9169531869875, "env/all/turns_per_episode": 14.76953125, "env/all/total_episodes": 256, "env/all/total_turns": 3781, "env/all/total_ac_tokens": 1236053, "env/all/total_ob_tokens": 4241968, "env/all/reward/total": 0.4765625, "env/all/reward/not_null": 0.0674424755355726, "env/all/reward/final_step": 0.47843137254901963, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.99609375, "env/all/by_group/frac_status_failed": 0.00390625, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 9.54194712638855, "time/train": 53.89010190963745, "optim/kl_sample_train_v1": 0.001357639324851334, "optim/kl_sample_train_v2": 0.0014809229178354144, "optim/entropy": 0.6988740563392639, "time/compute_kl_sample_train": 1.4130141735076904, "time/save_checkpoint": 4.736116409301758, "time/total": 5020.099388599396}
|
||||
{"step": 25, "progress/batch": 25, "optim/lr": 0.0001, "progress/done_frac": 0.26, "time/sample": 2485.168539762497, "env/all/ac_tokens_per_turn": 237.49561557348298, "env/all/ob_tokens_per_turn": 898.1943177832339, "env/all/turns_per_episode": 11.13671875, "env/all/total_episodes": 256, "env/all/total_turns": 2851, "env/all/total_ac_tokens": 677100, "env/all/total_ob_tokens": 2560752, "env/all/reward/total": 0.7734375, "env/all/reward/not_null": 0.08979305506839705, "env/all/reward/final_step": 0.7734375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.75, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 4.7521398067474365, "time/train": 81.88890838623047, "optim/kl_sample_train_v1": 0.0015591023257002234, "optim/kl_sample_train_v2": 0.0018107729265466332, "optim/entropy": 0.6533334255218506, "time/compute_kl_sample_train": 1.01344633102417, "time/save_checkpoint": 1.8682782649993896, "time/total": 2575.7976121902466}
|
||||
{"step": 26, "progress/batch": 26, "optim/lr": 0.0001, "progress/done_frac": 0.27, "time/sample": 4435.216113328934, "env/all/ac_tokens_per_turn": 288.19513513513516, "env/all/ob_tokens_per_turn": 981.4321621621622, "env/all/turns_per_episode": 14.453125, "env/all/total_episodes": 256, "env/all/total_turns": 3700, "env/all/total_ac_tokens": 1066322, "env/all/total_ob_tokens": 3631299, "env/all/reward/total": 0.56640625, "env/all/reward/not_null": 0.06891891891891892, "env/all/reward/final_step": 0.5686274509803921, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.99609375, "env/all/by_group/frac_status_failed": 0.00390625, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.875, "env/all/by_group/frac_all_good": 0.125, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 8.302667379379272, "time/train": 54.26551079750061, "optim/kl_sample_train_v1": 0.0016176922945305705, "optim/kl_sample_train_v2": 0.0015375918010249734, "optim/entropy": 0.7004058361053467, "time/compute_kl_sample_train": 0.9398593902587891, "time/save_checkpoint": 1.9418509006500244, "time/total": 4502.224123477936}
|
||||
{"step": 27, "progress/batch": 27, "optim/lr": 0.0001, "progress/done_frac": 0.28, "time/sample": 3731.5673871040344, "env/all/ac_tokens_per_turn": 311.4904214559387, "env/all/ob_tokens_per_turn": 999.3636899498969, "env/all/turns_per_episode": 13.25390625, "env/all/total_episodes": 256, "env/all/total_turns": 3393, "env/all/total_ac_tokens": 1056887, "env/all/total_ob_tokens": 3390841, "env/all/reward/total": 0.53125, "env/all/reward/not_null": 0.07544945475979958, "env/all/reward/final_step": 0.53125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5625, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 7.88559365272522, "time/train": 89.6067910194397, "optim/kl_sample_train_v1": 0.0018434636294841766, "optim/kl_sample_train_v2": 0.0018653650768101215, "optim/entropy": 0.7047017812728882, "time/compute_kl_sample_train": 1.2321929931640625, "time/save_checkpoint": 1.9282498359680176, "time/total": 3833.508590221405}
|
||||
{"step": 28, "progress/batch": 28, "optim/lr": 0.0001, "progress/done_frac": 0.29, "test/env/all/ac_tokens_per_turn": 292.6201413427562, "test/env/all/ob_tokens_per_turn": 906.9505300353356, "test/env/all/turns_per_episode": 14.15, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 566, "test/env/all/total_ac_tokens": 165623, "test/env/all/total_ob_tokens": 513334, "test/env/all/reward/total": 0.525, "test/env/all/reward/not_null": 0.0706713780918728, "test/env/all/reward/final_step": 0.525, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.525, "test/env/all/by_group/frac_all_bad": 0.475, "time/run_evals": 935.5749723911285, "time/sample": 3425.72634100914, "env/all/ac_tokens_per_turn": 258.8397394136808, "env/all/ob_tokens_per_turn": 914.4016286644951, "env/all/turns_per_episode": 11.9921875, "env/all/total_episodes": 256, "env/all/total_turns": 3070, "env/all/total_ac_tokens": 794638, "env/all/total_ob_tokens": 2807213, "env/all/reward/total": 0.625, "env/all/reward/not_null": 0.08338762214983714, "env/all/reward/final_step": 0.625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5, "env/all/by_group/frac_all_good": 0.375, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 5.877866744995117, "time/train": 46.47092580795288, "optim/kl_sample_train_v1": 0.001589785679243505, "optim/kl_sample_train_v2": 0.0016265209997072816, "optim/entropy": 0.6902716755867004, "time/compute_kl_sample_train": 1.0274457931518555, "time/save_checkpoint": 2.6785075664520264, "time/total": 4418.272552490234}
|
||||
{"step": 29, "progress/batch": 29, "optim/lr": 0.0001, "progress/done_frac": 0.3, "time/sample": 4909.224169969559, "env/all/ac_tokens_per_turn": 311.28252480705623, "env/all/ob_tokens_per_turn": 992.4236493936053, "env/all/turns_per_episode": 14.171875, "env/all/total_episodes": 256, "env/all/total_turns": 3628, "env/all/total_ac_tokens": 1129333, "env/all/total_ob_tokens": 3600513, "env/all/reward/total": 0.53515625, "env/all/reward/not_null": 0.07056229327453142, "env/all/reward/final_step": 0.53515625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.6875, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 6.197209358215332, "time/train": 84.73787641525269, "optim/kl_sample_train_v1": 0.0014865307603031397, "optim/kl_sample_train_v2": 0.0015135215362533927, "optim/entropy": 0.6872588396072388, "time/compute_kl_sample_train": 0.9402561187744141, "time/save_checkpoint": 1.8891339302062988, "time/total": 5003.907386302948}
|
||||
{"step": 30, "progress/batch": 30, "optim/lr": 0.0001, "progress/done_frac": 0.31, "time/sample": 4358.9074676036835, "env/all/ac_tokens_per_turn": 307.71352702280535, "env/all/ob_tokens_per_turn": 981.8981568259919, "env/all/turns_per_episode": 12.50390625, "env/all/total_episodes": 256, "env/all/total_turns": 3201, "env/all/total_ac_tokens": 984991, "env/all/total_ob_tokens": 3143056, "env/all/reward/total": 0.6328125, "env/all/reward/not_null": 0.07935020306154326, "env/all/reward/final_step": 0.6377952755905512, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.9921875, "env/all/by_group/frac_status_failed": 0.0078125, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.4375, "env/all/by_group/frac_all_good": 0.375, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 5.288787364959717, "time/train": 40.50704860687256, "optim/kl_sample_train_v1": 0.0015033019008114934, "optim/kl_sample_train_v2": 0.0015026405453681946, "optim/entropy": 0.6864070296287537, "time/compute_kl_sample_train": 0.8341255187988281, "time/save_checkpoint": 6.848438024520874, "time/total": 4413.546148300171}
|
||||
{"step": 31, "progress/batch": 31, "optim/lr": 0.0001, "progress/done_frac": 0.32, "time/sample": 4291.76060962677, "env/all/ac_tokens_per_turn": 341.4409015942826, "env/all/ob_tokens_per_turn": 1043.384277075316, "env/all/turns_per_episode": 14.2109375, "env/all/total_episodes": 256, "env/all/total_turns": 3638, "env/all/total_ac_tokens": 1242162, "env/all/total_ob_tokens": 3795832, "env/all/reward/total": 0.5234375, "env/all/reward/not_null": 0.07036833424958769, "env/all/reward/final_step": 0.5234375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.6875, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 6.552643537521362, "time/train": 91.0669298171997, "optim/kl_sample_train_v1": 0.0016793370014056563, "optim/kl_sample_train_v2": 0.001644205767661333, "optim/entropy": 0.6967270970344543, "time/compute_kl_sample_train": 0.9764766693115234, "time/save_checkpoint": 1.8716380596160889, "time/total": 4393.636474847794}
|
||||
{"step": 32, "progress/batch": 32, "optim/lr": 0.0001, "progress/done_frac": 0.33, "test/env/all/ac_tokens_per_turn": 382.0767824497258, "test/env/all/ob_tokens_per_turn": 1020.3400365630713, "test/env/all/turns_per_episode": 13.675, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 547, "test/env/all/total_ac_tokens": 208996, "test/env/all/total_ob_tokens": 558126, "test/env/all/reward/total": 0.6, "test/env/all/reward/not_null": 0.07312614259597806, "test/env/all/reward/final_step": 0.6, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.6, "test/env/all/by_group/frac_all_bad": 0.4, "time/run_evals": 761.4642856121063, "time/sample": 3414.441570997238, "env/all/ac_tokens_per_turn": 331.9624168834923, "env/all/ob_tokens_per_turn": 1005.6374674761491, "env/all/turns_per_episode": 13.51171875, "env/all/total_episodes": 256, "env/all/total_turns": 3459, "env/all/total_ac_tokens": 1148258, "env/all/total_ob_tokens": 3478500, "env/all/reward/total": 0.58203125, "env/all/reward/not_null": 0.07400982943047124, "env/all/reward/final_step": 0.58203125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 6.714991331100464, "time/train": 52.56337547302246, "optim/kl_sample_train_v1": 0.010598676279187202, "optim/kl_sample_train_v2": 0.011397029273211956, "optim/entropy": 0.7212075591087341, "time/compute_kl_sample_train": 0.9124653339385986, "time/save_checkpoint": 2.1634459495544434, "time/total": 4239.195264101028}
|
||||
{"step": 33, "progress/batch": 33, "optim/lr": 0.0001, "progress/done_frac": 0.34, "time/sample": 2614.759418487549, "env/all/ac_tokens_per_turn": 350.26873156342185, "env/all/ob_tokens_per_turn": 1028.8976401179941, "env/all/turns_per_episode": 13.2421875, "env/all/total_episodes": 256, "env/all/total_turns": 3390, "env/all/total_ac_tokens": 1187411, "env/all/total_ob_tokens": 3487963, "env/all/reward/total": 0.5625, "env/all/reward/not_null": 0.07551622418879056, "env/all/reward/final_step": 0.5625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5625, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 6.578657150268555, "time/train": 89.24985432624817, "optim/kl_sample_train_v1": 0.0014934524660930037, "optim/kl_sample_train_v2": 0.0015244251117110252, "optim/entropy": 0.6912075281143188, "time/compute_kl_sample_train": 1.2626512050628662, "time/save_checkpoint": 2.6889352798461914, "time/total": 2724.9945318698883}
|
||||
{"step": 34, "progress/batch": 34, "optim/lr": 0.0001, "progress/done_frac": 0.35, "time/sample": 4303.720197916031, "env/all/ac_tokens_per_turn": 383.07463976945246, "env/all/ob_tokens_per_turn": 1062.2380403458212, "env/all/turns_per_episode": 13.5546875, "env/all/total_episodes": 256, "env/all/total_turns": 3470, "env/all/total_ac_tokens": 1329269, "env/all/total_ob_tokens": 3685966, "env/all/reward/total": 0.66015625, "env/all/reward/not_null": 0.07377521613832853, "env/all/reward/final_step": 0.66015625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.75, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 6.551898956298828, "time/train": 46.68874406814575, "optim/kl_sample_train_v1": 0.001402918016538024, "optim/kl_sample_train_v2": 0.0014276709407567978, "optim/entropy": 0.7002680897712708, "time/compute_kl_sample_train": 0.9661386013031006, "time/save_checkpoint": 2.244631052017212, "time/total": 4361.553231239319}
|
||||
{"step": 35, "progress/batch": 35, "optim/lr": 0.0001, "progress/done_frac": 0.36, "time/sample": 3980.647790670395, "env/all/ac_tokens_per_turn": 406.3917022574741, "env/all/ob_tokens_per_turn": 1144.8404514948138, "env/all/turns_per_episode": 12.8046875, "env/all/total_episodes": 256, "env/all/total_turns": 3278, "env/all/total_ac_tokens": 1332152, "env/all/total_ob_tokens": 3752787, "env/all/reward/total": 0.64453125, "env/all/reward/not_null": 0.07809640024405125, "env/all/reward/final_step": 0.64453125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.8125, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 6.603736639022827, "time/train": 97.34593749046326, "optim/kl_sample_train_v1": 0.0014379617059603333, "optim/kl_sample_train_v2": 0.0016243550926446915, "optim/entropy": 0.6804869174957275, "time/compute_kl_sample_train": 0.9671566486358643, "time/save_checkpoint": 2.1280770301818848, "time/total": 4088.7091863155365}
|
||||
{"step": 36, "progress/batch": 36, "optim/lr": 0.0001, "progress/done_frac": 0.37, "test/env/all/ac_tokens_per_turn": 386.07284768211923, "test/env/all/ob_tokens_per_turn": 1091.1837748344371, "test/env/all/turns_per_episode": 15.1, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 604, "test/env/all/total_ac_tokens": 233188, "test/env/all/total_ob_tokens": 659075, "test/env/all/reward/total": 0.525, "test/env/all/reward/not_null": 0.06622516556291391, "test/env/all/reward/final_step": 0.525, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.525, "test/env/all/by_group/frac_all_bad": 0.475, "time/run_evals": 976.4388554096222, "time/sample": 3449.63649392128, "env/all/ac_tokens_per_turn": 380.7557395558901, "env/all/ob_tokens_per_turn": 1119.5848701543093, "env/all/turns_per_episode": 10.37890625, "env/all/total_episodes": 256, "env/all/total_turns": 2657, "env/all/total_ac_tokens": 1011668, "env/all/total_ob_tokens": 2974737, "env/all/reward/total": 0.75, "env/all/reward/not_null": 0.09634926608957471, "env/all/reward/final_step": 0.75, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 5.052304983139038, "time/train": 53.08655285835266, "optim/kl_sample_train_v1": 0.00940195843577385, "optim/kl_sample_train_v2": 0.01049815770238638, "optim/entropy": 0.6510719656944275, "time/compute_kl_sample_train": 0.7812111377716064, "time/save_checkpoint": 2.065070390701294, "time/total": 4487.926545381546}
|
||||
{"step": 37, "progress/batch": 37, "optim/lr": 0.0001, "progress/done_frac": 0.38, "time/sample": 3878.550344467163, "env/all/ac_tokens_per_turn": 236.79851411589897, "env/all/ob_tokens_per_turn": 894.0995542347697, "env/all/turns_per_episode": 13.14453125, "env/all/total_episodes": 256, "env/all/total_turns": 3365, "env/all/total_ac_tokens": 796827, "env/all/total_ob_tokens": 3008645, "env/all/reward/total": 0.63671875, "env/all/reward/not_null": 0.07578008915304606, "env/all/reward/final_step": 0.6392156862745098, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.99609375, "env/all/by_group/frac_status_failed": 0.00390625, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.8125, "env/all/by_group/frac_all_good": 0.125, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 7.2508673667907715, "time/train": 75.44549679756165, "optim/kl_sample_train_v1": 0.0016431823605671525, "optim/kl_sample_train_v2": 0.0015681164804846048, "optim/entropy": 0.6719589829444885, "time/compute_kl_sample_train": 1.1993768215179443, "time/save_checkpoint": 2.0493526458740234, "time/total": 3965.7610223293304}
|
||||
{"step": 38, "progress/batch": 38, "optim/lr": 0.0001, "progress/done_frac": 0.39, "time/sample": 2540.7450337409973, "env/all/ac_tokens_per_turn": 169.3174698795181, "env/all/ob_tokens_per_turn": 794.810843373494, "env/all/turns_per_episode": 12.96875, "env/all/total_episodes": 256, "env/all/total_turns": 3320, "env/all/total_ac_tokens": 562134, "env/all/total_ob_tokens": 2638772, "env/all/reward/total": 0.671875, "env/all/reward/not_null": 0.07710843373493977, "env/all/reward/final_step": 0.671875, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.8125, "env/all/by_group/frac_all_good": 0.125, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 5.701933145523071, "time/train": 103.45390820503235, "optim/kl_sample_train_v1": 0.0017995049711316824, "optim/kl_sample_train_v2": 0.0017286419169977307, "optim/entropy": 0.6441831588745117, "time/compute_kl_sample_train": 1.0334792137145996, "time/save_checkpoint": 1.8902838230133057, "time/total": 2654.191596508026}
|
||||
{"step": 39, "progress/batch": 39, "optim/lr": 0.0001, "progress/done_frac": 0.4, "time/sample": 3566.8993606567383, "env/all/ac_tokens_per_turn": 192.09332974717591, "env/all/ob_tokens_per_turn": 833.336740182894, "env/all/turns_per_episode": 14.5234375, "env/all/total_episodes": 256, "env/all/total_turns": 3718, "env/all/total_ac_tokens": 714203, "env/all/total_ob_tokens": 3098346, "env/all/reward/total": 0.5859375, "env/all/reward/not_null": 0.06831629908552986, "env/all/reward/final_step": 0.5905511811023622, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.9921875, "env/all/by_group/frac_status_failed": 0.0078125, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.875, "env/all/by_group/frac_all_good": 0.0, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 4.982276439666748, "time/train": 59.94043016433716, "optim/kl_sample_train_v1": 0.017733460292220116, "optim/kl_sample_train_v2": 0.020834743976593018, "optim/entropy": 0.6607838273048401, "time/compute_kl_sample_train": 0.8420987129211426, "time/save_checkpoint": 3.625643253326416, "time/total": 3637.485624074936}
|
||||
{"step": 40, "progress/batch": 40, "optim/lr": 0.0001, "progress/done_frac": 0.41, "test/env/all/ac_tokens_per_turn": 237.7536945812808, "test/env/all/ob_tokens_per_turn": 875.3431855500821, "test/env/all/turns_per_episode": 15.225, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 609, "test/env/all/total_ac_tokens": 144792, "test/env/all/total_ob_tokens": 533084, "test/env/all/reward/total": 0.475, "test/env/all/reward/not_null": 0.06568144499178982, "test/env/all/reward/final_step": 0.475, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.475, "test/env/all/by_group/frac_all_bad": 0.525, "time/run_evals": 727.4380331039429, "time/sample": 3890.4834730625153, "env/all/ac_tokens_per_turn": 224.9321047526673, "env/all/ob_tokens_per_turn": 820.5955383123181, "env/all/turns_per_episode": 12.08203125, "env/all/total_episodes": 256, "env/all/total_turns": 3093, "env/all/total_ac_tokens": 695715, "env/all/total_ob_tokens": 2538102, "env/all/reward/total": 0.671875, "env/all/reward/not_null": 0.08147429679922405, "env/all/reward/final_step": 0.6825396825396826, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.984375, "env/all/by_group/frac_status_failed": 0.015625, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 4.931406259536743, "time/train": 41.440749645233154, "optim/kl_sample_train_v1": 0.0015643388032913208, "optim/kl_sample_train_v2": 0.0015737715875729918, "optim/entropy": 0.6874721646308899, "time/compute_kl_sample_train": 0.70680832862854, "time/save_checkpoint": 4.3960394859313965, "time/total": 4670.438712835312}
|
||||
{"step": 41, "progress/batch": 41, "optim/lr": 0.0001, "progress/done_frac": 0.42, "time/sample": 2437.9981739521027, "env/all/ac_tokens_per_turn": 237.0116318850496, "env/all/ob_tokens_per_turn": 815.4310639753678, "env/all/turns_per_episode": 11.41796875, "env/all/total_episodes": 256, "env/all/total_turns": 2923, "env/all/total_ac_tokens": 692785, "env/all/total_ob_tokens": 2383505, "env/all/reward/total": 0.70703125, "env/all/reward/not_null": 0.08758125213821416, "env/all/reward/final_step": 0.70703125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5625, "env/all/by_group/frac_all_good": 0.4375, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 4.638084411621094, "time/train": 69.26557779312134, "optim/kl_sample_train_v1": 0.0015977058792486787, "optim/kl_sample_train_v2": 0.0015265014953911304, "optim/entropy": 0.6742787957191467, "time/compute_kl_sample_train": 0.6879868507385254, "time/save_checkpoint": 1.9392988681793213, "time/total": 2515.5651297569275}
|
||||
{"step": 42, "progress/batch": 42, "optim/lr": 0.0001, "progress/done_frac": 0.43, "time/sample": 2366.1975655555725, "env/all/ac_tokens_per_turn": 230.68977415307404, "env/all/ob_tokens_per_turn": 858.6969887076536, "env/all/turns_per_episode": 12.453125, "env/all/total_episodes": 256, "env/all/total_turns": 3188, "env/all/total_ac_tokens": 735439, "env/all/total_ob_tokens": 2737526, "env/all/reward/total": 0.67578125, "env/all/reward/not_null": 0.08030112923462986, "env/all/reward/final_step": 0.67578125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5625, "env/all/by_group/frac_all_good": 0.375, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 5.24909234046936, "time/train": 96.13346314430237, "optim/kl_sample_train_v1": 0.001457023317925632, "optim/kl_sample_train_v2": 0.0015116519061848521, "optim/entropy": 0.6512861847877502, "time/compute_kl_sample_train": 0.7470526695251465, "time/save_checkpoint": 1.8896307945251465, "time/total": 2471.234395265579}
|
||||
{"step": 43, "progress/batch": 43, "optim/lr": 0.0001, "progress/done_frac": 0.44, "time/sample": 2860.466663837433, "env/all/ac_tokens_per_turn": 232.1818181818182, "env/all/ob_tokens_per_turn": 915.7962688777021, "env/all/turns_per_episode": 13.19140625, "env/all/total_episodes": 256, "env/all/total_turns": 3377, "env/all/total_ac_tokens": 784078, "env/all/total_ob_tokens": 3092644, "env/all/reward/total": 0.61328125, "env/all/reward/not_null": 0.07580692922712466, "env/all/reward/final_step": 0.61328125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.8125, "env/all/by_group/frac_all_good": 0.125, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 5.500992774963379, "time/train": 44.21977210044861, "optim/kl_sample_train_v1": 0.00824401993304491, "optim/kl_sample_train_v2": 0.008848486468195915, "optim/entropy": 0.6217787265777588, "time/compute_kl_sample_train": 0.7978255748748779, "time/save_checkpoint": 2.093831777572632, "time/total": 2914.2963070869446}
|
||||
{"step": 44, "progress/batch": 44, "optim/lr": 0.0001, "progress/done_frac": 0.45, "test/env/all/ac_tokens_per_turn": 267.05507745266783, "test/env/all/ob_tokens_per_turn": 898.3734939759037, "test/env/all/turns_per_episode": 14.525, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 581, "test/env/all/total_ac_tokens": 155159, "test/env/all/total_ob_tokens": 521955, "test/env/all/reward/total": 0.55, "test/env/all/reward/not_null": 0.06884681583476764, "test/env/all/reward/final_step": 0.55, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.55, "test/env/all/by_group/frac_all_bad": 0.45, "time/run_evals": 578.1141500473022, "time/sample": 2861.686695098877, "env/all/ac_tokens_per_turn": 247.30457267283614, "env/all/ob_tokens_per_turn": 894.6505171475231, "env/all/turns_per_episode": 14.3515625, "env/all/total_episodes": 256, "env/all/total_turns": 3674, "env/all/total_ac_tokens": 908597, "env/all/total_ob_tokens": 3286946, "env/all/reward/total": 0.54296875, "env/all/reward/not_null": 0.06967882416984214, "env/all/reward/final_step": 0.54296875, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5625, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 5.463473081588745, "time/train": 76.28352284431458, "optim/kl_sample_train_v1": 0.0014020048547536135, "optim/kl_sample_train_v2": 0.001489866990596056, "optim/entropy": 0.6802640557289124, "time/compute_kl_sample_train": 0.8941531181335449, "time/save_checkpoint": 3.574737310409546, "time/total": 3527.1483409404755}
|
||||
{"step": 45, "progress/batch": 45, "optim/lr": 0.0001, "progress/done_frac": 0.46, "time/sample": 3589.803421974182, "env/all/ac_tokens_per_turn": 318.63033305807875, "env/all/ob_tokens_per_turn": 976.9501789154968, "env/all/turns_per_episode": 14.19140625, "env/all/total_episodes": 256, "env/all/total_turns": 3633, "env/all/total_ac_tokens": 1157584, "env/all/total_ob_tokens": 3549260, "env/all/reward/total": 0.546875, "env/all/reward/not_null": 0.07046518029176989, "env/all/reward/final_step": 0.546875, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.8125, "env/all/by_group/frac_all_good": 0.0625, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 6.709962844848633, "time/train": 52.952526330947876, "optim/kl_sample_train_v1": 0.001378251239657402, "optim/kl_sample_train_v2": 0.0013688300969079137, "optim/entropy": 0.6513389348983765, "time/compute_kl_sample_train": 0.9364917278289795, "time/save_checkpoint": 7.560057640075684, "time/total": 3659.048426628113}
|
||||
{"step": 46, "progress/batch": 46, "optim/lr": 0.0001, "progress/done_frac": 0.47, "time/sample": 1771.3302884101868, "env/all/ac_tokens_per_turn": 291.3779166666667, "env/all/ob_tokens_per_turn": 1009.3516666666667, "env/all/turns_per_episode": 9.375, "env/all/total_episodes": 256, "env/all/total_turns": 2400, "env/all/total_ac_tokens": 699307, "env/all/total_ob_tokens": 2422444, "env/all/reward/total": 0.80859375, "env/all/reward/not_null": 0.10666666666666667, "env/all/reward/final_step": 0.80859375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5, "env/all/by_group/frac_all_good": 0.4375, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 4.032646417617798, "time/train": 72.40875482559204, "optim/kl_sample_train_v1": 0.0014177008997648954, "optim/kl_sample_train_v2": 0.0013633262133225799, "optim/entropy": 0.6077346801757812, "time/compute_kl_sample_train": 0.6362555027008057, "time/save_checkpoint": 10.122430324554443, "time/total": 1859.5002467632294}
|
||||
{"step": 47, "progress/batch": 47, "optim/lr": 0.0001, "progress/done_frac": 0.48, "time/sample": 4926.675628900528, "env/all/ac_tokens_per_turn": 371.8033917792469, "env/all/ob_tokens_per_turn": 1096.2857142857142, "env/all/turns_per_episode": 13.58984375, "env/all/total_episodes": 256, "env/all/total_turns": 3479, "env/all/total_ac_tokens": 1293504, "env/all/total_ob_tokens": 3813978, "env/all/reward/total": 0.63671875, "env/all/reward/not_null": 0.07243460764587525, "env/all/reward/final_step": 0.6468253968253969, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.984375, "env/all/by_group/frac_status_failed": 0.015625, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.875, "env/all/by_group/frac_all_good": 0.0625, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 7.006983757019043, "time/train": 115.18577408790588, "optim/kl_sample_train_v1": 0.0012444180902093649, "optim/kl_sample_train_v2": 0.0012977404985576868, "optim/entropy": 0.6378489136695862, "time/compute_kl_sample_train": 0.960594654083252, "time/save_checkpoint": 6.3126630783081055, "time/total": 5057.543651819229}
|
||||
{"step": 48, "progress/batch": 48, "optim/lr": 0.0001, "progress/done_frac": 0.49, "test/env/all/ac_tokens_per_turn": 416.2943327239488, "test/env/all/ob_tokens_per_turn": 1336.7184643510054, "test/env/all/turns_per_episode": 13.675, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 547, "test/env/all/total_ac_tokens": 227713, "test/env/all/total_ob_tokens": 731185, "test/env/all/reward/total": 0.55, "test/env/all/reward/not_null": 0.07312614259597806, "test/env/all/reward/final_step": 0.55, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.55, "test/env/all/by_group/frac_all_bad": 0.45, "time/run_evals": 712.7210500240326, "time/sample": 3384.870108604431, "env/all/ac_tokens_per_turn": 360.741146403797, "env/all/ob_tokens_per_turn": 1170.4797371303396, "env/all/turns_per_episode": 10.69921875, "env/all/total_episodes": 256, "env/all/total_turns": 2739, "env/all/total_ac_tokens": 988070, "env/all/total_ob_tokens": 3205944, "env/all/reward/total": 0.7421875, "env/all/reward/not_null": 0.09346476816356335, "env/all/reward/final_step": 0.7421875, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5, "env/all/by_group/frac_all_good": 0.5, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 5.32291579246521, "time/train": 88.31364512443542, "optim/kl_sample_train_v1": 0.004867793060839176, "optim/kl_sample_train_v2": 0.005092899780720472, "optim/entropy": 0.6495353579521179, "time/compute_kl_sample_train": 0.8134913444519043, "time/save_checkpoint": 8.322964668273926, "time/total": 4201.551361083984}
|
||||
{"step": 49, "progress/batch": 49, "optim/lr": 0.0001, "progress/done_frac": 0.5, "time/sample": 4567.356640577316, "env/all/ac_tokens_per_turn": 554.9695753928452, "env/all/ob_tokens_per_turn": 1886.9886325643597, "env/all/turns_per_episode": 11.68359375, "env/all/total_episodes": 256, "env/all/total_turns": 2991, "env/all/total_ac_tokens": 1659914, "env/all/total_ob_tokens": 5643983, "env/all/reward/total": 0.66015625, "env/all/reward/not_null": 0.08525576730190572, "env/all/reward/final_step": 0.6627450980392157, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.99609375, "env/all/by_group/frac_status_failed": 0.00390625, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.6875, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 9.208799839019775, "time/train": 141.61979985237122, "optim/kl_sample_train_v1": 0.0012653568992391229, "optim/kl_sample_train_v2": 0.0013370109954848886, "optim/entropy": 0.6344296336174011, "time/compute_kl_sample_train": 1.2486610412597656, "time/save_checkpoint": 2.1173300743103027, "time/total": 4723.637969493866}
|
||||
{"step": 50, "progress/batch": 50, "optim/lr": 0.0001, "progress/done_frac": 0.51, "time/sample": 5414.3371551036835, "env/all/ac_tokens_per_turn": 605.9398252992559, "env/all/ob_tokens_per_turn": 2259.50274991912, "env/all/turns_per_episode": 12.07421875, "env/all/total_episodes": 256, "env/all/total_turns": 3091, "env/all/total_ac_tokens": 1872960, "env/all/total_ob_tokens": 6984123, "env/all/reward/total": 0.71484375, "env/all/reward/not_null": 0.08282109349725009, "env/all/reward/final_step": 0.71484375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.75, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 11.14738416671753, "time/train": 144.63285493850708, "optim/kl_sample_train_v1": 0.007008048705756664, "optim/kl_sample_train_v2": 0.007853645831346512, "optim/entropy": 0.6096751689910889, "time/compute_kl_sample_train": 1.4207546710968018, "time/save_checkpoint": 1.8925986289978027, "time/total": 5575.021176099777}
|
||||
{"step": 51, "progress/batch": 51, "optim/lr": 0.0001, "progress/done_frac": 0.52, "time/sample": 3534.4449696540833, "env/all/ac_tokens_per_turn": 439.35208497246265, "env/all/ob_tokens_per_turn": 1566.610936270653, "env/all/turns_per_episode": 9.9296875, "env/all/total_episodes": 256, "env/all/total_turns": 2542, "env/all/total_ac_tokens": 1116833, "env/all/total_ob_tokens": 3982325, "env/all/reward/total": 0.77734375, "env/all/reward/not_null": 0.1007081038552321, "env/all/reward/final_step": 0.77734375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.4375, "env/all/by_group/frac_all_good": 0.5, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 6.268446207046509, "time/train": 114.66546154022217, "optim/kl_sample_train_v1": 0.005976822692900896, "optim/kl_sample_train_v2": 0.006483466364443302, "optim/entropy": 0.5788218379020691, "time/compute_kl_sample_train": 0.9253828525543213, "time/save_checkpoint": 3.0591723918914795, "time/total": 3661.4915266036987}
|
||||
{"step": 52, "progress/batch": 52, "optim/lr": 0.0001, "progress/done_frac": 0.53, "test/env/all/ac_tokens_per_turn": 614.9344569288389, "test/env/all/ob_tokens_per_turn": 2263.7453183520597, "test/env/all/turns_per_episode": 13.35, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 534, "test/env/all/total_ac_tokens": 328375, "test/env/all/total_ob_tokens": 1208840, "test/env/all/reward/total": 0.6, "test/env/all/reward/not_null": 0.0749063670411985, "test/env/all/reward/final_step": 0.6, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.6, "test/env/all/by_group/frac_all_bad": 0.4, "time/run_evals": 1498.365374326706, "time/sample": 5190.147458076477, "env/all/ac_tokens_per_turn": 602.9775463716238, "env/all/ob_tokens_per_turn": 1976.380084607875, "env/all/turns_per_episode": 12.00390625, "env/all/total_episodes": 256, "env/all/total_turns": 3073, "env/all/total_ac_tokens": 1852950, "env/all/total_ob_tokens": 6073416, "env/all/reward/total": 0.70703125, "env/all/reward/not_null": 0.08330621542466644, "env/all/reward/final_step": 0.70703125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.75, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 10.989550352096558, "time/train": 100.49230623245239, "optim/kl_sample_train_v1": 0.005375064443796873, "optim/kl_sample_train_v2": 0.00571539206430316, "optim/entropy": 0.5943189263343811, "time/compute_kl_sample_train": 1.3486204147338867, "time/save_checkpoint": 1.8737871646881104, "time/total": 6804.764202594757}
|
||||
{"step": 53, "progress/batch": 53, "optim/lr": 0.0001, "progress/done_frac": 0.54, "time/sample": 4528.617762327194, "env/all/ac_tokens_per_turn": 496.06776499844574, "env/all/ob_tokens_per_turn": 1437.9956481193658, "env/all/turns_per_episode": 12.56640625, "env/all/total_episodes": 256, "env/all/total_turns": 3217, "env/all/total_ac_tokens": 1595850, "env/all/total_ob_tokens": 4626032, "env/all/reward/total": 0.65234375, "env/all/reward/not_null": 0.07957724588125582, "env/all/reward/final_step": 0.65234375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.6875, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 8.41090440750122, "time/train": 77.3882360458374, "optim/kl_sample_train_v1": 0.004639025777578354, "optim/kl_sample_train_v2": 0.004987517837435007, "optim/entropy": 0.6578664779663086, "time/compute_kl_sample_train": 1.1029691696166992, "time/save_checkpoint": 1.8802971839904785, "time/total": 4618.567675352097}
|
||||
{"step": 54, "progress/batch": 54, "optim/lr": 0.0001, "progress/done_frac": 0.55, "time/sample": 5994.1209535598755, "env/all/ac_tokens_per_turn": 503.6168253968254, "env/all/ob_tokens_per_turn": 1538.2574603174603, "env/all/turns_per_episode": 12.3046875, "env/all/total_episodes": 256, "env/all/total_turns": 3150, "env/all/total_ac_tokens": 1586393, "env/all/total_ob_tokens": 4845511, "env/all/reward/total": 0.65234375, "env/all/reward/not_null": 0.08126984126984127, "env/all/reward/final_step": 0.65234375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.375, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 8.725306510925293, "time/train": 132.02041912078857, "optim/kl_sample_train_v1": 0.0013354717520996928, "optim/kl_sample_train_v2": 0.0012653176672756672, "optim/entropy": 0.6011457443237305, "time/compute_kl_sample_train": 1.1514685153961182, "time/save_checkpoint": 10.838057279586792, "time/total": 6148.66511797905}
|
||||
{"step": 55, "progress/batch": 55, "optim/lr": 0.0001, "progress/done_frac": 0.56, "time/sample": 5578.860061645508, "env/all/ac_tokens_per_turn": 525.3027011156782, "env/all/ob_tokens_per_turn": 1502.886670581327, "env/all/turns_per_episode": 13.3046875, "env/all/total_episodes": 256, "env/all/total_turns": 3406, "env/all/total_ac_tokens": 1789181, "env/all/total_ob_tokens": 5118832, "env/all/reward/total": 0.5703125, "env/all/reward/not_null": 0.07516147974163241, "env/all/reward/final_step": 0.5703125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.75, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 8.765749216079712, "time/train": 125.62218832969666, "optim/kl_sample_train_v1": 0.006274672225117683, "optim/kl_sample_train_v2": 0.006864461582154036, "optim/entropy": 0.61868816614151, "time/compute_kl_sample_train": 1.2186756134033203, "time/save_checkpoint": 2.756126642227173, "time/total": 5718.955832004547}
|
||||
{"step": 56, "progress/batch": 56, "optim/lr": 0.0001, "progress/done_frac": 0.57, "test/env/all/ac_tokens_per_turn": 603.8963210702341, "test/env/all/ob_tokens_per_turn": 1765.185618729097, "test/env/all/turns_per_episode": 14.95, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 598, "test/env/all/total_ac_tokens": 361130, "test/env/all/total_ob_tokens": 1055581, "test/env/all/reward/total": 0.5, "test/env/all/reward/not_null": 0.06688963210702341, "test/env/all/reward/final_step": 0.5, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.5, "test/env/all/by_group/frac_all_bad": 0.5, "time/run_evals": 1095.674842119217, "time/sample": 3552.7246747016907, "env/all/ac_tokens_per_turn": 488.0728670816551, "env/all/ob_tokens_per_turn": 1320.9326254119371, "env/all/turns_per_episode": 10.66796875, "env/all/total_episodes": 256, "env/all/total_turns": 2731, "env/all/total_ac_tokens": 1332927, "env/all/total_ob_tokens": 3607467, "env/all/reward/total": 0.8046875, "env/all/reward/not_null": 0.09373855730501647, "env/all/reward/final_step": 0.8046875, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.8125, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 6.9406843185424805, "time/train": 89.3652069568634, "optim/kl_sample_train_v1": 0.004402246791869402, "optim/kl_sample_train_v2": 0.004670729860663414, "optim/entropy": 0.6037965416908264, "time/compute_kl_sample_train": 0.9459471702575684, "time/save_checkpoint": 4.813134670257568, "time/total": 4752.175498485565}
|
||||
{"step": 57, "progress/batch": 57, "optim/lr": 0.0001, "progress/done_frac": 0.58, "time/sample": 7260.668422698975, "env/all/ac_tokens_per_turn": 547.2383506537043, "env/all/ob_tokens_per_turn": 1412.9517264498827, "env/all/turns_per_episode": 11.65234375, "env/all/total_episodes": 256, "env/all/total_turns": 2983, "env/all/total_ac_tokens": 1632412, "env/all/total_ob_tokens": 4214835, "env/all/reward/total": 0.66796875, "env/all/reward/not_null": 0.08514917867918204, "env/all/reward/final_step": 0.6732283464566929, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.9921875, "env/all/by_group/frac_status_failed": 0.0078125, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5, "env/all/by_group/frac_all_good": 0.4375, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 7.338274002075195, "time/train": 69.4016056060791, "optim/kl_sample_train_v1": 0.0012735199416056275, "optim/kl_sample_train_v2": 0.0012536522699519992, "optim/entropy": 0.5907387137413025, "time/compute_kl_sample_train": 1.0569777488708496, "time/save_checkpoint": 4.404475688934326, "time/total": 7343.955716133118}
|
||||
{"step": 58, "progress/batch": 58, "optim/lr": 0.0001, "progress/done_frac": 0.59, "time/sample": 3715.5077543258667, "env/all/ac_tokens_per_turn": 412.719967199672, "env/all/ob_tokens_per_turn": 1065.778187781878, "env/all/turns_per_episode": 9.52734375, "env/all/total_episodes": 256, "env/all/total_turns": 2439, "env/all/total_ac_tokens": 1006624, "env/all/total_ob_tokens": 2599433, "env/all/reward/total": 0.8671875, "env/all/reward/not_null": 0.1049610496104961, "env/all/reward/final_step": 0.8671875, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5625, "env/all/by_group/frac_all_good": 0.4375, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 4.7239601612091064, "time/train": 109.3292543888092, "optim/kl_sample_train_v1": 0.0011999901616945863, "optim/kl_sample_train_v2": 0.001307417987845838, "optim/entropy": 0.5610385537147522, "time/compute_kl_sample_train": 0.7462530136108398, "time/save_checkpoint": 5.744055271148682, "time/total": 3837.2693812847137}
|
||||
{"step": 59, "progress/batch": 59, "optim/lr": 0.0001, "progress/done_frac": 0.6, "time/sample": 3340.5538268089294, "env/all/ac_tokens_per_turn": 419.679843444227, "env/all/ob_tokens_per_turn": 1068.2520547945205, "env/all/turns_per_episode": 9.98046875, "env/all/total_episodes": 256, "env/all/total_turns": 2555, "env/all/total_ac_tokens": 1072282, "env/all/total_ob_tokens": 2729384, "env/all/reward/total": 0.78515625, "env/all/reward/not_null": 0.10019569471624266, "env/all/reward/final_step": 0.78515625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5, "env/all/by_group/frac_all_good": 0.5, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 5.533259630203247, "time/train": 71.03807020187378, "optim/kl_sample_train_v1": 0.007837899960577488, "optim/kl_sample_train_v2": 0.008074256591498852, "optim/entropy": 0.5787472724914551, "time/compute_kl_sample_train": 0.7680621147155762, "time/save_checkpoint": 5.290313005447388, "time/total": 3424.38068819046}
|
||||
@@ -0,0 +1,22 @@
|
||||
{"step": 0, "progress/batch": 0, "optim/lr": 0.0001, "progress/done_frac": 0.01, "test/env/all/ac_tokens_per_turn": 128.65288293535235, "test/env/all/ob_tokens_per_turn": 1224.7326732673268, "test/env/all/turns_per_episode": 42.925, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 1717, "test/env/all/total_ac_tokens": 220897, "test/env/all/total_ob_tokens": 2102866, "test/env/all/reward/total": 0.375, "test/env/all/reward/not_null": 0.023296447291788, "test/env/all/reward/final_step": 0.375, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.375, "test/env/all/by_group/frac_all_bad": 0.625, "time/run_evals": 1452.3386025428772, "time/sample": 3674.895971775055, "env/all/ac_tokens_per_turn": 122.75873221216041, "env/all/ob_tokens_per_turn": 1210.2565761103924, "env/all/turns_per_episode": 36.234375, "env/all/total_episodes": 256, "env/all/total_turns": 9276, "env/all/total_ac_tokens": 1138710, "env/all/total_ob_tokens": 11226340, "env/all/reward/total": 0.53125, "env/all/reward/not_null": 0.027598102630444158, "env/all/reward/final_step": 0.53125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.8125, "env/all/by_group/frac_all_good": 0.125, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 16.9559326171875, "time/train": 102.67634344100952, "optim/kl_sample_train_v1": 0.0018780812388285995, "optim/kl_sample_train_v2": 0.0019831156823784113, "optim/entropy": 0.4761330187320709, "time/compute_kl_sample_train": 2.26173996925354, "time/save_checkpoint": 2.106167793273926, "time/total": 5253.595616102219}
|
||||
{"step": 1, "progress/batch": 1, "optim/lr": 0.0001, "progress/done_frac": 0.02, "time/sample": 4411.173728227615, "env/all/ac_tokens_per_turn": 158.65698895279832, "env/all/ob_tokens_per_turn": 1305.3536930521318, "env/all/turns_per_episode": 42.78515625, "env/all/total_episodes": 256, "env/all/total_turns": 10953, "env/all/total_ac_tokens": 1737770, "env/all/total_ob_tokens": 14297539, "env/all/reward/total": 0.5234375, "env/all/reward/not_null": 0.023372591983931344, "env/all/reward/final_step": 0.5234375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.25, "time/assemble_training_data": 21.434693813323975, "time/train": 156.78552317619324, "optim/kl_sample_train_v1": 0.0017830979777500033, "optim/kl_sample_train_v2": 0.0019641548860818148, "optim/entropy": 0.5144772529602051, "time/compute_kl_sample_train": 2.908324718475342, "time/save_checkpoint": 2.012822389602661, "time/total": 4597.1118450164795}
|
||||
{"step": 2, "progress/batch": 2, "optim/lr": 0.0001, "progress/done_frac": 0.03, "time/sample": 5690.433318376541, "env/all/ac_tokens_per_turn": 192.28079967525878, "env/all/ob_tokens_per_turn": 1367.027197077329, "env/all/turns_per_episode": 38.4921875, "env/all/total_episodes": 256, "env/all/total_turns": 9854, "env/all/total_ac_tokens": 1894735, "env/all/total_ob_tokens": 13470686, "env/all/reward/total": 0.5859375, "env/all/reward/not_null": 0.025979297747107773, "env/all/reward/final_step": 0.5859375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.8125, "env/all/by_group/frac_all_good": 0.125, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 20.456119537353516, "time/train": 136.43091821670532, "optim/kl_sample_train_v1": 0.0016889636171981692, "optim/kl_sample_train_v2": 0.0018197748577222228, "optim/entropy": 0.48253360390663147, "time/compute_kl_sample_train": 4.178623199462891, "time/save_checkpoint": 2.0389933586120605, "time/total": 5856.979656457901}
|
||||
{"step": 3, "progress/batch": 3, "optim/lr": 0.0001, "progress/done_frac": 0.04, "time/sample": 6023.706333637238, "env/all/ac_tokens_per_turn": 182.0920598388953, "env/all/ob_tokens_per_turn": 1409.5885633353987, "env/all/turns_per_episode": 44.12890625, "env/all/total_episodes": 256, "env/all/total_turns": 11297, "env/all/total_ac_tokens": 2057094, "env/all/total_ob_tokens": 15924122, "env/all/reward/total": 0.5546875, "env/all/reward/not_null": 0.02266088342037709, "env/all/reward/final_step": 0.5546875, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 23.83096671104431, "time/train": 195.61619424819946, "optim/kl_sample_train_v1": 0.005098557565361261, "optim/kl_sample_train_v2": 0.006363071966916323, "optim/entropy": 0.4844531714916229, "time/compute_kl_sample_train": 4.83086371421814, "time/save_checkpoint": 3.8099277019500732, "time/total": 6254.921835422516}
|
||||
{"step": 4, "progress/batch": 4, "optim/lr": 0.0001, "progress/done_frac": 0.05, "test/env/all/ac_tokens_per_turn": 244.5350223546945, "test/env/all/ob_tokens_per_turn": 1460.9249875807252, "test/env/all/turns_per_episode": 50.325, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 2013, "test/env/all/total_ac_tokens": 492249, "test/env/all/total_ob_tokens": 2940842, "test/env/all/reward/total": 0.45, "test/env/all/reward/not_null": 0.01987083954297069, "test/env/all/reward/final_step": 0.45, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.45, "test/env/all/by_group/frac_all_bad": 0.55, "time/run_evals": 1534.621779680252, "time/sample": 6298.22162771225, "env/all/ac_tokens_per_turn": 221.60054137664346, "env/all/ob_tokens_per_turn": 1380.7714617169374, "env/all/turns_per_episode": 40.40625, "env/all/total_episodes": 256, "env/all/total_turns": 10344, "env/all/total_ac_tokens": 2292236, "env/all/total_ob_tokens": 14282700, "env/all/reward/total": 0.5546875, "env/all/reward/not_null": 0.02474864655839134, "env/all/reward/final_step": 0.5546875, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.75, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.0, "time/assemble_training_data": 26.585881233215332, "time/train": 179.01154971122742, "optim/kl_sample_train_v1": 0.004983934573829174, "optim/kl_sample_train_v2": 0.006977563723921776, "optim/entropy": 0.5193040370941162, "time/compute_kl_sample_train": 4.074640274047852, "time/save_checkpoint": 1.9181008338928223, "time/total": 8049.272461175919}
|
||||
{"step": 5, "progress/batch": 5, "optim/lr": 0.0001, "progress/done_frac": 0.06, "time/sample": 9331.44532251358, "env/all/ac_tokens_per_turn": 228.1719982145514, "env/all/ob_tokens_per_turn": 1306.7636512423746, "env/all/turns_per_episode": 52.5078125, "env/all/total_episodes": 256, "env/all/total_turns": 13442, "env/all/total_ac_tokens": 3067088, "env/all/total_ob_tokens": 17565517, "env/all/reward/total": 0.44921875, "env/all/reward/not_null": 0.01904478500223181, "env/all/reward/final_step": 0.44921875, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.6875, "env/all/by_group/frac_all_good": 0.0625, "env/all/by_group/frac_all_bad": 0.25, "time/assemble_training_data": 28.81470775604248, "time/train": 194.56663250923157, "optim/kl_sample_train_v1": 0.0032175476662814617, "optim/kl_sample_train_v2": 0.003801157232373953, "optim/entropy": 0.5637667775154114, "time/compute_kl_sample_train": 3.7343780994415283, "time/save_checkpoint": 1.8732941150665283, "time/total": 9563.667353630066}
|
||||
{"step": 6, "progress/batch": 6, "optim/lr": 0.0001, "progress/done_frac": 0.07, "time/sample": 5226.635780334473, "env/all/ac_tokens_per_turn": 201.47628789287708, "env/all/ob_tokens_per_turn": 1322.7701320438907, "env/all/turns_per_episode": 42.0078125, "env/all/total_episodes": 256, "env/all/total_turns": 10754, "env/all/total_ac_tokens": 2166676, "env/all/total_ob_tokens": 14225070, "env/all/reward/total": 0.5625, "env/all/reward/not_null": 0.023805095778315046, "env/all/reward/final_step": 0.5625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.6875, "env/all/by_group/frac_all_good": 0.125, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 21.425496578216553, "time/train": 178.41735219955444, "optim/kl_sample_train_v1": 0.008892853744328022, "optim/kl_sample_train_v2": 0.018301716074347496, "optim/entropy": 0.5181523561477661, "time/compute_kl_sample_train": 4.410753488540649, "time/save_checkpoint": 1.948317527770996, "time/total": 5436.473058223724}
|
||||
{"step": 7, "progress/batch": 7, "optim/lr": 0.0001, "progress/done_frac": 0.08, "time/sample": 8298.674208641052, "env/all/ac_tokens_per_turn": 205.00295358649788, "env/all/ob_tokens_per_turn": 1449.3038677918425, "env/all/turns_per_episode": 55.546875, "env/all/total_episodes": 256, "env/all/total_turns": 14220, "env/all/total_ac_tokens": 2915142, "env/all/total_ob_tokens": 20609101, "env/all/reward/total": 0.4765625, "env/all/reward/not_null": 0.0180028129395218, "env/all/reward/final_step": 0.4765625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.6875, "env/all/by_group/frac_all_good": 0.0625, "env/all/by_group/frac_all_bad": 0.25, "time/assemble_training_data": 31.55007243156433, "time/train": 211.03394603729248, "optim/kl_sample_train_v1": 0.004219175316393375, "optim/kl_sample_train_v2": 0.005510455463081598, "optim/entropy": 0.5350688695907593, "time/compute_kl_sample_train": 4.1366126537323, "time/save_checkpoint": 2.7391345500946045, "time/total": 8552.507330417633}
|
||||
{"step": 8, "progress/batch": 8, "optim/lr": 0.0001, "progress/done_frac": 0.09, "test/env/all/ac_tokens_per_turn": 157.24227318045862, "test/env/all/ob_tokens_per_turn": 1335.4024592888002, "test/env/all/turns_per_episode": 75.225, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 3009, "test/env/all/total_ac_tokens": 473142, "test/env/all/total_ob_tokens": 4018226, "test/env/all/reward/total": 0.4, "test/env/all/reward/not_null": 0.013293452974410104, "test/env/all/reward/final_step": 0.4, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.4, "test/env/all/by_group/frac_all_bad": 0.6, "time/run_evals": 1632.6616232395172, "time/sample": 6721.103237628937, "env/all/ac_tokens_per_turn": 159.96290671184065, "env/all/ob_tokens_per_turn": 1302.159880834161, "env/all/turns_per_episode": 66.87109375, "env/all/total_episodes": 256, "env/all/total_turns": 17119, "env/all/total_ac_tokens": 2738405, "env/all/total_ob_tokens": 22291675, "env/all/reward/total": 0.48046875, "env/all/reward/not_null": 0.014954144517787253, "env/all/reward/final_step": 0.48046875, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.3125, "time/assemble_training_data": 33.2172372341156, "time/train": 258.64105105400085, "optim/kl_sample_train_v1": 0.014117657206952572, "optim/kl_sample_train_v2": 0.03337099403142929, "optim/entropy": 0.5068252086639404, "time/compute_kl_sample_train": 4.448897361755371, "time/save_checkpoint": 2.4930479526519775, "time/total": 8656.607217550278}
|
||||
{"step": 9, "progress/batch": 9, "optim/lr": 0.0001, "progress/done_frac": 0.1, "time/sample": 13135.35623383522, "env/all/ac_tokens_per_turn": 264.84606015674643, "env/all/ob_tokens_per_turn": 1328.681317517475, "env/all/turns_per_episode": 73.765625, "env/all/total_episodes": 256, "env/all/total_turns": 18884, "env/all/total_ac_tokens": 5001353, "env/all/total_ob_tokens": 25090818, "env/all/reward/total": 0.39453125, "env/all/reward/not_null": 0.013556449904681212, "env/all/reward/final_step": 0.39453125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.75, "env/all/by_group/frac_all_good": 0.0, "env/all/by_group/frac_all_bad": 0.25, "time/assemble_training_data": 40.839712142944336, "time/train": 355.86896109580994, "optim/kl_sample_train_v1": 0.010163040831685066, "optim/kl_sample_train_v2": 0.015666360035538673, "optim/entropy": 0.47995322942733765, "time/compute_kl_sample_train": 5.234300374984741, "time/save_checkpoint": 3.204529047012329, "time/total": 13544.711791276932}
|
||||
{"step": 10, "progress/batch": 10, "optim/lr": 0.0001, "progress/done_frac": 0.11, "time/sample": 8826.266492843628, "env/all/ac_tokens_per_turn": 230.98643315244203, "env/all/ob_tokens_per_turn": 1391.296805624075, "env/all/turns_per_episode": 63.34375, "env/all/total_episodes": 256, "env/all/total_turns": 16216, "env/all/total_ac_tokens": 3745676, "env/all/total_ob_tokens": 22561269, "env/all/reward/total": 0.34765625, "env/all/reward/not_null": 0.015786877158362113, "env/all/reward/final_step": 0.34765625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.75, "env/all/by_group/frac_all_good": 0.0625, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 35.960503339767456, "time/train": 247.53620958328247, "optim/kl_sample_train_v1": 0.005432055797427893, "optim/kl_sample_train_v2": 0.006485131569206715, "optim/entropy": 0.5171390175819397, "time/compute_kl_sample_train": 4.597684144973755, "time/save_checkpoint": 2.803833246231079, "time/total": 9121.928503990173}
|
||||
{"step": 11, "progress/batch": 11, "optim/lr": 0.0001, "progress/done_frac": 0.12, "time/sample": 7194.18962430954, "env/all/ac_tokens_per_turn": 253.31232002490466, "env/all/ob_tokens_per_turn": 1437.4219783640751, "env/all/turns_per_episode": 50.19140625, "env/all/total_episodes": 256, "env/all/total_turns": 12849, "env/all/total_ac_tokens": 3254810, "env/all/total_ob_tokens": 18469435, "env/all/reward/total": 0.52734375, "env/all/reward/not_null": 0.01992372947311075, "env/all/reward/final_step": 0.52734375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.125, "env/all/by_group/frac_all_bad": 0.25, "time/assemble_training_data": 28.56237244606018, "time/train": 194.71355390548706, "optim/kl_sample_train_v1": 0.008631901815533638, "optim/kl_sample_train_v2": 0.017564713954925537, "optim/entropy": 0.5483510494232178, "time/compute_kl_sample_train": 3.8036699295043945, "time/save_checkpoint": 3.311753034591675, "time/total": 7427.939013004303}
|
||||
{"step": 12, "progress/batch": 12, "optim/lr": 0.0001, "progress/done_frac": 0.13, "test/env/all/ac_tokens_per_turn": 135.067907444668, "test/env/all/ob_tokens_per_turn": 1214.3460764587526, "test/env/all/turns_per_episode": 49.7, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 1988, "test/env/all/total_ac_tokens": 268515, "test/env/all/total_ob_tokens": 2414120, "test/env/all/reward/total": 0.375, "test/env/all/reward/not_null": 0.02012072434607646, "test/env/all/reward/final_step": 0.375, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.375, "test/env/all/by_group/frac_all_bad": 0.625, "time/run_evals": 1465.6833930015564, "time/sample": 4103.277728557587, "env/all/ac_tokens_per_turn": 122.12485939257593, "env/all/ob_tokens_per_turn": 1187.7952755905512, "env/all/turns_per_episode": 41.671875, "env/all/total_episodes": 256, "env/all/total_turns": 10668, "env/all/total_ac_tokens": 1302828, "env/all/total_ob_tokens": 12671400, "env/all/reward/total": 0.5390625, "env/all/reward/not_null": 0.023997000374953132, "env/all/reward/final_step": 0.5390625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.6875, "env/all/by_group/frac_all_good": 0.125, "env/all/by_group/frac_all_bad": 0.1875, "time/assemble_training_data": 18.67766284942627, "time/train": 162.83007717132568, "optim/kl_sample_train_v1": 0.0055083464831113815, "optim/kl_sample_train_v2": 0.008882556110620499, "optim/entropy": 0.5290992856025696, "time/compute_kl_sample_train": 2.6718804836273193, "time/save_checkpoint": 3.3331406116485596, "time/total": 5759.391178846359}
|
||||
{"step": 13, "progress/batch": 13, "optim/lr": 0.0001, "progress/done_frac": 0.14, "time/sample": 5367.2866015434265, "env/all/ac_tokens_per_turn": 130.17827598609279, "env/all/ob_tokens_per_turn": 1044.0656995564082, "env/all/turns_per_episode": 32.58203125, "env/all/total_episodes": 256, "env/all/total_turns": 8341, "env/all/total_ac_tokens": 1085817, "env/all/total_ob_tokens": 8708552, "env/all/reward/total": 0.65234375, "env/all/reward/not_null": 0.03069176357750869, "env/all/reward/final_step": 0.65234375, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.5625, "env/all/by_group/frac_all_good": 0.3125, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 13.46330714225769, "time/train": 99.71488690376282, "optim/kl_sample_train_v1": 0.0015759804518893361, "optim/kl_sample_train_v2": 0.0016289305640384555, "optim/entropy": 0.5313088297843933, "time/compute_kl_sample_train": 2.024167060852051, "time/save_checkpoint": 2.284010171890259, "time/total": 5487.231022596359}
|
||||
{"step": 14, "progress/batch": 14, "optim/lr": 0.0001, "progress/done_frac": 0.15, "time/sample": 2543.093611240387, "env/all/ac_tokens_per_turn": 60.48143274853801, "env/all/ob_tokens_per_turn": 982.9595029239766, "env/all/turns_per_episode": 26.71875, "env/all/total_episodes": 256, "env/all/total_turns": 6840, "env/all/total_ac_tokens": 413693, "env/all/total_ob_tokens": 6723443, "env/all/reward/total": 0.578125, "env/all/reward/not_null": 0.03742690058479532, "env/all/reward/final_step": 0.578125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.75, "env/all/by_group/frac_all_good": 0.125, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 9.002674579620361, "time/train": 88.35242915153503, "optim/kl_sample_train_v1": 0.024625102058053017, "optim/kl_sample_train_v2": 0.06595803797245026, "optim/entropy": 0.4629157781600952, "time/compute_kl_sample_train": 1.5190412998199463, "time/save_checkpoint": 2.9377009868621826, "time/total": 2646.5829384326935}
|
||||
{"step": 15, "progress/batch": 15, "optim/lr": 0.0001, "progress/done_frac": 0.16, "time/sample": 6898.295829534531, "env/all/ac_tokens_per_turn": 164.51486138896828, "env/all/ob_tokens_per_turn": 1127.0833809659903, "env/all/turns_per_episode": 54.671875, "env/all/total_episodes": 256, "env/all/total_turns": 13996, "env/all/total_ac_tokens": 2302550, "env/all/total_ob_tokens": 15774659, "env/all/reward/total": 0.47265625, "env/all/reward/not_null": 0.018290940268648186, "env/all/reward/final_step": 0.47265625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.4375, "env/all/by_group/frac_all_good": 0.25, "env/all/by_group/frac_all_bad": 0.3125, "time/assemble_training_data": 24.024535655975342, "time/train": 279.018501996994, "optim/kl_sample_train_v1": 0.001399237778969109, "optim/kl_sample_train_v2": 0.0014301210176199675, "optim/entropy": 0.5145991444587708, "time/compute_kl_sample_train": 3.3620355129241943, "time/save_checkpoint": 2.335096597671509, "time/total": 7211.261847019196}
|
||||
{"step": 16, "progress/batch": 16, "optim/lr": 0.0001, "progress/done_frac": 0.17, "test/env/all/ac_tokens_per_turn": 231.94214876033058, "test/env/all/ob_tokens_per_turn": 1060.0549343704424, "test/env/all/turns_per_episode": 51.425, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 2057, "test/env/all/total_ac_tokens": 477105, "test/env/all/total_ob_tokens": 2180533, "test/env/all/reward/total": 0.45, "test/env/all/reward/not_null": 0.019445794846864366, "test/env/all/reward/final_step": 0.45, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.45, "test/env/all/by_group/frac_all_bad": 0.55, "time/run_evals": 1756.8252222537994, "time/sample": 9004.57605624199, "env/all/ac_tokens_per_turn": 217.45074780814852, "env/all/ob_tokens_per_turn": 1052.0223482894962, "env/all/turns_per_episode": 45.4453125, "env/all/total_episodes": 256, "env/all/total_turns": 11634, "env/all/total_ac_tokens": 2529822, "env/all/total_ob_tokens": 12239228, "env/all/reward/total": 0.54296875, "env/all/reward/not_null": 0.021402784940691078, "env/all/reward/final_step": 0.5582329317269076, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.97265625, "env/all/by_group/frac_status_failed": 0.02734375, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.6875, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.125, "time/assemble_training_data": 20.89215660095215, "time/train": 167.2996780872345, "optim/kl_sample_train_v1": 0.009343963116407394, "optim/kl_sample_train_v2": 0.019872769713401794, "optim/entropy": 0.47771522402763367, "time/compute_kl_sample_train": 2.8668885231018066, "time/save_checkpoint": 3.7232272624969482, "time/total": 10959.574368953705}
|
||||
{"step": 17, "progress/batch": 17, "optim/lr": 0.0001, "progress/done_frac": 0.18, "time/sample": 2321.000811815262, "env/all/ac_tokens_per_turn": 16.288164912786506, "env/all/ob_tokens_per_turn": 964.2542885973764, "env/all/turns_per_episode": 27.09765625, "env/all/total_episodes": 256, "env/all/total_turns": 6937, "env/all/total_ac_tokens": 112991, "env/all/total_ob_tokens": 6689032, "env/all/reward/total": 0.47265625, "env/all/reward/not_null": 0.036903560616981405, "env/all/reward/final_step": 0.47265625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.75, "env/all/by_group/frac_all_good": 0.1875, "env/all/by_group/frac_all_bad": 0.0625, "time/assemble_training_data": 9.653601884841919, "time/train": 79.33918166160583, "optim/kl_sample_train_v1": 0.007248403038829565, "optim/kl_sample_train_v2": 0.008235599845647812, "optim/entropy": 0.15236160159111023, "time/compute_kl_sample_train": 1.4960541725158691, "time/save_checkpoint": 3.7225542068481445, "time/total": 2417.0146849155426}
|
||||
{"step": 18, "progress/batch": 18, "optim/lr": 0.0001, "progress/done_frac": 0.19, "time/sample": 1859.643653869629, "env/all/ac_tokens_per_turn": 15.517383254474389, "env/all/ob_tokens_per_turn": 945.8885003085785, "env/all/turns_per_episode": 18.98828125, "env/all/total_episodes": 256, "env/all/total_turns": 4861, "env/all/total_ac_tokens": 75430, "env/all/total_ob_tokens": 4597964, "env/all/reward/total": 0.22265625, "env/all/reward/not_null": 0.05266406089282041, "env/all/reward/final_step": 0.22265625, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.625, "env/all/by_group/frac_all_good": 0.0, "env/all/by_group/frac_all_bad": 0.375, "time/assemble_training_data": 6.7284815311431885, "time/train": 118.85409426689148, "optim/kl_sample_train_v1": 0.017757415771484375, "optim/kl_sample_train_v2": 0.036716923117637634, "optim/entropy": 0.2895090579986572, "time/compute_kl_sample_train": 1.057283878326416, "time/save_checkpoint": 3.2711873054504395, "time/total": 1990.7885189056396}
|
||||
{"step": 19, "progress/batch": 19, "optim/lr": 0.0001, "progress/done_frac": 0.2, "time/sample": 1868.0112941265106, "env/all/ac_tokens_per_turn": 10.104420884176836, "env/all/ob_tokens_per_turn": 949.8569713942788, "env/all/turns_per_episode": 19.52734375, "env/all/total_episodes": 256, "env/all/total_turns": 4999, "env/all/total_ac_tokens": 50512, "env/all/total_ob_tokens": 4748335, "env/all/reward/total": 0.08203125, "env/all/reward/not_null": 0.05121024204840968, "env/all/reward/final_step": 0.08203125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.3125, "env/all/by_group/frac_all_good": 0.0, "env/all/by_group/frac_all_bad": 0.6875, "time/assemble_training_data": 6.8539814949035645, "time/train": 67.34563565254211, "optim/kl_sample_train_v1": 0.029024329036474228, "optim/kl_sample_train_v2": 0.043670739978551865, "optim/entropy": 0.2454788237810135, "time/compute_kl_sample_train": 1.0651559829711914, "time/save_checkpoint": 4.351413249969482, "time/total": 1948.8474769592285}
|
||||
{"step": 20, "progress/batch": 20, "optim/lr": 0.0001, "progress/done_frac": 0.21, "test/env/all/ac_tokens_per_turn": 9.51728907330567, "test/env/all/ob_tokens_per_turn": 940.6224066390041, "test/env/all/turns_per_episode": 18.075, "test/env/all/total_episodes": 40, "test/env/all/total_turns": 723, "test/env/all/total_ac_tokens": 6881, "test/env/all/total_ob_tokens": 680070, "test/env/all/reward/total": 0.2, "test/env/all/reward/not_null": 0.05532503457814661, "test/env/all/reward/final_step": 0.2, "test/env/all/by_group/frac_empty_traj": 0.0, "test/env/all/by_group/frac_status_succeeded": 1.0, "test/env/all/by_group/frac_status_failed": 0.0, "test/env/all/by_group/frac_status_cancelled": 0.0, "test/env/all/by_group/frac_status_others": 0.0, "test/env/all/by_group/frac_mixed": 0.0, "test/env/all/by_group/frac_all_good": 0.2, "test/env/all/by_group/frac_all_bad": 0.8, "time/run_evals": 494.84034538269043, "time/sample": 1762.7673652172089, "env/all/ac_tokens_per_turn": 9.695346197502838, "env/all/ob_tokens_per_turn": 939.3900113507378, "env/all/turns_per_episode": 17.20703125, "env/all/total_episodes": 256, "env/all/total_turns": 4405, "env/all/total_ac_tokens": 42708, "env/all/total_ob_tokens": 4138013, "env/all/reward/total": 0.27734375, "env/all/reward/not_null": 0.05788876276958002, "env/all/reward/final_step": 0.2784313725490196, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 0.99609375, "env/all/by_group/frac_status_failed": 0.00390625, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.6875, "env/all/by_group/frac_all_good": 0.0625, "env/all/by_group/frac_all_bad": 0.25, "time/assemble_training_data": 5.37340784072876, "time/train": 45.22734355926514, "optim/kl_sample_train_v1": 0.0024690236896276474, "optim/kl_sample_train_v2": 0.002483918098732829, "optim/entropy": 0.2694631516933441, "time/compute_kl_sample_train": 0.9666681289672852, "time/save_checkpoint": 1.8620564937591553, "time/total": 2312.1222190856934}
|
||||
{"step": 21, "progress/batch": 21, "optim/lr": 0.0001, "progress/done_frac": 0.22, "time/sample": 1683.8369677066803, "env/all/ac_tokens_per_turn": 8.420275192229866, "env/all/ob_tokens_per_turn": 939.8162687171185, "env/all/turns_per_episode": 19.3046875, "env/all/total_episodes": 256, "env/all/total_turns": 4942, "env/all/total_ac_tokens": 41613, "env/all/total_ob_tokens": 4644572, "env/all/reward/total": 0.1328125, "env/all/reward/not_null": 0.05180089032780251, "env/all/reward/final_step": 0.1328125, "env/all/by_group/frac_empty_traj": 0.0, "env/all/by_group/frac_status_succeeded": 1.0, "env/all/by_group/frac_status_failed": 0.0, "env/all/by_group/frac_status_cancelled": 0.0, "env/all/by_group/frac_status_others": 0.0, "env/all/by_group/frac_mixed": 0.4375, "env/all/by_group/frac_all_good": 0.0, "env/all/by_group/frac_all_bad": 0.5625, "time/assemble_training_data": 6.851008176803589, "time/train": 93.31432843208313, "optim/kl_sample_train_v1": 0.004377474542707205, "optim/kl_sample_train_v2": 0.004961998667567968, "optim/entropy": 0.26619046926498413, "time/compute_kl_sample_train": 1.0550122261047363, "time/save_checkpoint": 1.873910665512085, "time/total": 1788.1490545272827}
|
||||
@@ -0,0 +1,200 @@
|
||||
{"index": 95, "id": "d1fe52d6-6d5a-4d8c-a287-a6ac1abbc6c2", "answer": "Iris", "category": "flower", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is this flower most commonly cultivated for its fragrance?", "response": "no"}, {"question": "Is this flower most commonly associated with its bright, showy appearance?", "response": "yes"}, {"question": "Is this flower most commonly found with yellow petals?", "response": "no"}, {"question": "Is this flower typically associated with romantic symbolism?", "response": "no"}, {"question": "Is this flower typically associated with the spring season?", "response": "yes"}, {"question": "Is this flower commonly associated with being grown from bulbs?", "response": "no"}, {"question": "Is this flower commonly found with pink or red petals?", "response": "yes"}, {"question": "Is this flower commonly associated with being given as a gift on Mother's Day?", "response": "no"}, {"question": "Is this flower typically associated with being grown in gardens as a bush or shrub?", "response": "no"}, {"question": "Is this flower most commonly associated with wildflowers or being found growing in the wild rather than cultivated gardens?", "response": "no"}, {"question": "Is this flower commonly recognized for its large, flat clusters of small flowers (such as seen in hydrangeas or phlox)?", "response": "no"}, {"question": "Is this flower especially known for its distinctive trumpet-shaped blooms?", "response": "no"}, {"question": "Is this flower especially known for having a single prominent central structure, such as a cone or disk, surrounded by colorful petals?", "response": "no"}, {"question": "Is this flower most commonly associated with being used in leis, garlands, or floral crowns?", "response": "no"}, {"question": "Is this flower most commonly known for its daisy-like shape, with petals arranged around a central disk?", "response": "no"}, {"question": "Is this flower especially known for its distinctive orchid-like appearance or structure?", "response": "no"}, {"question": "Is this flower especially known for its tall, upright spikes of blossoms, such as those seen in gladiolus or lupine?", "response": "no"}, {"question": "Is this flower especially known for its ruffled or frilly petals, as seen in carnations?", "response": "no"}, {"question": "Is it tulip?", "response": "no"}, {"question": "Is it peony?", "response": "no"}]}
|
||||
{"index": 15, "id": "61225555-a55f-4bdf-81e0-1096854ea787", "answer": "Lion", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 9, "interactions": [{"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it larger than a human?", "response": "yes"}, {"question": "Is it primarily found in the wild rather than being commonly domesticated?", "response": "yes"}, {"question": "Is it a carnivore?", "response": "yes"}, {"question": "Is it a marine animal?", "response": "no"}, {"question": "Is it native to Africa?", "response": "yes"}, {"question": "Is it a member of the cat family (Felidae)?", "response": "yes"}, {"question": "Is it known for having a large mane?", "response": "yes"}, {"question": "Is it a lion?", "response": "yes"}]}
|
||||
{"index": 30, "id": "ae687420-cf56-43e4-883e-c7b83e2b68bd", "answer": "Spider", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 13, "interactions": [{"question": "Is it a mammal?", "response": "no"}, {"question": "Is it a bird?", "response": "no"}, {"question": "Is it a reptile?", "response": "no"}, {"question": "Is it an amphibian?", "response": "no"}, {"question": "Does it live in water for the majority of its life?", "response": "no"}, {"question": "Is it an invertebrate?", "response": "yes"}, {"question": "Is it an insect?", "response": "no"}, {"question": "Is it a crustacean?", "response": "no"}, {"question": "Is it a mollusk?", "response": "no"}, {"question": "Is it an arachnid?", "response": "yes"}, {"question": "Is it known for being venomous?", "response": "yes"}, {"question": "Is it a scorpion?", "response": "no"}, {"question": "Is it a spider?", "response": "yes"}]}
|
||||
{"index": 158, "id": "2735596b-b838-4a29-80b4-ff6145fc90b7", "answer": "Nightstand", "category": "furniture", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 12, "interactions": [{"question": "Is it primarily used for sitting?", "response": "no"}, {"question": "Is it primarily used for sleeping?", "response": "no"}, {"question": "Is it primarily used for storage?", "response": "no"}, {"question": "Is it primarily used for eating or food preparation?", "response": "no"}, {"question": "Is it primarily used for working or studying?", "response": "no"}, {"question": "Is it primarily used for illumination or lighting?", "response": "no"}, {"question": "Is it primarily used for decoration or aesthetic purposes?", "response": "no"}, {"question": "Is it primarily used for supporting or holding other objects?", "response": "yes"}, {"question": "Is it typically found in a living room?", "response": "no"}, {"question": "Is it primarily used outdoors?", "response": "no"}, {"question": "Is it primarily used in a bedroom?", "response": "yes"}, {"question": "Is it a nightstand?", "response": "yes"}]}
|
||||
{"index": 128, "id": "31ef2f4c-ab41-4d45-ba65-689ea2d839b6", "answer": "Monitor", "category": "electronics", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it primarily used for communication?", "response": "no"}, {"question": "Is it primarily used for entertainment?", "response": "no"}, {"question": "Is it primarily used for work or productivity?", "response": "no"}, {"question": "Is it primarily used for measuring, monitoring, or detection?", "response": "no"}, {"question": "Is it primarily used for cooking or food preparation?", "response": "no"}, {"question": "Is it primarily used for cleaning or personal care?", "response": "no"}, {"question": "Is it primarily used for illumination or lighting?", "response": "no"}, {"question": "Is it primarily used for temperature control or climate regulation?", "response": "no"}, {"question": "Is it primarily used for saving, supplying, or managing electrical power?", "response": "no"}, {"question": "Is it primarily used for data storage or transfer?", "response": "no"}, {"question": "Is it primarily used for transportation or mobility?", "response": "no"}, {"question": "Is it primarily used for timekeeping or displaying time?", "response": "no"}, {"question": "Is it primarily used in health, medicine, or personal wellness?", "response": "no"}, {"question": "Is it primarily used for personal grooming or appearance?", "response": "no"}, {"question": "Is it primarily used for sound or audio purposes?", "response": "yes"}, {"question": "Is it primarily used to play music?", "response": "no"}, {"question": "Is it primarily used to record sound or audio?", "response": "no"}, {"question": "Is it primarily used to amplify sound or audio?", "response": "no"}, {"question": "Is it primarily used for alerting or notification?", "response": "no"}, {"question": "Is it a microphone?", "response": "no"}]}
|
||||
{"index": 115, "id": "3e7da415-abe1-4a7a-8b7b-4c843c57596f", "answer": "Folder", "category": "stationery", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 10, "interactions": [{"question": "Is it primarily used for writing or drawing words or images on paper?", "response": "no"}, {"question": "Is it primarily used for attaching, binding, or holding papers together?", "response": "yes"}, {"question": "Is it primarily made of metal?", "response": "no"}, {"question": "Is it primarily made of plastic?", "response": "no"}, {"question": "Is it primarily made of paper or cardboard?", "response": "yes"}, {"question": "Is it primarily used to temporarily hold sheets of paper together, as opposed to permanently binding them?", "response": "yes"}, {"question": "Is it primarily an adhesive product?", "response": "no"}, {"question": "Is it primarily used to organize or divide sections within a collection of papers, such as in folders or binders?", "response": "yes"}, {"question": "Is it a tab divider?", "response": "no"}, {"question": "Is it a file folder?", "response": "yes"}]}
|
||||
{"index": 69, "id": "411f3182-cc34-4eeb-96b8-688f2f5627cd", "answer": "Trombone", "category": "instrument", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 9, "interactions": [{"question": "Is it a musical instrument?", "response": "yes"}, {"question": "Is it primarily a percussion instrument?", "response": "no"}, {"question": "Is it primarily a string instrument?", "response": "no"}, {"question": "Is it primarily a wind instrument?", "response": "yes"}, {"question": "Is it played by blowing air directly with the mouth, rather than using a reed or fipple?", "response": "yes"}, {"question": "Is it made of metal as its primary material?", "response": "yes"}, {"question": "Is it typically played with valves?", "response": "no"}, {"question": "Is it primarily played by sliding a part of the instrument to change pitch?", "response": "yes"}, {"question": "Is it the trombone?", "response": "yes"}]}
|
||||
{"index": 170, "id": "e83dc16c-7e50-4f0e-b21b-90842360c7ba", "answer": "Isaac Newton", "category": "celebrity", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 15, "interactions": [{"question": "Is this celebrity primarily known for their work in film (such as acting, directing, or producing)?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in music?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in television?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in sports?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in politics or government?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in business or entrepreneurship?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in literature or writing?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in science or academia?", "response": "yes"}, {"question": "Is this celebrity primarily known for their work in mathematics or physics?", "response": "yes"}, {"question": "Is this celebrity primarily known for their contributions to physics rather than mathematics?", "response": "yes"}, {"question": "Is this celebrity primarily known for their contributions to theoretical rather than experimental physics?", "response": "yes"}, {"question": "Is this celebrity primarily known for their work in the 20th century?", "response": "no"}, {"question": "Did this physicist make their most significant contributions before the 20th century?", "response": "yes"}, {"question": "Is this physicist primarily known for formulating classical mechanics?", "response": "yes"}, {"question": "Is it Isaac Newton?", "response": "yes"}]}
|
||||
{"index": 174, "id": "bcf5c41f-76dc-47f2-8a70-0a32667ff359", "answer": "Johann Sebastian Bach", "category": "celebrity", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 18, "interactions": [{"question": "Is this celebrity primarily known for work in film (such as acting or directing)?", "response": "no"}, {"question": "Is this celebrity primarily known for work in music?", "response": "yes"}, {"question": "Is this celebrity primarily known as a solo artist rather than as part of a group or band?", "response": "yes"}, {"question": "Is this celebrity primarily known for work in the United States?", "response": "no"}, {"question": "Is this celebrity primarily known for performing pop music?", "response": "no"}, {"question": "Is this celebrity primarily known for performing in the genre of hip-hop or rap music?", "response": "no"}, {"question": "Is this celebrity primarily known for performing rock music?", "response": "no"}, {"question": "Is this celebrity primarily known for performing in the genre of electronic or dance music?", "response": "no"}, {"question": "Is this celebrity primarily known for performing in the genre of classical or opera music?", "response": "yes"}, {"question": "Is this celebrity primarily known as a singer rather than as an instrumentalist or conductor?", "response": "no"}, {"question": "Is this celebrity primarily known as a conductor?", "response": "no"}, {"question": "Is this celebrity primarily known as an instrumentalist (such as a pianist, violinist, or cellist)?", "response": "no"}, {"question": "Is this celebrity primarily known for composing classical or opera music?", "response": "yes"}, {"question": "Is this composer primarily known for work created before 1900?", "response": "yes"}, {"question": "Is this composer primarily known for work produced during the Classical era (approximately 1750\u20131820)?", "response": "no"}, {"question": "Was this composer primarily active during the Romantic era (approximately 1820\u20131900)?", "response": "no"}, {"question": "Was this composer primarily active during the Baroque era (approximately 1600\u20131750)?", "response": "yes"}, {"question": "Is it Johann Sebastian Bach?", "response": "yes"}]}
|
||||
{"index": 45, "id": "fe499e5a-9ee5-48c2-b71c-3a29ee674795", "answer": "Sonic", "category": "character", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 12, "interactions": [{"question": "Is this character primarily known from fiction (such as books, movies, TV, comics, or games)?", "response": "yes"}, {"question": "Is this character human?", "response": "no"}, {"question": "Is this character an animal?", "response": "yes"}, {"question": "Is this character primarily associated with animated works (such as cartoons or animated movies)?", "response": "no"}, {"question": "Is this character primarily known from live-action movies or TV?", "response": "no"}, {"question": "Is this character primarily associated with children's literature?", "response": "no"}, {"question": "Is this character primarily known from video games?", "response": "yes"}, {"question": "Is this character primarily known for being a mascot or representative of a video game company or franchise?", "response": "yes"}, {"question": "Is this character primarily associated with Nintendo video games?", "response": "no"}, {"question": "Is this character primarily associated with the Sonic the Hedgehog franchise?", "response": "yes"}, {"question": "Is this character a hedgehog?", "response": "yes"}, {"question": "Is it Sonic?", "response": "yes"}]}
|
||||
{"index": 66, "id": "a47a3de0-4af2-42d1-9cbf-93a9fba77c6f", "answer": "Flute", "category": "instrument", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 9, "interactions": [{"question": "Is it primarily a string instrument?", "response": "no"}, {"question": "Is it primarily a percussion instrument?", "response": "no"}, {"question": "Is it primarily a wind instrument?", "response": "yes"}, {"question": "Is it a brass instrument?", "response": "no"}, {"question": "Is it primarily made of wood?", "response": "yes"}, {"question": "Is it played by blowing air across a reed?", "response": "no"}, {"question": "Is it held and played horizontally (side-blown) rather than vertically?", "response": "yes"}, {"question": "Is it commonly made of metal rather than wood or other materials?", "response": "yes"}, {"question": "Is it the flute?", "response": "yes"}]}
|
||||
{"index": 182, "id": "efd9ade7-0a17-4d0c-8136-ce346cfafb93", "answer": "Julius Caesar", "category": "celebrity", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is this celebrity primarily known for their work in film or television?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in music?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in sports?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in politics or government?", "response": "yes"}, {"question": "Is this celebrity most well known for being a head of state or government leader (such as a president, prime minister, or monarch)?", "response": "yes"}, {"question": "Is this celebrity still alive?", "response": "no"}, {"question": "Was this person primarily known as the leader of the United States?", "response": "no"}, {"question": "Was this person primarily known as a leader of a European country?", "response": "yes"}, {"question": "Was this person primarily known as the leader of the United Kingdom?", "response": "no"}, {"question": "Was this person primarily known as the leader of France?", "response": "no"}, {"question": "Was this person primarily known as the leader of Germany?", "response": "no"}, {"question": "Was this person primarily known as the leader of the Soviet Union or Russia?", "response": "no"}, {"question": "Was this person primarily known as the leader of Italy?", "response": "no"}, {"question": "Was this person primarily known as the leader of Spain?", "response": "no"}, {"question": "Was this person primarily known as the leader of a Scandinavian country?", "response": "no"}, {"question": "Was this person primarily known as the leader of an Eastern European country?", "response": "no"}, {"question": "Was this person primarily known as the leader of an ancient or pre-20th century European country (before 1900)?", "response": "yes"}, {"question": "Was this person primarily known as the leader of Austria-Hungary?", "response": "no"}, {"question": "Was this person primarily known as the leader of a country on the Iberian Peninsula other than Spain (e.g., Portugal)?", "response": "no"}, {"question": "Is it Napoleon?", "response": "no"}]}
|
||||
{"index": 165, "id": "e7ed39d0-07c8-40af-a8bf-fce45f039456", "answer": "Mirror", "category": "furniture", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 16, "interactions": [{"question": "Is it primarily used for sitting?", "response": "no"}, {"question": "Is it primarily used for sleeping?", "response": "no"}, {"question": "Is it primarily used for storing items?", "response": "no"}, {"question": "Is it primarily used as a surface for placing or working on objects?", "response": "no"}, {"question": "Is it primarily used for providing light or illumination?", "response": "no"}, {"question": "Is it primarily used for supporting or holding other objects off the ground (such as stands or racks)?", "response": "no"}, {"question": "Is it primarily used for decoration or aesthetic purposes?", "response": "no"}, {"question": "Is it primarily used for organizing or dividing space within a room?", "response": "no"}, {"question": "Is it primarily used for lying down, such as a recliner or chaise lounge?", "response": "no"}, {"question": "Is it primarily designed to hold liquids or beverages?", "response": "no"}, {"question": "Is it typically used outdoors rather than indoors?", "response": "no"}, {"question": "Is it primarily used to support a person's body in a specific position, such as standing or leaning?", "response": "no"}, {"question": "Is it primarily used by multiple people at once rather than just one?", "response": "no"}, {"question": "Is it primarily used for supporting or displaying electronic devices?", "response": "no"}, {"question": "Is it primarily used for supporting feet or legs?", "response": "no"}, {"question": "Is it a mirror?", "response": "yes"}]}
|
||||
{"index": 78, "id": "76c2141e-b08f-4baa-8025-54b1e07a8d4b", "answer": "Harmonica", "category": "instrument", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 17, "interactions": [{"question": "Is it primarily a musical instrument?", "response": "yes"}, {"question": "Is it primarily a string instrument?", "response": "no"}, {"question": "Is it primarily a wind instrument?", "response": "yes"}, {"question": "Is it played by blowing air directly with the mouth, rather than using a reed?", "response": "no"}, {"question": "Is it a brass instrument?", "response": "no"}, {"question": "Is it a woodwind instrument that uses a single reed?", "response": "no"}, {"question": "Is it a woodwind instrument that uses a double reed?", "response": "no"}, {"question": "Is it played by striking or hitting the instrument to produce sound?", "response": "no"}, {"question": "Is it a keyboard instrument?", "response": "no"}, {"question": "Is it an electronic instrument?", "response": "no"}, {"question": "Is it played by striking or shaking it to produce sound (i.e., a percussion instrument not already eliminated)?", "response": "no"}, {"question": "Is it a percussion instrument that produces sound by being scraped, shaken, or rubbed rather than struck?", "response": "no"}, {"question": "Is it a wind instrument that you play by blowing into it through a hole rather than a reed or mouthpiece?", "response": "no"}, {"question": "Is it commonly played in orchestras?", "response": "no"}, {"question": "Is it a wind instrument that produces sound by free reeds, such as in a harmonica or accordion?", "response": "yes"}, {"question": "Is it commonly played by blowing air in and out with the mouth, like a harmonica?", "response": "yes"}, {"question": "Is it a harmonica?", "response": "yes"}]}
|
||||
{"index": 186, "id": "73c5a095-154c-489d-bb36-88815c913674", "answer": "John F Kennedy", "category": "celebrity", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 9, "interactions": [{"question": "Is the celebrity primarily known for their work in entertainment (e.g., film, music, television)?", "response": "no"}, {"question": "Is the celebrity primarily known for their work in politics or government?", "response": "yes"}, {"question": "Is the celebrity primarily known for being the head of state or government (e.g., president, prime minister, monarch)?", "response": "yes"}, {"question": "Is the celebrity primarily known for being a head of state or government in the United States?", "response": "yes"}, {"question": "Is the celebrity primarily known for serving as President of the United States after the year 1950?", "response": "yes"}, {"question": "Did this person serve as President of the United States as a member of the Democratic Party?", "response": "yes"}, {"question": "Did this person serve as President of the United States after the year 1980?", "response": "no"}, {"question": "Did this person serve as President during the 1960s?", "response": "yes"}, {"question": "Is it John F. Kennedy?", "response": "yes"}]}
|
||||
{"index": 177, "id": "3d26a9d0-d816-4837-b03e-81677e726e6b", "answer": "Elvis Presley", "category": "celebrity", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is this celebrity primarily known for work in the entertainment industry (film, television, or music)?", "response": "yes"}, {"question": "Is this celebrity primarily known for their work in music?", "response": "yes"}, {"question": "Is this celebrity primarily known for being a solo artist rather than a member of a group?", "response": "yes"}, {"question": "Is this solo music artist still alive?", "response": "no"}, {"question": "Was this artist primarily known for their work in the 20th century?", "response": "yes"}, {"question": "Was this artist male?", "response": "yes"}, {"question": "Was this artist primarily known for their work in the United States?", "response": "yes"}, {"question": "Did this artist's career peak before 1980?", "response": "yes"}, {"question": "Is this artist primarily associated with the rock and roll genre?", "response": "yes"}, {"question": "Did this artist famously die in the 1970s?", "response": "yes"}, {"question": "Is it Elvis Presley?", "response": "yes"}]}
|
||||
{"index": 56, "id": "bcc07238-e08f-4366-bf67-5a7f31c38f65", "answer": "Gandalf", "category": "character", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 17, "interactions": [{"question": "Is this character primarily fictional?", "response": "yes"}, {"question": "Is this character human?", "response": "no"}, {"question": "Is this character from a work primarily targeted at children?", "response": "yes"}, {"question": "Is this character an animal?", "response": "no"}, {"question": "Is this character a non-human creature with magical or supernatural abilities?", "response": "yes"}, {"question": "Is this character from a Disney-owned property?", "response": "no"}, {"question": "Is this character primarily associated with Japanese-origin media, such as anime or manga?", "response": "no"}, {"question": "Is this character from a live-action film or television series (rather than animated or illustrated works)?", "response": "yes"}, {"question": "Is this character a supernatural being traditionally associated with horror or monsters (such as a vampire, ghost, or demon)?", "response": "no"}, {"question": "Is this character from a superhero franchise?", "response": "no"}, {"question": "Is this character from a film or series released before the year 2000?", "response": "yes"}, {"question": "Is this character most closely associated with a film series rather than a television series?", "response": "yes"}, {"question": "Is this character most closely associated with a fantasy or science fiction film series?", "response": "yes"}, {"question": "Is this character from the Star Wars film series?", "response": "no"}, {"question": "Is this character from the Harry Potter film series?", "response": "no"}, {"question": "Is this character from The Lord of the Rings film series?", "response": "yes"}, {"question": "Is it Gandalf?", "response": "yes"}]}
|
||||
{"index": 152, "id": "e881dbb3-579f-44f5-ad42-44835caac3d7", "answer": "Closet", "category": "furniture", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is it primarily designed for sitting?", "response": "no"}, {"question": "Is it primarily used for storing items?", "response": "yes"}, {"question": "Is it primarily found in bedrooms?", "response": "no"}, {"question": "Is it primarily used in kitchens?", "response": "no"}, {"question": "Is it primarily used for storing items in an office or study?", "response": "no"}, {"question": "Is it primarily used for storing items in a living room?", "response": "no"}, {"question": "Is it primarily used for storing items in a bathroom?", "response": "no"}, {"question": "Is it primarily used for storing clothing?", "response": "yes"}, {"question": "Is it a wardrobe?", "response": "no"}, {"question": "Is it a dresser?", "response": "no"}, {"question": "Is it a closet?", "response": "yes"}]}
|
||||
{"index": 82, "id": "e14d3b0b-4e47-486c-9b4b-a154c9ba3e81", "answer": "Rose", "category": "flower", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is this flower most commonly associated with being given on romantic occasions, such as Valentine's Day?", "response": "yes"}, {"question": "Is this flower most commonly red in color?", "response": "no"}, {"question": "Is this flower typically white or yellow in its most familiar form?", "response": "no"}, {"question": "Is this flower most commonly pink or purple in its familiar form?", "response": "no"}, {"question": "Is this flower most commonly given as a corsage or boutonniere at formal events such as proms or weddings?", "response": "no"}, {"question": "Is this flower typically associated with being given as a single large bloom rather than in a bouquet?", "response": "no"}, {"question": "Is this flower often associated with anniversaries or expressing admiration rather than romantic love?", "response": "no"}, {"question": "Is this flower most commonly blue or violet in its familiar form?", "response": "no"}, {"question": "Is this flower most commonly given as part of a mixed bouquet rather than as a single type of flower?", "response": "no"}, {"question": "Is this flower most strongly associated with being given as a romantic gesture on Valentine's Day, despite not being red?", "response": "yes"}, {"question": "Is it a rose?", "response": "yes"}]}
|
||||
{"index": 68, "id": "19838a0d-6ab5-4421-a09d-045ca7d18bd8", "answer": "Trumpet", "category": "instrument", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 18, "interactions": [{"question": "Is it primarily a musical instrument?", "response": "yes"}, {"question": "Is it primarily a string instrument?", "response": "no"}, {"question": "Is it primarily a wind instrument?", "response": "yes"}, {"question": "Is it played by blowing directly with the mouth (not using a reed or mouthpiece)?", "response": "no"}, {"question": "Is it primarily a brass instrument?", "response": "yes"}, {"question": "Is it most commonly used in orchestras?", "response": "no"}, {"question": "Is it primarily used in marching bands?", "response": "no"}, {"question": "Is it a percussion instrument but made of metal (like cymbals or triangles)?", "response": "no"}, {"question": "Is it made primarily of brass?", "response": "yes"}, {"question": "Is it commonly used in jazz ensembles?", "response": "yes"}, {"question": "Is it typically played with valves?", "response": "yes"}, {"question": "Is it typically larger than a trumpet?", "response": "no"}, {"question": "Is it played with a slide?", "response": "no"}, {"question": "Is it the cornet?", "response": "no"}, {"question": "Is it the flugelhorn?", "response": "no"}, {"question": "Is it the bugle?", "response": "no"}, {"question": "Is it the French horn?", "response": "no"}, {"question": "Is it the trumpet?", "response": "yes"}]}
|
||||
{"index": 124, "id": "88aa2f08-a71c-4581-939a-1bd9eeba7140", "answer": "Laptop", "category": "electronics", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 8, "interactions": [{"question": "Is it primarily used for communication?", "response": "no"}, {"question": "Is it primarily used for entertainment?", "response": "no"}, {"question": "Is it primarily used in the kitchen?", "response": "no"}, {"question": "Is it primarily used for computing tasks?", "response": "yes"}, {"question": "Is it typically a portable device?", "response": "yes"}, {"question": "Does it have a touchscreen as a primary input method?", "response": "no"}, {"question": "Does it have a physical keyboard as a main input method?", "response": "yes"}, {"question": "Is it a laptop?", "response": "yes"}]}
|
||||
{"index": 16, "id": "8a6764fd-3301-442c-9da6-882f55cdae91", "answer": "Bear", "category": "animal", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it commonly kept as a household pet?", "response": "no"}, {"question": "Is it larger than a human?", "response": "yes"}, {"question": "Is it a wild animal rather than domesticated?", "response": "yes"}, {"question": "Is it native to Africa?", "response": "no"}, {"question": "Is it native to North America?", "response": "yes"}, {"question": "Does it have hooves?", "response": "no"}, {"question": "Is it a carnivore?", "response": "n/a"}, {"question": "Does it primarily live in water?", "response": "no"}, {"question": "Is it a member of the bear family (Ursidae)?", "response": "yes"}, {"question": "Is it the grizzly bear?", "response": "no"}, {"question": "Is it the polar bear?", "response": "no"}, {"question": "Is it the black bear?", "response": "no"}, {"question": "Is it the brown bear?", "response": "no"}, {"question": "Is it the Kodiak bear?", "response": "no"}, {"question": "Is it the spectacled bear?", "response": "no"}, {"question": "Is it the American black bear?", "response": "no"}, {"question": "Is it the brown bear subspecies known as the cinnamon bear?", "response": "no"}, {"question": "Is it the sloth bear?", "response": "no"}, {"question": "Is it the panda bear?", "response": "no"}]}
|
||||
{"index": 148, "id": "7eae2e36-e1e9-494e-bdc9-b95982a93a44", "answer": "Couch", "category": "furniture", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 9, "interactions": [{"question": "Is it primarily used for sitting?", "response": "yes"}, {"question": "Does it usually have a backrest?", "response": "yes"}, {"question": "Does it typically seat only one person?", "response": "no"}, {"question": "Is it primarily used for sleeping?", "response": "no"}, {"question": "Is it most often found in the living room?", "response": "yes"}, {"question": "Does it typically have armrests?", "response": "yes"}, {"question": "Is it designed to seat exactly two or more people?", "response": "yes"}, {"question": "Is it designed to seat exactly two people?", "response": "no"}, {"question": "Is it commonly referred to as a \"sofa\"?", "response": "yes"}]}
|
||||
{"index": 93, "id": "b3f1756a-0c95-4661-ab37-26a03b573e6d", "answer": "Peony", "category": "flower", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is it commonly recognized for having large, colorful petals?", "response": "yes"}, {"question": "Is it most commonly associated with romantic occasions or symbolism?", "response": "yes"}, {"question": "Is it traditionally red in color?", "response": "no"}, {"question": "Is it most commonly white or yellow in color?", "response": "no"}, {"question": "Is it most commonly pink or purple in color?", "response": "yes"}, {"question": "Is it most commonly known as a tulip?", "response": "no"}, {"question": "Is it most famous as the national flower of Japan?", "response": "no"}, {"question": "Is it typically associated with springtime or Easter celebrations?", "response": "yes"}, {"question": "Is it commonly known as a lily?", "response": "no"}, {"question": "Is it commonly known as an orchid?", "response": "no"}, {"question": "Is it commonly known as a peony?", "response": "yes"}]}
|
||||
{"index": 65, "id": "03714a4a-f5b9-4a52-845b-d260ba52a4fa", "answer": "Cello", "category": "instrument", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 6, "interactions": [{"question": "Is it primarily a percussion instrument?", "response": "no"}, {"question": "Is it primarily a string instrument?", "response": "yes"}, {"question": "Is it typically played with a bow?", "response": "yes"}, {"question": "Is it larger than a viola?", "response": "yes"}, {"question": "Is it played while seated between the knees?", "response": "yes"}, {"question": "Is it a cello?", "response": "yes"}]}
|
||||
{"index": 60, "id": "a7b954ed-fd41-4448-a350-3a3783796e13", "answer": "Harry Potter", "category": "character", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 12, "interactions": [{"question": "Is this character primarily known from fiction rather than real life?", "response": "yes"}, {"question": "Is this character primarily known from movies or television?", "response": "no"}, {"question": "Is this character primarily known from literature (books, stories, or comics)?", "response": "yes"}, {"question": "Is this character originally from a comic book?", "response": "no"}, {"question": "Is this character primarily from a novel or series of novels?", "response": "yes"}, {"question": "Is this character primarily known from children's or young adult literature?", "response": "yes"}, {"question": "Is this character human?", "response": "yes"}, {"question": "Is this character the main protagonist in their book series?", "response": "yes"}, {"question": "Is this character male?", "response": "yes"}, {"question": "Is this character primarily associated with magical abilities or the use of magic?", "response": "yes"}, {"question": "Is this character British?", "response": "yes"}, {"question": "Is it Harry Potter?", "response": "yes"}]}
|
||||
{"index": 84, "id": "b4a6576c-9bd3-40c9-8d89-39eaea4c3151", "answer": "Lily", "category": "flower", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is this flower commonly gifted on romantic occasions such as Valentine's Day?", "response": "no"}, {"question": "Is this flower typically associated with springtime blooms?", "response": "no"}, {"question": "Is this flower most commonly seen with bright yellow petals?", "response": "no"}, {"question": "Is this flower most commonly associated with funerals or memorial occasions?", "response": "yes"}, {"question": "Is this flower most commonly white in color?", "response": "no"}, {"question": "Is this flower most commonly seen with red petals?", "response": "no"}, {"question": "Is this flower most commonly purple in color?", "response": "no"}, {"question": "Is this flower most commonly seen with pink petals?", "response": "no"}, {"question": "Is this flower most commonly seen with orange petals?", "response": "no"}, {"question": "Is this flower most commonly associated with the chrysanthemum?", "response": "no"}, {"question": "Is this flower most commonly used in sympathy arrangements as the focal central bloom (rather than as filler)?", "response": "yes"}, {"question": "Is this flower most commonly associated with lilies?", "response": "yes"}, {"question": "Is it the calla lily?", "response": "no"}, {"question": "Is it the stargazer lily?", "response": "no"}, {"question": "Is it the Easter lily?", "response": "no"}, {"question": "Is it the Oriental lily?", "response": "no"}, {"question": "Is it the Peruvian lily?", "response": "no"}, {"question": "Is it the Asiatic lily?", "response": "no"}, {"question": "Is it the peace lily?", "response": "no"}, {"question": "Is it the tiger lily?", "response": "no"}]}
|
||||
{"index": 67, "id": "2c1695d1-164d-49d4-8397-9f94f65724b1", "answer": "Clarinet", "category": "instrument", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 9, "interactions": [{"question": "Is it a musical instrument?", "response": "yes"}, {"question": "Is it primarily a string instrument?", "response": "no"}, {"question": "Is it primarily a wind instrument?", "response": "yes"}, {"question": "Is it primarily made of brass?", "response": "no"}, {"question": "Is it primarily made of wood?", "response": "yes"}, {"question": "Is it usually played by blowing air directly through a mouthpiece (not using a reed)?", "response": "no"}, {"question": "Is it played using a single reed?", "response": "yes"}, {"question": "Is it part of the clarinet family?", "response": "yes"}, {"question": "Is it the most common member of the clarinet family, the B-flat clarinet?", "response": "yes"}]}
|
||||
{"index": 125, "id": "004e4b69-55aa-427d-bbf3-5cba6f556c75", "answer": "Tablet", "category": "electronics", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it primarily used for personal communication?", "response": "no"}, {"question": "Is it primarily used for entertainment purposes?", "response": "no"}, {"question": "Is it primarily used in a home or office setting?", "response": "yes"}, {"question": "Is it primarily used for productivity or work-related tasks?", "response": "no"}, {"question": "Is it primarily used for cooking or food preparation?", "response": "no"}, {"question": "Is it primarily used for cleaning or maintenance purposes?", "response": "no"}, {"question": "Is it primarily used for health or personal care purposes?", "response": "no"}, {"question": "Is it a device primarily used for displaying information visually?", "response": "yes"}, {"question": "Is it a screen that is commonly connected to a computer or laptop?", "response": "no"}, {"question": "Is it mounted on a wall?", "response": "no"}, {"question": "Is it primarily used to display time?", "response": "no"}, {"question": "Is it an electronic device used for projecting images onto a surface?", "response": "no"}, {"question": "Is it primarily used as part of a security or monitoring system?", "response": "no"}, {"question": "Is it a calculator?", "response": "no"}, {"question": "Is it a scoreboard?", "response": "no"}, {"question": "Is it a digital photo frame?", "response": "no"}, {"question": "Is it a television?", "response": "no"}, {"question": "Is it an electronic billboard?", "response": "no"}, {"question": "Is it an oscilloscope?", "response": "no"}, {"question": "Is it an e-reader?", "response": "no"}]}
|
||||
{"index": 132, "id": "cc18e4cc-0eb4-45d8-ab59-a8898abffb0e", "answer": "Microphone", "category": "electronics", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it primarily used for communication?", "response": "no"}, {"question": "Is it primarily used for entertainment?", "response": "no"}, {"question": "Is it primarily used in the kitchen?", "response": "no"}, {"question": "Is it primarily used for work or productivity tasks?", "response": "no"}, {"question": "Is it primarily used for personal health or hygiene?", "response": "no"}, {"question": "Is it primarily used for transportation?", "response": "no"}, {"question": "Is it primarily used in the home?", "response": "no"}, {"question": "Is it a component or accessory rather than a standalone device?", "response": "no"}, {"question": "Is it primarily used outdoors or outside of buildings?", "response": "no"}, {"question": "Is it primarily used in a professional or industrial setting?", "response": "no"}, {"question": "Is it primarily used for measurement or testing?", "response": "no"}, {"question": "Is it primarily used for lighting?", "response": "no"}, {"question": "Is it primarily used for power or charging purposes?", "response": "no"}, {"question": "Is it primarily used for security or surveillance?", "response": "no"}, {"question": "Is it primarily used for data storage?", "response": "no"}, {"question": "Is it primarily used for cleaning?", "response": "no"}, {"question": "Is it primarily used in scientific or medical applications?", "response": "no"}, {"question": "Is it a calculator?", "response": "no"}, {"question": "Is it a clock?", "response": "no"}, {"question": "Is it a battery?", "response": "no"}]}
|
||||
{"index": 9, "id": "371766bd-8c84-4027-9ce3-a3b659041f81", "answer": "Goose", "category": "animal", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a mammal?", "response": "no"}, {"question": "Is it a bird?", "response": "yes"}, {"question": "Is it capable of flight?", "response": "yes"}, {"question": "Is it commonly found in North America?", "response": "yes"}, {"question": "Is it primarily known for its distinctive song or call?", "response": "yes"}, {"question": "Is it commonly bright red in color?", "response": "no"}, {"question": "Is it black in color or mostly black?", "response": "no"}, {"question": "Is it blue or does it have prominent blue coloration?", "response": "no"}, {"question": "Is it primarily associated with yellow or gold coloration?", "response": "no"}, {"question": "Is it primarily white or does it have prominent white coloration?", "response": "yes"}, {"question": "Is it commonly seen in backyard bird feeders?", "response": "no"}, {"question": "Is it associated with aquatic or coastal habitats?", "response": "yes"}, {"question": "Is it a type of gull?", "response": "no"}, {"question": "Is it a type of heron or egret?", "response": "no"}, {"question": "Is it primarily associated with cold or northern habitats?", "response": "yes"}, {"question": "Is it a type of goose?", "response": "yes"}, {"question": "Is it the Snow Goose?", "response": "no"}, {"question": "Is it the Canada Goose?", "response": "no"}, {"question": "Is it the Ross's Goose?", "response": "no"}, {"question": "Is it the Greater White-fronted Goose?", "response": "no"}]}
|
||||
{"index": 18, "id": "63a653ef-20cf-43b5-a84a-b1a4fa72c9bd", "answer": "Fox", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 13, "interactions": [{"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it larger than a human?", "response": "no"}, {"question": "Is it commonly kept as a household pet?", "response": "no"}, {"question": "Is it capable of flight?", "response": "no"}, {"question": "Is it primarily active at night (nocturnal)?", "response": "yes"}, {"question": "Does it primarily eat meat (is it carnivorous)?", "response": "yes"}, {"question": "Does it belong to the order Carnivora?", "response": "yes"}, {"question": "Is it a member of the cat family (Felidae)?", "response": "no"}, {"question": "Is it a member of the dog family (Canidae)?", "response": "yes"}, {"question": "Is it commonly found in the wild in North America?", "response": "yes"}, {"question": "Is it known for its distinctive howling or yipping vocalizations?", "response": "yes"}, {"question": "Is it a coyote?", "response": "no"}, {"question": "Is it a fox?", "response": "yes"}]}
|
||||
{"index": 55, "id": "ab604415-f816-471c-b742-47585d8f3e1b", "answer": "Donald Duck", "category": "character", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 13, "interactions": [{"question": "Is this character primarily known from a work of fiction?", "response": "yes"}, {"question": "Is this character human?", "response": "no"}, {"question": "Is this character an animal?", "response": "yes"}, {"question": "Is this character associated with a specific franchise or series?", "response": "yes"}, {"question": "Is this character from an animated franchise or series?", "response": "yes"}, {"question": "Is this character a mammal?", "response": "no"}, {"question": "Is this character aquatic (primarily lives in water)?", "response": "no"}, {"question": "Is this character a bird?", "response": "yes"}, {"question": "Is this character from the \"Looney Tunes\" franchise?", "response": "no"}, {"question": "Is this character from a Disney animated franchise?", "response": "yes"}, {"question": "Is this character primarily known for appearing in the \"DuckTales\" series?", "response": "no"}, {"question": "Is this character primarily known for appearing in the \"Donald Duck\" cartoons or shorts?", "response": "yes"}, {"question": "Is this character Donald Duck?", "response": "yes"}]}
|
||||
{"index": 75, "id": "f09f6fa8-1c42-407a-91ff-0ed20931e2f5", "answer": "Ukulele", "category": "instrument", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 16, "interactions": [{"question": "Is it primarily a string instrument?", "response": "yes"}, {"question": "Is it typically played with a bow?", "response": "no"}, {"question": "Is it most commonly played by plucking the strings with fingers or a plectrum?", "response": "yes"}, {"question": "Is it most commonly associated with classical music?", "response": "no"}, {"question": "Is it most commonly used in rock or pop music?", "response": "no"}, {"question": "Is it most commonly associated with folk or country music?", "response": "no"}, {"question": "Is it commonly used in jazz music?", "response": "no"}, {"question": "Is it primarily associated with Latin or Caribbean music genres?", "response": "no"}, {"question": "Is it a traditional instrument originating from Asia?", "response": "no"}, {"question": "Is it primarily associated with blues or bluegrass music?", "response": "no"}, {"question": "Is it an instrument commonly used in African or African-influenced music genres?", "response": "no"}, {"question": "Is it commonly used in orchestral or ensemble music?", "response": "no"}, {"question": "Is it a harp?", "response": "no"}, {"question": "Is it a guitar?", "response": "no"}, {"question": "Is it a banjo?", "response": "no"}, {"question": "Is it a ukulele?", "response": "yes"}]}
|
||||
{"index": 150, "id": "9e3d07f1-0542-457e-8937-a79817d5db49", "answer": "Desk", "category": "furniture", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 12, "interactions": [{"question": "Is it primarily used for sitting?", "response": "no"}, {"question": "Is it primarily used for sleeping or lying down?", "response": "no"}, {"question": "Is it primarily used for storing or organizing items?", "response": "no"}, {"question": "Is it primarily used for working on or preparing food or meals?", "response": "no"}, {"question": "Is it primarily used for providing surfaces for placing objects or supporting activities (like a table or desk)?", "response": "yes"}, {"question": "Is it typically found in a dining room?", "response": "no"}, {"question": "Is it commonly used in a living room?", "response": "no"}, {"question": "Is it most commonly found in an office or workspace?", "response": "yes"}, {"question": "Is it primarily used for writing, typing, or using a computer?", "response": "yes"}, {"question": "Is it designed to be adjustable in height or configuration?", "response": "no"}, {"question": "Is it typically intended for use by one person at a time?", "response": "yes"}, {"question": "Is it a desk?", "response": "yes"}]}
|
||||
{"index": 104, "id": "56ff1ba8-c03b-4352-994b-1cc075277567", "answer": "Eraser", "category": "stationery", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 6, "interactions": [{"question": "Is it primarily used for writing or drawing?", "response": "no"}, {"question": "Is it primarily used for holding or organizing other items?", "response": "no"}, {"question": "Is it primarily used for correcting mistakes?", "response": "yes"}, {"question": "Is it primarily used to erase pencil marks?", "response": "yes"}, {"question": "Is it made primarily of rubber?", "response": "yes"}, {"question": "Is it an eraser?", "response": "yes"}]}
|
||||
{"index": 135, "id": "04454ffc-6892-4ac0-a71b-0d5d7fb4e3a9", "answer": "Webcam", "category": "electronics", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 17, "interactions": [{"question": "Is it primarily a device used for communication?", "response": "yes"}, {"question": "Is it a handheld device?", "response": "no"}, {"question": "Is it typically found in households?", "response": "yes"}, {"question": "Is it primarily used for receiving audio or video broadcasts?", "response": "no"}, {"question": "Is it primarily used for data processing or accessing the internet?", "response": "no"}, {"question": "Is it primarily an appliance used for household tasks like cleaning or cooking?", "response": "no"}, {"question": "Is it primarily used for home security or monitoring?", "response": "no"}, {"question": "Is it a landline telephone?", "response": "no"}, {"question": "Is it mounted on a wall?", "response": "no"}, {"question": "Is it used for making audio or video calls?", "response": "yes"}, {"question": "Is it commonly used for group conference calls?", "response": "yes"}, {"question": "Is it a speakerphone?", "response": "no"}, {"question": "Is it a conference call system?", "response": "no"}, {"question": "Is it an intercom?", "response": "no"}, {"question": "Is it a video conferencing device?", "response": "yes"}, {"question": "Is it a smart display?", "response": "no"}, {"question": "Is it a webcam?", "response": "yes"}]}
|
||||
{"index": 137, "id": "4ac50383-56eb-41fb-ba36-9a0c7af6bb41", "answer": "Radio", "category": "electronics", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it primarily used for communication?", "response": "yes"}, {"question": "Is it a handheld device?", "response": "yes"}, {"question": "Does it have a touchscreen?", "response": "no"}, {"question": "Does it have physical buttons for dialing numbers?", "response": "no"}, {"question": "Is it worn on the body?", "response": "no"}, {"question": "Is it commonly found on a desk or table during regular use?", "response": "yes"}, {"question": "Is it typically used for audio communication rather than video communication?", "response": "yes"}, {"question": "Is it commonly used in an office environment?", "response": "no"}, {"question": "Is it a cordless phone?", "response": "no"}, {"question": "Is it a landline telephone?", "response": "no"}, {"question": "Is it an intercom?", "response": "no"}, {"question": "Is it a walkie-talkie?", "response": "no"}, {"question": "Is it primarily used for audio conferencing?", "response": "no"}, {"question": "Is it a fax machine?", "response": "no"}, {"question": "Is it a speakerphone?", "response": "no"}, {"question": "Is it a modem?", "response": "no"}, {"question": "Is it a headset?", "response": "no"}, {"question": "Is it a CB radio?", "response": "no"}, {"question": "Is it a pager?", "response": "no"}, {"question": "Is it a walkman?", "response": "no"}]}
|
||||
{"index": 164, "id": "7b0e7089-f39e-43d3-8834-d71d1230f9fb", "answer": "Vanity", "category": "furniture", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 17, "interactions": [{"question": "Is it primarily used for sitting?", "response": "no"}, {"question": "Is it primarily used for sleeping?", "response": "no"}, {"question": "Is it primarily used for storing items?", "response": "no"}, {"question": "Is it primarily used for working, eating, or preparing food?", "response": "no"}, {"question": "Is it primarily used for supporting or holding objects?", "response": "yes"}, {"question": "Is it typically found in a living room?", "response": "no"}, {"question": "Is it primarily found in a bedroom?", "response": "yes"}, {"question": "Is it used to hold clothing?", "response": "no"}, {"question": "Is it commonly used as a surface for placing items like lamps, clocks, or books beside a bed?", "response": "no"}, {"question": "Is it primarily used for supporting or displaying electronic devices such as a television?", "response": "no"}, {"question": "Is it designed to support a person standing on it, like a stool or step?", "response": "no"}, {"question": "Is it primarily used to support or organize shoes or footwear?", "response": "no"}, {"question": "Is it used to support or organize books in a bedroom?", "response": "no"}, {"question": "Is it designed to support bedding items or accessories, such as a headboard or footboard?", "response": "no"}, {"question": "Is it primarily used to support or display decorative items?", "response": "no"}, {"question": "Is it found inside a closet or used in connection with closet storage?", "response": "no"}, {"question": "Is it a vanity?", "response": "yes"}]}
|
||||
{"index": 76, "id": "9a685396-9944-45b3-ba0d-a872acf77532", "answer": "Banjo", "category": "instrument", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 8, "interactions": [{"question": "Is it primarily a string instrument?", "response": "yes"}, {"question": "Is it primarily played with a bow?", "response": "no"}, {"question": "Is it typically played by plucking the strings with fingers or a plectrum?", "response": "yes"}, {"question": "Is it typically classified as a guitar?", "response": "no"}, {"question": "Is it usually played while resting on a surface rather than held upright?", "response": "no"}, {"question": "Is it primarily associated with folk or traditional music rather than classical or orchestral music?", "response": "yes"}, {"question": "Is it primarily associated with American folk or country music?", "response": "yes"}, {"question": "Is it a banjo?", "response": "yes"}]}
|
||||
{"index": 79, "id": "5788f16c-2149-4125-90bc-2b956707cf1d", "answer": "Tambourine", "category": "instrument", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is it primarily a musical instrument?", "response": "yes"}, {"question": "Is it most commonly played by blowing air into it?", "response": "no"}, {"question": "Is it most commonly played by striking it with something (e.g., sticks, mallets, hands)?", "response": "yes"}, {"question": "Is it primarily considered a percussion instrument with definite pitch (i.e., can play melodies or specific notes)?", "response": "no"}, {"question": "Is it typically handheld when played?", "response": "yes"}, {"question": "Is it primarily made of metal?", "response": "no"}, {"question": "Is it primarily made of wood?", "response": "no"}, {"question": "Is it primarily made of skin or animal hide?", "response": "no"}, {"question": "Is it primarily made of plastic?", "response": "no"}, {"question": "Is it a shaker?", "response": "no"}, {"question": "Is it a tambourine?", "response": "yes"}]}
|
||||
{"index": 197, "id": "eeb5c15d-577c-486b-946b-497fe11183ba", "answer": "Aristotle", "category": "celebrity", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is this celebrity primarily known for their work in the entertainment industry (acting, music, or sports)?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in politics or government?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in science or technology?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in business or finance?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in media or journalism?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in religion or spirituality?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in law or the legal system?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in philanthropy or humanitarian efforts?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in fashion or modeling?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in the culinary or food industry?", "response": "no"}, {"question": "Is this celebrity primarily known for their achievements in literature or writing?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in royalty or being a member of a royal family?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in activism or social causes?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in crime or criminal activity?", "response": "no"}, {"question": "Is this celebrity primarily known for their achievements in space exploration or as an astronaut?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in the world of internet or social media?", "response": "no"}, {"question": "Is this celebrity primarily known for their achievements in the field of invention or discovery (outside of formal science/technology)?", "response": "no"}, {"question": "Is this celebrity primarily known for their work as a historical figure?", "response": "yes"}, {"question": "Is this historical figure primarily known for their military leadership or role in warfare?", "response": "no"}, {"question": "Is it Albert Einstein?", "response": "no"}]}
|
||||
{"index": 38, "id": "728b18a1-510a-4b3f-bc6c-59ff3bf17ee9", "answer": "Spider Man", "category": "character", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is this character primarily from a work of fiction?", "response": "yes"}, {"question": "Is this character human?", "response": "yes"}, {"question": "Is this character the main protagonist in their story?", "response": "yes"}, {"question": "Is this character from a live-action film or television series?", "response": "yes"}, {"question": "Is this character from a television series rather than a film?", "response": "no"}, {"question": "Is this character part of a film series with more than three installments?", "response": "yes"}, {"question": "Is this character associated with the science fiction genre?", "response": "yes"}, {"question": "Is this character originally from a Star Wars film?", "response": "no"}, {"question": "Is this character from the Star Trek film series?", "response": "no"}, {"question": "Is this character primarily from a superhero film series?", "response": "no"}, {"question": "Is this character from the Matrix film series?", "response": "no"}, {"question": "Is this character from a film series released before the year 2000?", "response": "no"}, {"question": "Is this character from the James Bond film series?", "response": "no"}, {"question": "Is this character from the Fast & Furious film series?", "response": "no"}, {"question": "Is this character from the Terminator film series?", "response": "no"}, {"question": "Is this character from the Men in Black film series?", "response": "no"}, {"question": "Is this character from the Marvel Cinematic Universe film series?", "response": "yes"}, {"question": "Is this character played by Robert Downey Jr.?", "response": "no"}, {"question": "Is this character played by Chris Evans?", "response": "no"}, {"question": "Is it Peter Quill?", "response": "no"}]}
|
||||
{"index": 24, "id": "91216c9c-21ff-4f92-b1f6-713b089f418e", "answer": "Panda", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 15, "interactions": [{"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it commonly kept as a pet?", "response": "no"}, {"question": "Is it larger than a human?", "response": "no"}, {"question": "Is it found primarily in the wild rather than on farms?", "response": "yes"}, {"question": "Is it primarily a carnivore?", "response": "no"}, {"question": "Is it capable of flight?", "response": "no"}, {"question": "Is it found primarily in water (aquatic or semi-aquatic)?", "response": "no"}, {"question": "Is it often found in forests or wooded areas?", "response": "yes"}, {"question": "Is it primarily herbivorous?", "response": "yes"}, {"question": "Is it commonly found in North America?", "response": "no"}, {"question": "Is it native to Africa?", "response": "no"}, {"question": "Is it native to Asia?", "response": "yes"}, {"question": "Is it a type of primate?", "response": "no"}, {"question": "Is it known for having stripes or distinctive markings on its body?", "response": "yes"}, {"question": "Is it a panda?", "response": "yes"}]}
|
||||
{"index": 122, "id": "9c618cda-aa06-4937-8993-dda4861d4b7e", "answer": "Phone", "category": "electronics", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it primarily used for communication?", "response": "yes"}, {"question": "Is it primarily a handheld device?", "response": "yes"}, {"question": "Does it have a touchscreen?", "response": "yes"}, {"question": "Can it make phone calls?", "response": "yes"}, {"question": "Is it primarily known as a smartphone?", "response": "no"}, {"question": "Is it primarily known as a tablet?", "response": "no"}, {"question": "Does it primarily function as an e-reader?", "response": "no"}, {"question": "Does it have a physical keyboard?", "response": "yes"}, {"question": "Is it primarily known as a BlackBerry?", "response": "no"}, {"question": "Is it primarily known as a pager?", "response": "no"}, {"question": "Is it primarily known as a PDA?", "response": "no"}, {"question": "Is it primarily known as a walkie-talkie?", "response": "no"}, {"question": "Is it primarily known as a feature phone?", "response": "no"}, {"question": "Is it primarily known as a T9 phone?", "response": "no"}, {"question": "Is it primarily known as a cordless phone?", "response": "no"}, {"question": "Is it primarily known as a two-way radio?", "response": "no"}, {"question": "Is it primarily known as a landline phone?", "response": "no"}, {"question": "Is it primarily known as a satellite phone?", "response": "no"}, {"question": "Is it primarily known as a VoIP phone?", "response": "no"}, {"question": "Is it a cordless handset?", "response": "no"}]}
|
||||
{"index": 195, "id": "5acf026c-ff12-4b8f-b505-2e0cb163f550", "answer": "George Orwell", "category": "celebrity", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is this celebrity primarily known for their work in film or television?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in music?", "response": "no"}, {"question": "Is this celebrity primarily known for their achievements in sports?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in politics or government?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in business or as an entrepreneur?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in literature or as an author?", "response": "yes"}, {"question": "Is this celebrity primarily known for writing fiction?", "response": "yes"}, {"question": "Is this author primarily known for writing for children or young adults?", "response": "no"}, {"question": "Is this author primarily known for their work in the 20th century?", "response": "yes"}, {"question": "Is this author primarily known for writing novels?", "response": "yes"}, {"question": "Is this author primarily known for writing in the mystery or crime genre?", "response": "no"}, {"question": "Is this author primarily known for writing in the science fiction or fantasy genre?", "response": "no"}, {"question": "Is this author primarily known for writing literary fiction?", "response": "yes"}, {"question": "Is this author male?", "response": "yes"}, {"question": "Is this author primarily associated with American literature?", "response": "no"}, {"question": "Is this author primarily known for writing in the English language?", "response": "yes"}, {"question": "Is this author British?", "response": "yes"}, {"question": "Is it Ian McEwan?", "response": "no"}, {"question": "Is it Kazuo Ishiguro?", "response": "no"}, {"question": "Is it Salman Rushdie?", "response": "no"}]}
|
||||
{"index": 29, "id": "144a9e65-702b-4307-8312-8eaa9cf716b2", "answer": "Butterfly", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 12, "interactions": [{"question": "Is it a mammal?", "response": "no"}, {"question": "Is it primarily a bird?", "response": "no"}, {"question": "Is it primarily an aquatic animal?", "response": "no"}, {"question": "Is it an insect?", "response": "yes"}, {"question": "Can it fly?", "response": "yes"}, {"question": "Is it commonly known for producing light (bioluminescence)?", "response": "no"}, {"question": "Is it commonly associated with forming large colonies or swarms?", "response": "no"}, {"question": "Is it commonly considered a pest by humans?", "response": "no"}, {"question": "Is it known for its bright or colorful wings?", "response": "yes"}, {"question": "Is it most commonly active during the day (diurnal)?", "response": "yes"}, {"question": "Is it commonly known for drinking nectar from flowers?", "response": "yes"}, {"question": "Is it a butterfly?", "response": "yes"}]}
|
||||
{"index": 19, "id": "ab637157-9fa5-4e48-8662-45ea41407765", "answer": "Rabbit", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 13, "interactions": [{"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it commonly kept as a household pet?", "response": "yes"}, {"question": "Is it a type of rodent?", "response": "no"}, {"question": "Is it a type of dog?", "response": "no"}, {"question": "Is it a type of cat?", "response": "no"}, {"question": "Is it a type of rabbit?", "response": "yes"}, {"question": "Is it a dwarf rabbit?", "response": "no"}, {"question": "Is it a lop-eared rabbit?", "response": "no"}, {"question": "Is it a Flemish Giant rabbit?", "response": "no"}, {"question": "Is it a Mini Rex rabbit?", "response": "no"}, {"question": "Is it a Lionhead rabbit?", "response": "no"}, {"question": "Is it an Angora rabbit?", "response": "no"}, {"question": "Is it a Holland Lop rabbit?", "response": "yes"}]}
|
||||
{"index": 143, "id": "176847fa-4cb3-4e66-bb07-57f495eccce4", "answer": "Calculator", "category": "electronics", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 19, "interactions": [{"question": "Is it primarily used for personal computing or communication?", "response": "no"}, {"question": "Is it primarily used for entertainment or media consumption?", "response": "no"}, {"question": "Is it primarily used for tasks involving the preparation, storage, or cooking of food?", "response": "no"}, {"question": "Is it primarily used for office, industrial, or scientific purposes?", "response": "yes"}, {"question": "Is it primarily a tool or device used for measurement or analysis?", "response": "yes"}, {"question": "Is it primarily used to measure physical quantities related to electricity, such as voltage, current, or resistance?", "response": "no"}, {"question": "Is it primarily used to measure physical properties related to the environment, such as temperature, humidity, or light?", "response": "no"}, {"question": "Is it primarily used to measure or analyze physical phenomena related to sound or vibration?", "response": "no"}, {"question": "Is it primarily used to measure or analyze properties of motion, position, or acceleration?", "response": "no"}, {"question": "Is it primarily used to measure chemical or biological properties?", "response": "no"}, {"question": "Is it primarily used for imaging, scanning, or visualization of objects or materials?", "response": "no"}, {"question": "Is it primarily used as a timing or counting device?", "response": "no"}, {"question": "Is it primarily used for data storage or data transfer?", "response": "no"}, {"question": "Is it primarily used as a component within a larger electronic system rather than as a standalone device?", "response": "no"}, {"question": "Is it primarily used for detection or identification of hidden or hazardous substances?", "response": "no"}, {"question": "Is it primarily used for security, surveillance, or access control purposes?", "response": "no"}, {"question": "Is it primarily used for cleaning or maintenance tasks?", "response": "no"}, {"question": "Is it primarily used for calculation or arithmetic functions?", "response": "yes"}, {"question": "Is it a calculator?", "response": "yes"}]}
|
||||
{"index": 86, "id": "7332385c-a152-4ee7-827e-a25589bb3a62", "answer": "Sunflower", "category": "flower", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 7, "interactions": [{"question": "Is it commonly cultivated for its fragrance?", "response": "no"}, {"question": "Is it typically grown for its edible parts?", "response": "yes"}, {"question": "Is it typically yellow in color?", "response": "yes"}, {"question": "Is it commonly used as a garnish for food or dishes?", "response": "no"}, {"question": "Is it a type of squash flower?", "response": "no"}, {"question": "Is it primarily grown for its seeds?", "response": "yes"}, {"question": "Is it a sunflower?", "response": "yes"}]}
|
||||
{"index": 114, "id": "79059932-1e7d-4b24-ad2c-af1c72c490fb", "answer": "Binder", "category": "stationery", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it primarily used for writing?", "response": "no"}, {"question": "Is it primarily used for cutting or attaching items together?", "response": "yes"}, {"question": "Is it primarily used for attaching items together (rather than cutting)?", "response": "yes"}, {"question": "Is it primarily used with paper?", "response": "yes"}, {"question": "Does it hold sheets of paper together by puncturing or binding through them?", "response": "yes"}, {"question": "Is it a stapler?", "response": "no"}, {"question": "Is it a paperclip?", "response": "no"}, {"question": "Is it a binder clip?", "response": "no"}, {"question": "Is it typically used with heat to attach papers together?", "response": "no"}, {"question": "Is it made primarily of adhesive material?", "response": "no"}, {"question": "Is it a bulldog clip?", "response": "no"}, {"question": "Is it a fastener that uses pins or tacks to hold papers together?", "response": "no"}, {"question": "Is it primarily used to bind papers together by folding or crimping metal around them?", "response": "no"}, {"question": "Is it a treasury tag?", "response": "no"}, {"question": "Is it primarily used to hold punched papers together using a split brass mechanism?", "response": "no"}, {"question": "Is it a staple remover?", "response": "no"}, {"question": "Is it a brass fastener?", "response": "no"}, {"question": "Is it a prong fastener?", "response": "no"}, {"question": "Is it a paper fastener?", "response": "yes"}, {"question": "Is it a paper fastener?", "response": "no"}]}
|
||||
{"index": 173, "id": "3588eca0-d267-43cd-a518-eb54e567250a", "answer": "Ludwig van Beethoven", "category": "celebrity", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 17, "interactions": [{"question": "Is this celebrity primarily known for work in film (acting, directing, or producing)?", "response": "no"}, {"question": "Is this celebrity primarily known for work in music?", "response": "yes"}, {"question": "Is this celebrity primarily known as a solo artist rather than as a member of a group or band?", "response": "yes"}, {"question": "Is this solo artist primarily known for work in the pop genre?", "response": "no"}, {"question": "Is this solo artist primarily known for work in the rock genre?", "response": "no"}, {"question": "Is this solo artist primarily known for work in the hip-hop or rap genre?", "response": "no"}, {"question": "Is this solo artist primarily known for work in the country genre?", "response": "no"}, {"question": "Is this solo artist primarily known for work in the R&B genre?", "response": "no"}, {"question": "Is this solo artist primarily known for work in the electronic or dance music genre?", "response": "no"}, {"question": "Is this solo artist primarily known for work in jazz?", "response": "no"}, {"question": "Is this solo artist primarily known for their work in the classical genre?", "response": "yes"}, {"question": "Is this celebrity primarily known as a composer rather than a performer?", "response": "yes"}, {"question": "Is this composer primarily known for work before the 20th century?", "response": "yes"}, {"question": "Is this composer primarily known for work during the Baroque period?", "response": "no"}, {"question": "Is this composer primarily associated with the Classical period (rather than Romantic)?", "response": "yes"}, {"question": "Is it Wolfgang Amadeus Mozart?", "response": "no"}, {"question": "Is it Ludwig van Beethoven?", "response": "yes"}]}
|
||||
{"index": 5, "id": "7f476d41-e615-4bc0-9309-ba638ec25fbb", "answer": "Sheep", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 17, "interactions": [{"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it larger than a breadbox?", "response": "yes"}, {"question": "Is it commonly kept as a pet?", "response": "no"}, {"question": "Is it primarily herbivorous?", "response": "yes"}, {"question": "Is it native to Africa?", "response": "no"}, {"question": "Is it native to North America?", "response": "no"}, {"question": "Is it native to Asia?", "response": "yes"}, {"question": "Is it larger than a human?", "response": "no"}, {"question": "Is it primarily found in forests?", "response": "no"}, {"question": "Is it domesticated for agricultural or labor purposes?", "response": "yes"}, {"question": "Is it primarily used for transportation?", "response": "no"}, {"question": "Is it primarily used for milk production?", "response": "no"}, {"question": "Is it primarily farmed for its wool or fiber?", "response": "no"}, {"question": "Is it primarily farmed for its meat?", "response": "yes"}, {"question": "Is it a goat?", "response": "no"}, {"question": "Is it a pig?", "response": "no"}, {"question": "Is it a sheep?", "response": "yes"}]}
|
||||
{"index": 126, "id": "784bf5bc-ed77-449b-b927-b33e5d86e78c", "answer": "Camera", "category": "electronics", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it an electronic device primarily intended for personal use?", "response": "yes"}, {"question": "Is it primarily used for communication?", "response": "no"}, {"question": "Is it primarily used for entertainment or leisure purposes?", "response": "no"}, {"question": "Is it primarily used for practical or utility purposes (such as tasks, chores, or work) rather than health or education?", "response": "yes"}, {"question": "Is it typically found in the kitchen?", "response": "no"}, {"question": "Is it commonly found in an office or workspace environment?", "response": "yes"}, {"question": "Is it primarily used for inputting data into a computer?", "response": "no"}, {"question": "Is it primarily used for displaying information from a computer?", "response": "no"}, {"question": "Is it primarily used for producing printed documents?", "response": "no"}, {"question": "Is it primarily used for controlling or supplying power to other electronic devices in an office or workspace?", "response": "no"}, {"question": "Is it primarily used for audio-related purposes in an office or workspace?", "response": "no"}, {"question": "Is it primarily used to provide lighting in an office or workspace?", "response": "no"}, {"question": "Is it primarily used for computing or processing information in an office or workspace?", "response": "no"}, {"question": "Is it primarily used for organizing or storing physical documents or office supplies?", "response": "no"}, {"question": "Is it primarily used for timekeeping or managing time in an office or workspace?", "response": "no"}, {"question": "Is it primarily used for environmental control, such as air quality or temperature?", "response": "no"}, {"question": "Is it primarily used for data storage or backup in an office or workspace?", "response": "no"}, {"question": "Is it primarily used for security or monitoring purposes in an office or workspace?", "response": "no"}, {"question": "Is it a calculator?", "response": "no"}, {"question": "Is it a shredder?", "response": "no"}]}
|
||||
{"index": 117, "id": "2eddd48c-3561-4415-8abd-b4780431d8cc", "answer": "Pushpin", "category": "stationery", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 12, "interactions": [{"question": "Is it primarily used for writing or drawing?", "response": "no"}, {"question": "Is it primarily used for organizing or holding paper?", "response": "yes"}, {"question": "Is it typically made of metal?", "response": "no"}, {"question": "Is it primarily made of plastic?", "response": "yes"}, {"question": "Is it commonly used to temporarily fasten multiple sheets of paper together?", "response": "no"}, {"question": "Is it primarily used to store or organize small stationery items (like pens, erasers, or paperclips) rather than paper itself?", "response": "no"}, {"question": "Is it designed to keep sheets of paper bound together in a fixed, book-like form?", "response": "no"}, {"question": "Is it primarily used to separate or divide sections within a binder, folder, or notebook?", "response": "no"}, {"question": "Is it primarily used to hold stacks of loose paper together without binding them?", "response": "no"}, {"question": "Is it primarily used for attaching paper to a vertical surface, like a wall or bulletin board?", "response": "yes"}, {"question": "Is it primarily used to adhere paper to surfaces using a sticky or tacky substance?", "response": "no"}, {"question": "Is it a push pin?", "response": "yes"}]}
|
||||
{"index": 73, "id": "b6ad2ffe-53b4-4a7e-9e1f-2d6fa2d478a6", "answer": "Harp", "category": "instrument", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 6, "interactions": [{"question": "Is it primarily a musical instrument?", "response": "yes"}, {"question": "Is it primarily a string instrument?", "response": "yes"}, {"question": "Is it primarily played with a bow?", "response": "no"}, {"question": "Is it primarily played by plucking the strings with fingers or a plectrum?", "response": "yes"}, {"question": "Is it commonly classified as a guitar?", "response": "no"}, {"question": "Is it a harp?", "response": "yes"}]}
|
||||
{"index": 140, "id": "99ab4eb2-d085-4dbe-a522-854bb6d2e4a1", "answer": "Toaster", "category": "electronics", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is it primarily used for communication?", "response": "no"}, {"question": "Is it primarily used for entertainment?", "response": "no"}, {"question": "Is it primarily used for work or productivity?", "response": "no"}, {"question": "Is it primarily used in the home?", "response": "yes"}, {"question": "Is it primarily an appliance that is used for cleaning or maintaining the home?", "response": "no"}, {"question": "Is it primarily used in the kitchen?", "response": "yes"}, {"question": "Is it primarily used for cooking or preparing food?", "response": "yes"}, {"question": "Is it primarily used to heat food?", "response": "yes"}, {"question": "Is it typically found built into the kitchen, rather than being a portable device?", "response": "no"}, {"question": "Is it primarily used to heat food quickly with microwave radiation?", "response": "no"}, {"question": "Is it a toaster?", "response": "yes"}]}
|
||||
{"index": 98, "id": "74ba1f7f-afa3-47c6-9fdd-de62d4b46219", "answer": "Magnolia", "category": "flower", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is it commonly given as a romantic gift?", "response": "no"}, {"question": "Is it commonly found growing in the wild rather than mainly cultivated in gardens?", "response": "yes"}, {"question": "Is it known for having a strong or distinctive fragrance?", "response": "yes"}, {"question": "Is it typically yellow in color?", "response": "no"}, {"question": "Is it commonly white in color?", "response": "yes"}, {"question": "Is it often associated with springtime or symbolizes renewal?", "response": "yes"}, {"question": "Is it often found growing on trees or as a part of a tree?", "response": "yes"}, {"question": "Is it known for having white blossoms that appear before its leaves in early spring?", "response": "yes"}, {"question": "Is it commonly known as the cherry blossom?", "response": "no"}, {"question": "Is it the dogwood?", "response": "no"}, {"question": "Is it the magnolia?", "response": "yes"}]}
|
||||
{"index": 172, "id": "1ef108dc-0801-4bd9-9300-89da9ad6bb98", "answer": "Wolfgang Amadeus Mozart", "category": "celebrity", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 17, "interactions": [{"question": "Is this celebrity primarily known for their work in film or television?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in music?", "response": "yes"}, {"question": "Is this celebrity primarily known as a solo artist rather than as part of a group or band?", "response": "yes"}, {"question": "Is this celebrity primarily known for their work in the 21st century?", "response": "no"}, {"question": "Is this celebrity male?", "response": "yes"}, {"question": "Is this celebrity primarily known for working in the United States?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in the United Kingdom?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in Europe (excluding the UK)?", "response": "yes"}, {"question": "Is this celebrity primarily associated with the genre of rock music?", "response": "no"}, {"question": "Is this celebrity primarily known for pop music?", "response": "no"}, {"question": "Is this celebrity primarily known for classical music?", "response": "yes"}, {"question": "Is this celebrity primarily known as a composer?", "response": "yes"}, {"question": "Is this celebrity primarily known for their work before the 20th century?", "response": "yes"}, {"question": "Is this composer primarily known for their work during the Romantic period?", "response": "no"}, {"question": "Is this composer primarily known for their work during the Classical period?", "response": "yes"}, {"question": "Is this composer Austrian?", "response": "yes"}, {"question": "Is it Wolfgang Amadeus Mozart?", "response": "yes"}]}
|
||||
{"index": 96, "id": "d713189e-014f-4e93-92ae-3fbf110120aa", "answer": "Lilac", "category": "flower", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is it commonly associated with a specific color (such as red for roses or yellow for sunflowers)?", "response": "yes"}, {"question": "Is it most commonly found in gardens or as a cultivated decorative flower rather than growing wild?", "response": "yes"}, {"question": "Is it commonly given as a romantic gift or symbol of love?", "response": "yes"}, {"question": "Is it most commonly red in color?", "response": "no"}, {"question": "Is it primarily associated with the color white?", "response": "no"}, {"question": "Is it primarily associated with the color yellow?", "response": "no"}, {"question": "Is it primarily associated with the color pink?", "response": "no"}, {"question": "Is it primarily associated with the color purple?", "response": "yes"}, {"question": "Is it known for its distinctive fragrance?", "response": "yes"}, {"question": "Is it an iris?", "response": "no"}, {"question": "Is it a lilac?", "response": "yes"}]}
|
||||
{"index": 169, "id": "e6c253e7-d689-4bb5-bb95-bec871e91793", "answer": "Albert Einstein", "category": "celebrity", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 16, "interactions": [{"question": "Is this celebrity primarily known for acting in movies or television?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in music?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in sports?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in politics or government?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in comedy or as a comedian?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in business or entrepreneurship?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in writing, such as being an author, journalist, or poet?", "response": "no"}, {"question": "Is this celebrity primarily known for their work on television as a host, presenter, or personality (not acting)?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in the fashion or modeling industry?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in science or technology?", "response": "yes"}, {"question": "Is this celebrity primarily known for their contributions as an inventor or innovator?", "response": "no"}, {"question": "Is this celebrity primarily known for their work as a scientist, researcher, or academic?", "response": "yes"}, {"question": "Is this celebrity primarily known for their work in physics?", "response": "yes"}, {"question": "Is this celebrity primarily known for their contributions to theoretical physics?", "response": "yes"}, {"question": "Is this celebrity primarily known for developing the theory of relativity?", "response": "yes"}, {"question": "Is it Albert Einstein?", "response": "yes"}]}
|
||||
{"index": 97, "id": "9beffb16-a7ea-490d-a23c-06f3ee31afc2", "answer": "Poppy", "category": "flower", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it commonly grown for its fragrance?", "response": "no"}, {"question": "Is it typically associated with giving as a romantic gesture (e.g., for Valentine's Day)?", "response": "no"}, {"question": "Is it most commonly recognized for its bright and distinctive color?", "response": "yes"}, {"question": "Is it most commonly found growing from bulbs?", "response": "no"}, {"question": "Is it a flower commonly grown as a cut flower for floral arrangements?", "response": "no"}, {"question": "Is it most commonly found growing in the wild rather than in gardens?", "response": "yes"}, {"question": "Is it a type of wildflower commonly found in North America?", "response": "yes"}, {"question": "Is it typically characterized by having yellow petals?", "response": "no"}, {"question": "Is it typically recognized for having blue or purple petals?", "response": "no"}, {"question": "Is it commonly recognized for having red or pink petals?", "response": "yes"}, {"question": "Is it typically recognized for having a prominent composite flower head (like daisies or asters)?", "response": "no"}, {"question": "Is it a type of poppy?", "response": "yes"}, {"question": "Is it the California poppy?", "response": "no"}, {"question": "Is it the Oriental poppy?", "response": "no"}, {"question": "Is it the corn poppy?", "response": "no"}, {"question": "Is it the Iceland poppy?", "response": "no"}, {"question": "Is it the opium poppy?", "response": "no"}, {"question": "Is it the wood poppy?", "response": "no"}, {"question": "Is it the bloodroot?", "response": "no"}, {"question": "Is it the fire poppy?", "response": "no"}]}
|
||||
{"index": 31, "id": "a5964123-3929-4193-bc77-498e9004e6ec", "answer": "Crab", "category": "animal", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a mammal?", "response": "no"}, {"question": "Is it a bird?", "response": "no"}, {"question": "Is it a reptile?", "response": "no"}, {"question": "Is it an amphibian?", "response": "no"}, {"question": "Is it an invertebrate?", "response": "yes"}, {"question": "Is it an arthropod?", "response": "yes"}, {"question": "Is it a type of insect?", "response": "no"}, {"question": "Is it a crustacean?", "response": "yes"}, {"question": "Is it primarily aquatic?", "response": "yes"}, {"question": "Is it commonly eaten by humans?", "response": "yes"}, {"question": "Is it a type of crab?", "response": "yes"}, {"question": "Is it commonly red in color?", "response": "no"}, {"question": "Is it often found living in freshwater rather than saltwater?", "response": "no"}, {"question": "Is it a king crab?", "response": "no"}, {"question": "Is it a blue crab?", "response": "no"}, {"question": "Is it a Dungeness crab?", "response": "no"}, {"question": "Is it a snow crab?", "response": "no"}, {"question": "Is it a spider crab?", "response": "no"}, {"question": "Is it a stone crab?", "response": "no"}, {"question": "Is it a lobster?", "response": "no"}]}
|
||||
{"index": 12, "id": "5b715b58-af31-4c29-b2a7-383b64f513c3", "answer": "Whale", "category": "animal", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it commonly kept as a pet?", "response": "no"}, {"question": "Is it larger than a human?", "response": "yes"}, {"question": "Is it native to Africa?", "response": "yes"}, {"question": "Does it have a trunk?", "response": "no"}, {"question": "Is it an herbivore?", "response": "no"}, {"question": "Is it a carnivore?", "response": "yes"}, {"question": "Is it a big cat species?", "response": "no"}, {"question": "Is it a member of the dog family (Canidae)?", "response": "no"}, {"question": "Is it a member of the hyena family (Hyaenidae)?", "response": "no"}, {"question": "Is it a member of the bear family (Ursidae)?", "response": "no"}, {"question": "Is it a member of the primate family?", "response": "no"}, {"question": "Is it a member of the cat family (Felidae)?", "response": "no"}, {"question": "Is it a member of the mustelid family (Mustelidae)?", "response": "no"}, {"question": "Is it a member of the crocodile family (Crocodylidae)?", "response": "no"}, {"question": "Is it a member of the mongoose family (Herpestidae)?", "response": "no"}, {"question": "Is it a hippopotamus?", "response": "no"}, {"question": "Is it a spotted hyena?", "response": "no"}, {"question": "Is it a lion?", "response": "no"}, {"question": "Is it a leopard?", "response": "no"}]}
|
||||
{"index": 35, "id": "d6e22fb4-f33c-443f-a607-884022b13415", "answer": "Owl", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 8, "interactions": [{"question": "Is it a mammal?", "response": "no"}, {"question": "Is it a bird?", "response": "yes"}, {"question": "Is it capable of flight?", "response": "yes"}, {"question": "Is it commonly found in urban or residential areas?", "response": "no"}, {"question": "Is it primarily associated with aquatic environments?", "response": "no"}, {"question": "Is it a bird of prey (raptor)?", "response": "yes"}, {"question": "Is it primarily active during the day (diurnal)?", "response": "no"}, {"question": "Is it an owl?", "response": "yes"}]}
|
||||
{"index": 119, "id": "80a18b86-f4c8-4a2c-9d76-43fdad78542a", "answer": "Crayon", "category": "stationery", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it primarily used for writing?", "response": "no"}, {"question": "Is it primarily used for attaching or holding items together?", "response": "no"}, {"question": "Is it primarily used for cutting?", "response": "no"}, {"question": "Is it primarily used for organizing or sorting papers?", "response": "no"}, {"question": "Is it primarily used for measuring?", "response": "no"}, {"question": "Is it primarily used for correcting mistakes?", "response": "no"}, {"question": "Is it primarily used for marking or highlighting text?", "response": "no"}, {"question": "Is it primarily used for erasing?", "response": "no"}, {"question": "Is it primarily used for correcting the position or alignment of items, such as a ruler or a template?", "response": "no"}, {"question": "Is it primarily used for storing or dispensing items?", "response": "no"}, {"question": "Is it primarily used for sticking or bonding items together (such as adhesives)?", "response": "no"}, {"question": "Is it primarily used for cleaning or removing unwanted material (e.g., brush, duster)?", "response": "no"}, {"question": "Is it primarily used for sealing or closing envelopes or packages?", "response": "no"}, {"question": "Is it primarily used for correcting or modifying the appearance of documents, such as adding decorations or personalization?", "response": "no"}, {"question": "Is it primarily used for transferring information or images onto paper, such as by stamping or printing?", "response": "no"}, {"question": "Is it a type of paper product?", "response": "no"}, {"question": "Is it primarily used for dispensing or delivering liquids?", "response": "no"}, {"question": "Is it a stapler?", "response": "no"}, {"question": "Is it a paperclip?", "response": "no"}, {"question": "Is it a ruler?", "response": "no"}]}
|
||||
{"index": 42, "id": "95865c20-cade-40c5-a496-7289178db526", "answer": "Mario", "category": "character", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 12, "interactions": [{"question": "Is the character primarily known from a live-action work (such as movies, TV, or stage), as opposed to animation, comics, or video games?", "response": "no"}, {"question": "Is the character primarily known from an animated work?", "response": "no"}, {"question": "Is the character primarily known from literature (such as novels, short stories, or plays)?", "response": "no"}, {"question": "Is the character primarily known from a video game?", "response": "yes"}, {"question": "Is the character human?", "response": "yes"}, {"question": "Is the character the main playable protagonist in the video game they are known for?", "response": "yes"}, {"question": "Is the character from a video game series developed by a Japanese company?", "response": "yes"}, {"question": "Is the character male?", "response": "yes"}, {"question": "Is the character from a game released before 2000?", "response": "yes"}, {"question": "Is the character from a series primarily associated with Nintendo?", "response": "yes"}, {"question": "Is the character known for wearing a red hat?", "response": "yes"}, {"question": "Is it Mario?", "response": "yes"}]}
|
||||
{"index": 189, "id": "fb84d1cb-088b-41a7-a19a-7ddaf267000b", "answer": "David Bowie", "category": "celebrity", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 15, "interactions": [{"question": "Is this celebrity primarily known for their work in acting?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in music?", "response": "yes"}, {"question": "Is this celebrity primarily known for being a solo performer rather than part of a group?", "response": "yes"}, {"question": "Is this celebrity primarily known as a singer rather than an instrumentalist or producer?", "response": "yes"}, {"question": "Is this celebrity primarily known for their work in pop music?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in hip hop or rap music?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in rock music?", "response": "yes"}, {"question": "Is this celebrity primarily known for their work as the lead singer of a band?", "response": "no"}, {"question": "Is this celebrity male?", "response": "yes"}, {"question": "Is this celebrity primarily known for their work in the United States?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in the United Kingdom?", "response": "yes"}, {"question": "Is this celebrity primarily known for their work before the year 2000?", "response": "yes"}, {"question": "Is this celebrity still alive?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in the 1970s?", "response": "yes"}, {"question": "Is it David Bowie?", "response": "yes"}]}
|
||||
{"index": 90, "id": "5171bbbe-3044-4d79-b075-0f0407e05f00", "answer": "Marigold", "category": "flower", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is it commonly given as a romantic gift?", "response": "no"}, {"question": "Is it typically found growing in the wild rather than mainly cultivated for gardens or bouquets?", "response": "no"}, {"question": "Is it known for blooming from a bulb underground?", "response": "no"}, {"question": "Is it notable for having a large, distinctive central disk surrounded by petals?", "response": "yes"}, {"question": "Is it commonly recognized for having bright yellow petals?", "response": "yes"}, {"question": "Is it primarily associated with being a summer-blooming flower?", "response": "yes"}, {"question": "Is it commonly recognized as a sunflower?", "response": "no"}, {"question": "Is it commonly recognized as a daisy?", "response": "no"}, {"question": "Is it primarily known as a coreopsis?", "response": "no"}, {"question": "Is it often associated with weddings or bridal bouquets?", "response": "yes"}, {"question": "Is it widely known as a marigold?", "response": "yes"}]}
|
||||
{"index": 136, "id": "edf75269-3a64-4c17-a3d6-354036882244", "answer": "Battery", "category": "electronics", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 17, "interactions": [{"question": "Is it a device primarily used for communication?", "response": "no"}, {"question": "Is it primarily used for entertainment?", "response": "no"}, {"question": "Is it primarily used for productivity or work-related tasks?", "response": "no"}, {"question": "Is it primarily used in the kitchen or for food preparation?", "response": "no"}, {"question": "Is it primarily used for personal care or hygiene?", "response": "no"}, {"question": "Is it most commonly used in an office or workplace environment?", "response": "no"}, {"question": "Is it primarily used for safety or security purposes?", "response": "no"}, {"question": "Is it primarily used for measurement or testing?", "response": "no"}, {"question": "Is it primarily used for lighting?", "response": "no"}, {"question": "Is it primarily used for cleaning?", "response": "no"}, {"question": "Is it primarily used in transportation or vehicles?", "response": "no"}, {"question": "Is it primarily used for computation or data processing?", "response": "no"}, {"question": "Is it primarily used for temperature control or regulation?", "response": "no"}, {"question": "Is it primarily used in healthcare or medical contexts?", "response": "no"}, {"question": "Is it primarily used for timekeeping?", "response": "no"}, {"question": "Is it primarily used for power supply or charging?", "response": "yes"}, {"question": "Is it a battery?", "response": "yes"}]}
|
||||
{"index": 51, "id": "a8e18725-8f26-40c7-b3b1-1a5e1f1a466d", "answer": "Nemo", "category": "character", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is this character primarily known for appearing in live-action media?", "response": "no"}, {"question": "Is this character primarily known for appearing in animated media?", "response": "yes"}, {"question": "Is this character primarily known for appearing in Western (non-Japanese) animation?", "response": "yes"}, {"question": "Is this character originally from a television series rather than a feature film?", "response": "no"}, {"question": "Is this character associated with Disney animated feature films?", "response": "yes"}, {"question": "Is this character human?", "response": "yes"}, {"question": "Is this character the main protagonist in their original Disney animated feature film?", "response": "no"}, {"question": "Is this character a female?", "response": "no"}, {"question": "Is this character a villain or antagonist in their original Disney animated feature film?", "response": "no"}, {"question": "Is this character the main sidekick or comic relief to the film's protagonist?", "response": "no"}, {"question": "Is this character a family member (such as parent, sibling, or child) of the film's protagonist?", "response": "yes"}, {"question": "Is this character the protagonist's father?", "response": "no"}, {"question": "Is this character the protagonist's brother?", "response": "no"}, {"question": "Is this character the protagonist's son?", "response": "yes"}, {"question": "Is this character from \"The Lion King\"?", "response": "no"}, {"question": "Is this character from \"Beauty and the Beast\"?", "response": "no"}, {"question": "Is this character from \"Frozen\"?", "response": "no"}, {"question": "Is it Prince Charming?", "response": "no"}, {"question": "Is it Prince Eric?", "response": "no"}, {"question": "Is it Prince Phillip?", "response": "no"}]}
|
||||
{"index": 127, "id": "b2b34c8a-af43-438e-9cf9-f2db1bcf47ed", "answer": "Television", "category": "electronics", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 6, "interactions": [{"question": "Is it primarily used for communication?", "response": "no"}, {"question": "Is it primarily used for entertainment?", "response": "yes"}, {"question": "Is it a device primarily used for playing video games?", "response": "no"}, {"question": "Is it primarily used to play audio or music?", "response": "no"}, {"question": "Is it a device primarily used for viewing video content?", "response": "yes"}, {"question": "Is it a television?", "response": "yes"}]}
|
||||
{"index": 162, "id": "1fb06ea0-4d68-4d2a-b9e3-1004cccf3e0b", "answer": "Recliner", "category": "furniture", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 7, "interactions": [{"question": "Is it primarily used for sitting?", "response": "yes"}, {"question": "Does it typically seat more than one person?", "response": "no"}, {"question": "Does it typically have armrests?", "response": "yes"}, {"question": "Is it typically upholstered?", "response": "yes"}, {"question": "Is it commonly found in a living room?", "response": "yes"}, {"question": "Is it commonly used as a recliner?", "response": "yes"}, {"question": "Is it a recliner?", "response": "yes"}]}
|
||||
{"index": 41, "id": "84640d13-dd9f-46c3-b90d-09f98da29b93", "answer": "The Joker", "category": "character", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 12, "interactions": [{"question": "Is this character primarily known for appearing in live-action film or television?", "response": "no"}, {"question": "Is this character primarily known for appearing in animated works?", "response": "no"}, {"question": "Is this character primarily known for appearing in literature (books, novels, or written stories)?", "response": "no"}, {"question": "Is this character primarily known for appearing in video games?", "response": "no"}, {"question": "Is this character primarily known for appearing in comics or manga?", "response": "yes"}, {"question": "Is this character primarily known for originating from Japanese manga?", "response": "no"}, {"question": "Is this character primarily known for originating from American comics?", "response": "yes"}, {"question": "Is this character primarily known for being a superhero?", "response": "no"}, {"question": "Is this character primarily known for being a villain?", "response": "yes"}, {"question": "Is this character primarily known for appearing in DC Comics?", "response": "yes"}, {"question": "Is this character primarily known as an enemy of Batman?", "response": "yes"}, {"question": "Is it the Joker?", "response": "yes"}]}
|
||||
{"index": 118, "id": "59a6f4e1-1fe7-44f3-a8a6-8dd285f0ab63", "answer": "Scissors", "category": "stationery", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 8, "interactions": [{"question": "Is it primarily used for writing?", "response": "no"}, {"question": "Is it primarily used for cutting or attaching things together?", "response": "yes"}, {"question": "Is it primarily used for attaching things together?", "response": "no"}, {"question": "Is it primarily used for cutting things?", "response": "yes"}, {"question": "Is it primarily used to cut paper?", "response": "yes"}, {"question": "Is it primarily made of metal?", "response": "yes"}, {"question": "Is it primarily used in pairs (has two identical or mirrored blades joined at a pivot)?", "response": "yes"}, {"question": "Is it scissors?", "response": "yes"}]}
|
||||
{"index": 113, "id": "4c70cf1f-0291-4b02-97b8-c952a5c77a99", "answer": "Paperclip", "category": "stationery", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 6, "interactions": [{"question": "Is it primarily used for writing or drawing?", "response": "no"}, {"question": "Is it primarily used for attaching or binding papers together?", "response": "yes"}, {"question": "Is it primarily used to temporarily attach papers rather than permanently bind them?", "response": "yes"}, {"question": "Is it made mostly of metal?", "response": "yes"}, {"question": "Is it commonly used to hold stacks of papers together without piercing them?", "response": "yes"}, {"question": "Is it a paperclip?", "response": "yes"}]}
|
||||
{"index": 26, "id": "61648724-e9ab-4ee6-8a04-248f31dc892c", "answer": "Camel", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 9, "interactions": [{"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it domesticated by humans?", "response": "yes"}, {"question": "Is it primarily kept as a pet?", "response": "no"}, {"question": "Is it primarily kept or used for producing food or food products for humans?", "response": "no"}, {"question": "Is it primarily used for work or assistance to humans (e.g., herding, guarding, transport)?", "response": "yes"}, {"question": "Is it larger than a human?", "response": "yes"}, {"question": "Is it a horse?", "response": "no"}, {"question": "Is it a bovine (such as a cow, ox, or bull)?", "response": "no"}, {"question": "Is it a camel?", "response": "yes"}]}
|
||||
{"index": 139, "id": "4697fc24-54b1-4893-b646-61391819fc54", "answer": "Refrigerator", "category": "electronics", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 10, "interactions": [{"question": "Is it primarily used for communication?", "response": "no"}, {"question": "Is it primarily used for entertainment?", "response": "no"}, {"question": "Is it primarily used for productivity or work-related tasks?", "response": "no"}, {"question": "Is it primarily used in the home, as opposed to industrial or specialized settings?", "response": "yes"}, {"question": "Is it primarily used for cleaning or maintaining the home?", "response": "no"}, {"question": "Is it primarily used in the kitchen?", "response": "yes"}, {"question": "Is it primarily used to heat or cook food?", "response": "no"}, {"question": "Is it primarily used to keep food cold or frozen?", "response": "yes"}, {"question": "Is it typically used to freeze food rather than just keep it cold?", "response": "no"}, {"question": "Is it a refrigerator?", "response": "yes"}]}
|
||||
{"index": 100, "id": "38d72eb9-7d3e-4498-8088-eceb38f446a6", "answer": "Pansy", "category": "flower", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it commonly associated with a distinct, easily recognized fragrance?", "response": "no"}, {"question": "Is it commonly given as a gift on special occasions such as Valentine's Day or anniversaries?", "response": "no"}, {"question": "Is it commonly found growing in the wild rather than primarily cultivated for gardens or floral arrangements?", "response": "no"}, {"question": "Is it typically cultivated for its showy, ornamental flowers in gardens or landscaping?", "response": "yes"}, {"question": "Is it typically known for its large, colorful blooms?", "response": "yes"}, {"question": "Is it commonly recognized as a spring-blooming flower?", "response": "yes"}, {"question": "Is it usually recognized for its brightly colored, cup-shaped flowers?", "response": "no"}, {"question": "Is it known for its many layered or ruffled petals, often resembling a ball or complex blossom?", "response": "no"}, {"question": "Is it typically recognized for its distinctive trumpet-shaped bloom?", "response": "no"}, {"question": "Is it most commonly recognized for its tall spikes of multiple blooms along a central stem?", "response": "no"}, {"question": "Is it primarily recognized for its large, flat-faced blooms with a prominent central disc (like a daisy or sunflower)?", "response": "no"}, {"question": "Is it typically known for its bell-shaped flowers?", "response": "no"}, {"question": "Is it typically associated with water or aquatic environments?", "response": "no"}, {"question": "Is it primarily known for its tall, elegant stems topped with a cluster of small star-shaped flowers (as with lilies or irises)?", "response": "no"}, {"question": "Is it primarily known for its distinctive sword-shaped leaves?", "response": "no"}, {"question": "Is it commonly recognized for its unique globe-shaped cluster of small flowers, such as in an allium or hydrangea?", "response": "no"}, {"question": "Is it typically known for its large, showy flowers in shades of purple, pink, or white, and often associated with early spring gardens (such as the crocus)?", "response": "yes"}, {"question": "Is it a crocus?", "response": "no"}, {"question": "Is it a hyacinth?", "response": "no"}, {"question": "Is it a tulip?", "response": "no"}]}
|
||||
{"index": 111, "id": "7f1b917c-3153-46c0-922c-dd19d51648b2", "answer": "Notebook", "category": "stationery", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 9, "interactions": [{"question": "Is it primarily used for writing or drawing?", "response": "yes"}, {"question": "Is it primarily made of wood?", "response": "no"}, {"question": "Is it primarily made of plastic?", "response": "no"}, {"question": "Is it primarily made of metal?", "response": "no"}, {"question": "Is it primarily made of paper?", "response": "yes"}, {"question": "Is it primarily used for organizing or indexing information?", "response": "no"}, {"question": "Is it bound along an edge, such as with glue, staples, or spiral binding?", "response": "yes"}, {"question": "Is it typically used for taking notes or writing across multiple pages?", "response": "yes"}, {"question": "Is it a notebook?", "response": "yes"}]}
|
||||
{"index": 2, "id": "4ff755f6-fce5-4426-814e-bfe9a8ae2c0e", "answer": "Cow", "category": "animal", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it commonly kept as a pet?", "response": "no"}, {"question": "Is it larger than a human?", "response": "yes"}, {"question": "Is it native to Africa?", "response": "no"}, {"question": "Is it native to the Americas?", "response": "no"}, {"question": "Is it native to Asia?", "response": "yes"}, {"question": "Is it found in the wild in India?", "response": "no"}, {"question": "Is it an aquatic or semi-aquatic animal?", "response": "no"}, {"question": "Is it known for having a trunk?", "response": "no"}, {"question": "Is it known for having antlers or horns?", "response": "yes"}, {"question": "Is it a type of wild bovine (such as yak, gaur, or water buffalo)?", "response": "no"}, {"question": "Is it known for having long, spiral horns (like an antelope or ibex)?", "response": "no"}, {"question": "Is it native to mountainous regions?", "response": "no"}, {"question": "Is it known for being the largest species of deer?", "response": "no"}, {"question": "Is it known for impressive speed or running ability?", "response": "no"}, {"question": "Is it a moose?", "response": "no"}, {"question": "Is it a rhinoceros?", "response": "no"}, {"question": "Is it a yak?", "response": "no"}, {"question": "Is it a saiga?", "response": "no"}, {"question": "Is it an elk?", "response": "no"}]}
|
||||
{"index": 77, "id": "0376b5af-4175-476b-8d61-bf8c4456d658", "answer": "Xylophone", "category": "instrument", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 10, "interactions": [{"question": "Is it typically classified as a musical instrument?", "response": "yes"}, {"question": "Is it primarily a string instrument?", "response": "no"}, {"question": "Is it primarily a percussion instrument?", "response": "yes"}, {"question": "Is it primarily played by striking it with drumsticks or mallets?", "response": "yes"}, {"question": "Is it commonly used as part of a standard drum kit?", "response": "no"}, {"question": "Is it primarily made of metal?", "response": "no"}, {"question": "Is it primarily made of wood?", "response": "yes"}, {"question": "Is it a keyboard percussion instrument (like xylophone, marimba, or vibraphone)?", "response": "yes"}, {"question": "Is it most commonly used in classical orchestras?", "response": "no"}, {"question": "Is it a xylophone?", "response": "yes"}]}
|
||||
{"index": 46, "id": "a6912f5d-dab9-408a-9172-4f29053413c0", "answer": "Shrek", "category": "character", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 12, "interactions": [{"question": "Is this character primarily known from live-action media?", "response": "no"}, {"question": "Is this character primarily known from animated media?", "response": "yes"}, {"question": "Is this character considered an animal or animal-like?", "response": "no"}, {"question": "Is this character primarily known for appearing in television series?", "response": "no"}, {"question": "Is this character primarily known from animated films?", "response": "yes"}, {"question": "Is this character human?", "response": "no"}, {"question": "Is this character primarily associated with Disney or Pixar animated films?", "response": "no"}, {"question": "Is this character primarily known from Japanese animated films (anime)?", "response": "no"}, {"question": "Is this character from a DreamWorks animated film?", "response": "yes"}, {"question": "Is this character the main protagonist of their film?", "response": "yes"}, {"question": "Is this character primarily known from the \"Shrek\" film series?", "response": "yes"}, {"question": "Is it Shrek?", "response": "yes"}]}
|
||||
{"index": 187, "id": "de86a2e5-f773-4a54-8102-94a9cc08ddc6", "answer": "Princess Diana", "category": "celebrity", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is this celebrity primarily known for work in film or television?", "response": "no"}, {"question": "Is this celebrity primarily known for work in music?", "response": "no"}, {"question": "Is this celebrity primarily known for work in sports?", "response": "no"}, {"question": "Is this celebrity primarily known for work in politics or government?", "response": "no"}, {"question": "Is this celebrity primarily known for work in business or technology?", "response": "no"}, {"question": "Is this celebrity primarily known for work in writing, literature, or journalism?", "response": "no"}, {"question": "Is this celebrity primarily known for work in fashion or modeling?", "response": "no"}, {"question": "Is this celebrity primarily known for work in science or academia?", "response": "no"}, {"question": "Is this celebrity primarily known for work in social media or as an internet personality?", "response": "no"}, {"question": "Is this celebrity primarily known for work in religion or spirituality?", "response": "no"}, {"question": "Is this celebrity primarily known for work in law, activism, or humanitarian efforts?", "response": "yes"}, {"question": "Is this celebrity primarily known for work in civil rights activism?", "response": "no"}, {"question": "Is this celebrity primarily known for humanitarian work related to health or medical causes?", "response": "no"}, {"question": "Is this celebrity primarily known for environmental activism or climate change advocacy?", "response": "no"}, {"question": "Is this celebrity primarily known for work in women's rights or gender equality activism?", "response": "no"}, {"question": "Is this celebrity primarily known for work in legal advocacy or as a lawyer?", "response": "no"}, {"question": "Is this celebrity primarily known for work in philanthropy or charitable foundations?", "response": "no"}, {"question": "Is this celebrity primarily known for work related to animal rights or animal welfare activism?", "response": "no"}, {"question": "Is this celebrity primarily known for work in peace or anti-war activism?", "response": "no"}, {"question": "Is it Mother Teresa?", "response": "no"}]}
|
||||
{"index": 191, "id": "3cec7033-3a0d-408f-80e7-28a5150d1e35", "answer": "Michael Jackson", "category": "celebrity", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is this celebrity primarily known for work in the entertainment industry (such as film, television, or music)?", "response": "yes"}, {"question": "Is this celebrity primarily known for their work as an actor or actress?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in music?", "response": "yes"}, {"question": "Is this celebrity primarily known for performing as a solo artist rather than as part of a band or group?", "response": "yes"}, {"question": "Is this solo music artist primarily known for work in the pop genre?", "response": "yes"}, {"question": "Is this solo pop artist female?", "response": "no"}, {"question": "Is this male solo pop artist primarily known for work after the year 2000?", "response": "no"}, {"question": "Is this artist primarily known for being American?", "response": "yes"}, {"question": "Is this artist primarily known for their work in the 1980s?", "response": "yes"}, {"question": "Is this artist primarily known for their distinctive dance performances in addition to singing?", "response": "yes"}, {"question": "Is it Michael Jackson?", "response": "yes"}]}
|
||||
{"index": 85, "id": "86c5d97a-5db1-4a0b-b60a-c80681471fce", "answer": "Daisy", "category": "flower", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it commonly grown for its pleasant scent?", "response": "no"}, {"question": "Is it a flower commonly given as a romantic gift?", "response": "no"}, {"question": "Is it typically found growing wild in nature rather than mainly cultivated in gardens?", "response": "yes"}, {"question": "Is it a wildflower commonly found in temperate regions?", "response": "yes"}, {"question": "Is it known for having a yellow-colored bloom?", "response": "yes"}, {"question": "Is it a type of daisy?", "response": "yes"}, {"question": "Is it commonly known as a dandelion?", "response": "no"}, {"question": "Is it commonly known as a Black-eyed Susan?", "response": "no"}, {"question": "Is it commonly known as an oxeye daisy?", "response": "no"}, {"question": "Is it commonly known as a coreopsis?", "response": "no"}, {"question": "Is it commonly known as a sunflower?", "response": "no"}, {"question": "Is it commonly known as a goldenrod?", "response": "no"}, {"question": "Is it commonly known as a tansy?", "response": "no"}, {"question": "Is it commonly known as a buttercup?", "response": "no"}, {"question": "Is it commonly known as a coneflower?", "response": "no"}, {"question": "Is it commonly known as a sneezeweed?", "response": "no"}, {"question": "Is it commonly known as a calendula?", "response": "no"}, {"question": "Is it a common wildflower known as a tickseed?", "response": "no"}, {"question": "Is it a common wildflower known as a chamomile?", "response": "no"}, {"question": "Is it a common wildflower known as a hawkweed?", "response": "no"}]}
|
||||
{"index": 161, "id": "f7e38d8a-7879-4326-bd20-69b5da145762", "answer": "Armchair", "category": "furniture", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is it primarily used for sitting?", "response": "yes"}, {"question": "Does it typically have a backrest?", "response": "yes"}, {"question": "Does it typically have armrests?", "response": "yes"}, {"question": "Is it typically upholstered?", "response": "yes"}, {"question": "Is it designed to seat more than one person?", "response": "no"}, {"question": "Is it typically found in the living room?", "response": "yes"}, {"question": "Is it commonly used as a reclining chair?", "response": "no"}, {"question": "Is it typically part of a matching set with a sofa?", "response": "yes"}, {"question": "Is it a lounge chair?", "response": "yes"}, {"question": "Is it a recliner?", "response": "no"}, {"question": "Is it an armchair?", "response": "yes"}]}
|
||||
{"index": 36, "id": "1287a6d7-ca86-47b8-85cd-20364451a88c", "answer": "Batman", "category": "character", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 14, "interactions": [{"question": "Is this character primarily known from fiction rather than real history?", "response": "yes"}, {"question": "Is this character primarily known from movies or television?", "response": "no"}, {"question": "Is this character primarily known from literature (books, novels, or written stories)?", "response": "no"}, {"question": "Is this character primarily known from video games?", "response": "no"}, {"question": "Is this character primarily known from comics or graphic novels?", "response": "yes"}, {"question": "Is this character primarily associated with Marvel Comics?", "response": "no"}, {"question": "Is this character primarily associated with DC Comics?", "response": "yes"}, {"question": "Is this character typically considered a superhero?", "response": "yes"}, {"question": "Is this character a member of the Justice League?", "response": "yes"}, {"question": "Is this character female?", "response": "no"}, {"question": "Is this character an alien or extraterrestrial being?", "response": "no"}, {"question": "Is this character primarily known for using advanced technology or gadgets?", "response": "yes"}, {"question": "Is this character known for wearing a bat-themed costume?", "response": "yes"}, {"question": "Is it Batman?", "response": "yes"}]}
|
||||
{"index": 190, "id": "921d604b-a124-418e-8da1-96d2e913380b", "answer": "John Lennon", "category": "celebrity", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 14, "interactions": [{"question": "Is the celebrity primarily known for their work in film or television?", "response": "no"}, {"question": "Is the celebrity primarily known for their work in music?", "response": "yes"}, {"question": "Is the celebrity primarily known as a solo artist rather than as part of a group or band?", "response": "no"}, {"question": "Is the celebrity primarily known for being part of a group or band that originated before the year 2000?", "response": "yes"}, {"question": "Is the group or band the celebrity is primarily known for American?", "response": "no"}, {"question": "Is the group or band primarily known for originating in the United Kingdom?", "response": "yes"}, {"question": "Is the group primarily known for being active during the 1960s and 1970s?", "response": "no"}, {"question": "Was the group that the celebrity is known for primarily active and achieved major fame in the 1980s or 1990s?", "response": "no"}, {"question": "Is the group or band primarily known for originating in the 2000s or later?", "response": "no"}, {"question": "Is the group the celebrity is known for primarily associated with the rock genre?", "response": "yes"}, {"question": "Is the group that the celebrity is known for Queen?", "response": "no"}, {"question": "Is the group that the celebrity is known for The Beatles?", "response": "yes"}, {"question": "Is it Paul McCartney?", "response": "no"}, {"question": "Is it John Lennon?", "response": "yes"}]}
|
||||
{"index": 61, "id": "df926710-9bf4-4850-9528-57febefdb2a4", "answer": "Sherlock Holmes", "category": "character", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 13, "interactions": [{"question": "Is the character primarily known for appearing in works of fiction?", "response": "yes"}, {"question": "Is the character human?", "response": "yes"}, {"question": "Is the character primarily known for appearing in movies?", "response": "no"}, {"question": "Is the character primarily known for appearing in television series?", "response": "no"}, {"question": "Is the character primarily known for appearing in books or literature?", "response": "yes"}, {"question": "Is the character primarily known for appearing in works of children's or young adult literature?", "response": "no"}, {"question": "Is the character primarily known for appearing in classic literature (published before 1950)?", "response": "yes"}, {"question": "Is the character male?", "response": "yes"}, {"question": "Is the character primarily known for appearing in works by a British author?", "response": "yes"}, {"question": "Is the character primarily known for appearing in the works of William Shakespeare?", "response": "no"}, {"question": "Is the character primarily known for appearing in the works of Charles Dickens?", "response": "no"}, {"question": "Is the character primarily known for appearing in the works of Arthur Conan Doyle?", "response": "yes"}, {"question": "Is it Sherlock Holmes?", "response": "yes"}]}
|
||||
{"index": 22, "id": "dc39734a-6398-4122-ae99-6c11ad24f8d8", "answer": "Zebra", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 13, "interactions": [{"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it a domesticated animal?", "response": "no"}, {"question": "Is it larger than a human?", "response": "yes"}, {"question": "Is it a carnivore?", "response": "no"}, {"question": "Does it primarily live in Africa?", "response": "yes"}, {"question": "Does it have a trunk?", "response": "no"}, {"question": "Does it have horns or antlers?", "response": "no"}, {"question": "Does it spend most of its life in water?", "response": "no"}, {"question": "Is it known for its long neck?", "response": "no"}, {"question": "Is it a primate?", "response": "no"}, {"question": "Is it known for its speed?", "response": "yes"}, {"question": "Is it striped?", "response": "yes"}, {"question": "Is it a zebra?", "response": "yes"}]}
|
||||
{"index": 141, "id": "51c8788d-5571-4dab-b3e1-7e5253c304fb", "answer": "Oven", "category": "electronics", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 10, "interactions": [{"question": "Is it primarily used for personal communication?", "response": "no"}, {"question": "Is it primarily designed to process or compute information?", "response": "no"}, {"question": "Is it primarily used for entertainment or media consumption?", "response": "no"}, {"question": "Is it primarily used for household or daily living tasks?", "response": "yes"}, {"question": "Is it typically found in the kitchen?", "response": "yes"}, {"question": "Is it primarily used for preparing or cooking food?", "response": "yes"}, {"question": "Is it primarily used to heat food using microwave radiation?", "response": "no"}, {"question": "Is it primarily used for baking food?", "response": "yes"}, {"question": "Is it primarily used for making bread or pastries?", "response": "yes"}, {"question": "Is it an oven?", "response": "yes"}]}
|
||||
{"index": 101, "id": "c30af200-eb50-447e-aa35-44acccae27ed", "answer": "Petunia", "category": "flower", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it typically given as a gift on romantic occasions such as Valentine's Day?", "response": "no"}, {"question": "Is it commonly found growing in home gardens?", "response": "yes"}, {"question": "Is it known for producing showy, colorful blooms that appear annually (perennial)?", "response": "no"}, {"question": "Is it an annual flower (completes its life cycle in one year)?", "response": "no"}, {"question": "Is it a biennial flower (completes its life cycle in two years)?", "response": "no"}, {"question": "Is it a wildflower more commonly found growing naturally outside of cultivation?", "response": "no"}, {"question": "Is it commonly grown primarily for its fragrance?", "response": "no"}, {"question": "Is it commonly used as a bedding plant in landscaping?", "response": "yes"}, {"question": "Is it known for producing large, vibrant flower heads, often in clusters, such as marigolds or petunias?", "response": "yes"}, {"question": "Is it commonly grown for its bright orange or yellow flowers?", "response": "yes"}, {"question": "Is it marigold?", "response": "no"}, {"question": "Is it zinnia?", "response": "no"}, {"question": "Is it calendula?", "response": "no"}, {"question": "Is it cosmos?", "response": "no"}, {"question": "Is it sunflower?", "response": "no"}, {"question": "Is it nasturtium?", "response": "no"}, {"question": "Is it daffodil?", "response": "no"}, {"question": "Is it coreopsis?", "response": "no"}, {"question": "Is it gazania?", "response": "no"}, {"question": "Is it chrysanthemum?", "response": "no"}]}
|
||||
{"index": 33, "id": "6cfa67e4-d5f1-42d9-a23b-10d08ac1a204", "answer": "Turtle", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 5, "interactions": [{"question": "Is it a mammal?", "response": "no"}, {"question": "Is it a bird?", "response": "no"}, {"question": "Is it a reptile?", "response": "yes"}, {"question": "Is it primarily aquatic?", "response": "yes"}, {"question": "Is it a turtle or tortoise?", "response": "yes"}]}
|
||||
{"index": 11, "id": "5607dbe6-4237-486c-8f01-ce6a10cbb8b9", "answer": "Shark", "category": "animal", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a mammal?", "response": "no"}, {"question": "Is it a bird?", "response": "no"}, {"question": "Is it a reptile?", "response": "no"}, {"question": "Is it an amphibian?", "response": "no"}, {"question": "Does it live in water for most of its life?", "response": "yes"}, {"question": "Is it an invertebrate?", "response": "no"}, {"question": "Is it a fish?", "response": "yes"}, {"question": "Is it commonly kept as a pet?", "response": "no"}, {"question": "Is it larger than a human?", "response": "n/a"}, {"question": "Is it a saltwater fish?", "response": "yes"}, {"question": "Is it commonly eaten by humans?", "response": "no"}, {"question": "Is it known for being dangerous to humans?", "response": "yes"}, {"question": "Is it a type of shark?", "response": "yes"}, {"question": "Is it known for having a hammer-shaped head?", "response": "no"}, {"question": "Is it known for having a white underbelly and a prominent, triangular dorsal fin?", "response": "yes"}, {"question": "Is it the great white shark?", "response": "no"}, {"question": "Is it the bull shark?", "response": "no"}, {"question": "Is it the tiger shark?", "response": "no"}, {"question": "Is it the mako shark?", "response": "no"}, {"question": "Is it the blue shark?", "response": "no"}]}
|
||||
{"index": 194, "id": "e95ca50c-1f46-45da-802c-f80cd64c13b5", "answer": "Ernest Hemingway", "category": "celebrity", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is the celebrity primarily known for their work in the entertainment industry (such as acting, music, or television)?", "response": "no"}, {"question": "Is the celebrity primarily known for achievements in sports?", "response": "no"}, {"question": "Is the celebrity primarily known for their involvement in politics or government?", "response": "no"}, {"question": "Is the celebrity primarily known for their work in science, technology, or academia?", "response": "no"}, {"question": "Is the celebrity primarily known for their wealth or business ventures?", "response": "no"}, {"question": "Is the celebrity primarily known for their philanthropic or humanitarian work?", "response": "no"}, {"question": "Is the celebrity primarily known for their involvement in the fashion or modeling industry?", "response": "no"}, {"question": "Is the celebrity primarily known for their work in the culinary or food industry?", "response": "no"}, {"question": "Is the celebrity primarily known for their work in the world of social media or internet content creation?", "response": "no"}, {"question": "Is the celebrity primarily known for being a member of a royal family?", "response": "no"}, {"question": "Is the celebrity primarily known for infamous or criminal activities?", "response": "no"}, {"question": "Is the celebrity primarily known for their work in religion or spiritual leadership?", "response": "no"}, {"question": "Is the celebrity primarily known for their involvement in the world of literature or writing?", "response": "yes"}, {"question": "Is the celebrity primarily famous as a novelist?", "response": "yes"}, {"question": "Is the novelist primarily known for writing in the 20th or 21st century?", "response": "yes"}, {"question": "Is the novelist primarily known for writing in the genre of science fiction or fantasy?", "response": "no"}, {"question": "Is the novelist best known for works originally written in English?", "response": "yes"}, {"question": "Is the novelist best known for detective or crime fiction?", "response": "no"}, {"question": "Is the novelist primarily known for writing works for children or young adults?", "response": "no"}, {"question": "Is it Ernest Hemingway?", "response": "yes"}]}
|
||||
{"index": 159, "id": "823a963e-f85a-4c23-8f11-3da3ca44ef6f", "answer": "Bench", "category": "furniture", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is it primarily used for sitting?", "response": "yes"}, {"question": "Does it typically seat only one person at a time?", "response": "no"}, {"question": "Is it primarily designed for use in a living room?", "response": "no"}, {"question": "Is it primarily used for sleeping?", "response": "no"}, {"question": "Is it primarily found in dining areas?", "response": "no"}, {"question": "Is it commonly found in offices or workplaces?", "response": "no"}, {"question": "Is it typically used outdoors?", "response": "yes"}, {"question": "Is it designed for more than two people to sit on at once?\n", "response": "yes"}, {"question": "Is it typically found in public parks or community outdoor spaces?", "response": "yes"}, {"question": "Is it made primarily of wood?", "response": "n/a"}, {"question": "Is it a bench?", "response": "yes"}]}
|
||||
{"index": 6, "id": "0f9c29b2-7931-434a-8d4b-9a15ec549c15", "answer": "Goat", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 16, "interactions": [{"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it domesticated by humans?", "response": "yes"}, {"question": "Is it primarily kept as a pet?", "response": "no"}, {"question": "Is it primarily raised for its milk?", "response": "no"}, {"question": "Is it primarily raised for its meat?", "response": "no"}, {"question": "Is it primarily raised for its wool or fiber?", "response": "no"}, {"question": "Is it primarily used for work or draft purposes (e.g., pulling, carrying loads)?", "response": "no"}, {"question": "Is it commonly raised for its eggs?", "response": "no"}, {"question": "Is it commonly kept for companionship or emotional support (such as a service or therapy animal)?", "response": "no"}, {"question": "Is it primarily kept for protection or guarding purposes?", "response": "no"}, {"question": "Is it primarily raised for its skin, fur, or hide?", "response": "no"}, {"question": "Is it primarily used in scientific research or laboratory settings?", "response": "no"}, {"question": "Is it commonly found on farms?", "response": "yes"}, {"question": "Is it primarily raised for riding or transportation?", "response": "no"}, {"question": "Is it primarily kept for its manure or as a source of fertilizer?", "response": "no"}, {"question": "Is it a goat?", "response": "yes"}]}
|
||||
{"index": 27, "id": "67757c96-8ece-4425-9eca-2370f4780210", "answer": "Ant", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 14, "interactions": [{"question": "Is it a mammal?", "response": "no"}, {"question": "Is it a bird?", "response": "no"}, {"question": "Does it live primarily in water?", "response": "no"}, {"question": "Is it a reptile?", "response": "no"}, {"question": "Is it an invertebrate?", "response": "yes"}, {"question": "Is it an insect?", "response": "yes"}, {"question": "Is it capable of flight?", "response": "yes"}, {"question": "Is it commonly found in or around human homes?", "response": "yes"}, {"question": "Is it known for biting or stinging humans?", "response": "yes"}, {"question": "Is it a mosquito?", "response": "no"}, {"question": "Is it known for producing a painful sting?", "response": "yes"}, {"question": "Is it a wasp?", "response": "no"}, {"question": "Is it a bee?", "response": "no"}, {"question": "Is it an ant?", "response": "yes"}]}
|
||||
{"index": 120, "id": "3852fb13-d55a-4ea5-8afe-2e6c973f0871", "answer": "Sharpener", "category": "stationery", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it primarily used for writing?", "response": "no"}, {"question": "Is it primarily used for cutting?", "response": "no"}, {"question": "Is it primarily used for attaching or binding objects together?", "response": "no"}, {"question": "Is it primarily used for measuring or drawing straight lines?", "response": "no"}, {"question": "Is it primarily used for correcting mistakes?", "response": "no"}, {"question": "Is it primarily used for organizing or storing paper or documents?", "response": "no"}, {"question": "Is it primarily used for marking or highlighting text?", "response": "no"}, {"question": "Is it primarily used to contain or hold liquids?", "response": "no"}, {"question": "Is it primarily used for correcting or adjusting the position of paper or items (e.g., as a holder, weight, or surface)?", "response": "no"}, {"question": "Is it primarily used to fasten or seal items, such as closing envelopes or packages?", "response": "no"}, {"question": "Is it primarily used to apply adhesive material (like glue or tape)?", "response": "no"}, {"question": "Is it primarily used for removing unwanted marks, debris, or substances from surfaces (such as cleaning or erasing)?", "response": "no"}, {"question": "Is it primarily used for sealing or enclosing items inside a paper container?", "response": "no"}, {"question": "Is it primarily used for fixing mistakes or adjusting errors that are not writing related, such as alignment or spacing?", "response": "no"}, {"question": "Is it primarily used for creating impressions, marks, or transferring information onto other surfaces without writing (such as a stamp or seal)?", "response": "no"}, {"question": "Is it primarily used for holding or dispensing small stationery items?", "response": "no"}, {"question": "Is it primarily used for applying pressure or force in any process related to stationery tasks?", "response": "no"}, {"question": "Is it made primarily of paper?", "response": "no"}, {"question": "Is it a ruler?", "response": "no"}, {"question": "Is it a stapler?", "response": "no"}]}
|
||||
{"index": 4, "id": "da8d2f0b-c791-4894-ba50-5f493532fd1a", "answer": "Horse", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it a domesticated animal?", "response": "yes"}, {"question": "Is it commonly kept as a pet?", "response": "no"}, {"question": "Is it commonly raised for food or agricultural products?", "response": "no"}, {"question": "Is it larger than a human?", "response": "yes"}, {"question": "Is it native to Africa?", "response": "no"}, {"question": "Is it commonly found in zoos?", "response": "no"}, {"question": "Is it a marine animal?", "response": "no"}, {"question": "Is it found in North America in the wild?", "response": "yes"}, {"question": "Is it a bear?", "response": "no"}, {"question": "Is it a horse?", "response": "yes"}]}
|
||||
{"index": 32, "id": "be0601b0-18a9-4579-ad07-4db364b87820", "answer": "Frog", "category": "animal", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a mammal?", "response": "no"}, {"question": "Is it a bird?", "response": "no"}, {"question": "Is it a reptile?", "response": "no"}, {"question": "Is it an amphibian?", "response": "yes"}, {"question": "Is it primarily aquatic?", "response": "no"}, {"question": "Is it known for living mostly on land as an adult?", "response": "yes"}, {"question": "Is it known for having dry, warty skin?", "response": "no"}, {"question": "Is it known for being brightly colored or having distinctive patterns?", "response": "yes"}, {"question": "Is it capable of producing toxins or being poisonous to predators?", "response": "yes"}, {"question": "Is it a newt?", "response": "no"}, {"question": "Is it a poison dart frog?", "response": "no"}, {"question": "Is it an axolotl?", "response": "no"}, {"question": "Is it a salamander?", "response": "no"}, {"question": "Is it a tree frog?", "response": "no"}, {"question": "Is it commonly found in North America?", "response": "yes"}, {"question": "Is it a spotted salamander?", "response": "no"}, {"question": "Is it a fire-bellied toad?", "response": "no"}, {"question": "Is it a red eft?", "response": "no"}, {"question": "Is it a wood frog?", "response": "no"}, {"question": "Is it an American toad?", "response": "no"}]}
|
||||
{"index": 142, "id": "b9041cb9-716b-448f-aed8-f069a43c5a07", "answer": "Fan", "category": "electronics", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it primarily used for communication?", "response": "no"}, {"question": "Is it primarily used for entertainment?", "response": "no"}, {"question": "Is it primarily used for work or productivity?", "response": "no"}, {"question": "Is it commonly found in the home?", "response": "yes"}, {"question": "Is it typically used in the kitchen?", "response": "yes"}, {"question": "Is it primarily used for food preparation or cooking?", "response": "no"}, {"question": "Is it primarily used for cleaning or maintenance?", "response": "no"}, {"question": "Is it primarily used for food storage or preservation?", "response": "no"}, {"question": "Is it primarily used for making beverages?", "response": "no"}, {"question": "Is it primarily used for measuring or monitoring something?", "response": "no"}, {"question": "Is it primarily used for heating?", "response": "no"}, {"question": "Is it a device used for timekeeping or timing?", "response": "no"}, {"question": "Is it primarily used for lighting?", "response": "no"}, {"question": "Is it primarily used for health or personal care?", "response": "no"}, {"question": "Is it primarily used for air movement or ventilation?", "response": "yes"}, {"question": "Is it typically mounted on a wall or ceiling?", "response": "no"}, {"question": "Is it a table fan?", "response": "no"}, {"question": "Is it a handheld fan?", "response": "no"}, {"question": "Is it a floor fan?", "response": "no"}, {"question": "Is it an exhaust fan?", "response": "no"}]}
|
||||
{"index": 145, "id": "94d6dc29-11b2-4bc2-90ff-bf4503e496f8", "answer": "Chair", "category": "furniture", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 14, "interactions": [{"question": "Is it primarily used for sitting?", "response": "yes"}, {"question": "Does it typically have a backrest?", "response": "yes"}, {"question": "Does it typically have armrests?", "response": "no"}, {"question": "Is it most commonly found in a dining room?", "response": "no"}, {"question": "Is it typically upholstered?", "response": "no"}, {"question": "Is it commonly found in an office setting?", "response": "yes"}, {"question": "Is it designed to swivel?", "response": "no"}, {"question": "Is it designed to be stacked on top of other chairs of the same kind?", "response": "no"}, {"question": "Is it commonly found in educational settings such as classrooms or lecture halls?", "response": "yes"}, {"question": "Is it a bench?", "response": "no"}, {"question": "Is it typically attached to the floor or ground?", "response": "no"}, {"question": "Is it a stool?", "response": "no"}, {"question": "Is it a folding chair?", "response": "no"}, {"question": "Is it most commonly referred to as a \"chair\"?", "response": "yes"}]}
|
||||
{"index": 109, "id": "de7a7a1e-0ffc-4d56-bd55-2fc8d423c0c4", "answer": "Tape", "category": "stationery", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 9, "interactions": [{"question": "Is it primarily used for writing or drawing on paper?", "response": "no"}, {"question": "Is it primarily used to temporarily bind or attach objects together?", "response": "yes"}, {"question": "Is it primarily made of metal?", "response": "no"}, {"question": "Is it primarily made of plastic?", "response": "yes"}, {"question": "Does it use adhesive to attach objects?", "response": "yes"}, {"question": "Is it typically transparent or clear in appearance?", "response": "yes"}, {"question": "Is it commonly dispensed from a roll?", "response": "yes"}, {"question": "Is it commonly referred to as \"Scotch tape\"?", "response": "yes"}, {"question": "Is it tape?", "response": "yes"}]}
|
||||
{"index": 144, "id": "2d119e62-dc10-4887-8bed-316eaefc4a4a", "answer": "Clock", "category": "electronics", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it primarily used for communication purposes?", "response": "no"}, {"question": "Is it primarily used for entertainment?", "response": "no"}, {"question": "Is it primarily used in the home?", "response": "no"}, {"question": "Is it primarily used in a workplace or industrial setting?", "response": "no"}, {"question": "Is it primarily used for scientific or medical purposes?", "response": "no"}, {"question": "Is it a portable device?", "response": "no"}, {"question": "Is it typically fixed in one location during normal use?", "response": "yes"}, {"question": "Is it an appliance commonly found in public or commercial buildings?", "response": "yes"}, {"question": "Is it primarily involved in financial transactions or access control (e.g., ATM, turnstile)?", "response": "no"}, {"question": "Is it primarily involved in climate control (such as heating, cooling, or ventilation)?", "response": "no"}, {"question": "Is it primarily used for safety or security purposes?", "response": "no"}, {"question": "Is it primarily used for information display, such as a screen, monitor, or electronic signage?", "response": "yes"}, {"question": "Is it an electronic billboard or digital advertising display?", "response": "no"}, {"question": "Is it a computer monitor?", "response": "no"}, {"question": "Is it an electronic scoreboard?", "response": "no"}, {"question": "Is it primarily used to provide timetable or schedule information to the public?", "response": "no"}, {"question": "Is it an airport flight information display?", "response": "no"}, {"question": "Is it a departure board?", "response": "no"}, {"question": "Is it an electronic menu board?", "response": "no"}, {"question": "Is it an information kiosk?", "response": "no"}]}
|
||||
{"index": 10, "id": "aa672af9-2c7b-47c7-849a-915867d69531", "answer": "Fish", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 6, "interactions": [{"question": "Is it a mammal?", "response": "no"}, {"question": "Is it a bird?", "response": "no"}, {"question": "Is it a reptile?", "response": "no"}, {"question": "Is it an amphibian?", "response": "no"}, {"question": "Does it live mostly in water?", "response": "yes"}, {"question": "Is it a fish?", "response": "yes"}]}
|
||||
{"index": 62, "id": "7e19fcef-d009-4968-976c-a5478e56a873", "answer": "Piano", "category": "instrument", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 8, "interactions": [{"question": "Is it primarily a musical instrument?", "response": "yes"}, {"question": "Is it primarily a string instrument?", "response": "yes"}, {"question": "Is it primarily played with a bow?", "response": "no"}, {"question": "Is it primarily played by plucking the strings?", "response": "no"}, {"question": "Is it primarily played by striking the strings?", "response": "yes"}, {"question": "Is it primarily categorized as a keyboard instrument?", "response": "yes"}, {"question": "Is it primarily associated with classical music performances?", "response": "yes"}, {"question": "Is it the piano?", "response": "yes"}]}
|
||||
{"index": 112, "id": "b20a1b81-f09f-426d-8049-925026308063", "answer": "Notepad", "category": "stationery", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is it primarily used for writing?", "response": "yes"}, {"question": "Is it primarily made of wood?", "response": "no"}, {"question": "Is it commonly used for erasing writing?", "response": "no"}, {"question": "Is it primarily made of plastic?", "response": "no"}, {"question": "Is it primarily made of metal?", "response": "no"}, {"question": "Is it a type of pen?", "response": "no"}, {"question": "Is it primarily used to hold or organize paper?", "response": "no"}, {"question": "Is it primarily made of paper?", "response": "yes"}, {"question": "Is it typically bound along one edge?", "response": "yes"}, {"question": "Is it a notebook?", "response": "no"}, {"question": "Is it a notepad?", "response": "yes"}]}
|
||||
{"index": 146, "id": "e9a157ad-0365-4e14-bd1c-a92ecaf02b09", "answer": "Table", "category": "furniture", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it primarily used for sitting?", "response": "no"}, {"question": "Is it primarily used for sleeping or lying down?", "response": "no"}, {"question": "Is it primarily used for storing or holding objects?", "response": "yes"}, {"question": "Is it typically found in a kitchen or dining area?", "response": "yes"}, {"question": "Is it primarily used to store food, dishes, or kitchen utensils?", "response": "no"}, {"question": "Is it primarily used as a surface to prepare or serve food?", "response": "no"}, {"question": "Is it typically placed in a dining area rather than a kitchen?", "response": "no"}, {"question": "Is it designed to store cleaning supplies or waste?", "response": "no"}, {"question": "Is it usually built into the structure of the kitchen (like cabinets or cupboards) rather than being a standalone piece?", "response": "no"}, {"question": "Is it commonly used to store liquids?", "response": "no"}, {"question": "Is it typically placed inside a refrigerator or freezer?", "response": "no"}, {"question": "Is it used for organizing or storing cookware such as pots and pans?", "response": "no"}, {"question": "Is it primarily used for organizing trash or recyclables?", "response": "no"}, {"question": "Is it primarily used to store or organize linens or towels?", "response": "no"}, {"question": "Is it a kitchen cart?", "response": "no"}, {"question": "Is it a wine rack?", "response": "no"}, {"question": "Is it a pantry?", "response": "no"}, {"question": "Is it a sideboard?", "response": "no"}, {"question": "Is it a hutch?", "response": "no"}, {"question": "Is it a baker's rack?", "response": "no"}]}
|
||||
{"index": 166, "id": "ecbbebe1-ae9d-44f8-9c36-2bc66b871ccd", "answer": "Crib", "category": "furniture", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 5, "interactions": [{"question": "Is it primarily used for sitting?", "response": "no"}, {"question": "Is it primarily used for sleeping?", "response": "yes"}, {"question": "Is it large enough for more than one person to sleep on at once?", "response": "no"}, {"question": "Is it commonly known as a \"cot\"?", "response": "yes"}, {"question": "Is it specifically called a \"cot bed\"?", "response": "yes"}]}
|
||||
{"index": 0, "id": "be2a835f-1553-4d58-9121-17b572e8a9c9", "answer": "Dog", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 5, "interactions": [{"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it commonly domesticated as a pet?", "response": "yes"}, {"question": "Is it primarily kept for companionship rather than work or specific tasks?", "response": "yes"}, {"question": "Is it a cat?", "response": "no"}, {"question": "Is it a dog?", "response": "yes"}]}
|
||||
{"index": 198, "id": "dcd58e64-8cad-4233-a536-126dd92e160f", "answer": "Plato", "category": "celebrity", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 18, "interactions": [{"question": "Is this celebrity primarily known for work in the entertainment industry (acting, music, or sports)?", "response": "no"}, {"question": "Is this celebrity primarily known for work in politics, government, or leadership?", "response": "no"}, {"question": "Is this celebrity primarily known for work in science, academia, or technology?", "response": "yes"}, {"question": "Is this celebrity primarily known for their work in physics, mathematics, or astronomy?", "response": "no"}, {"question": "Is this celebrity primarily known for their contributions to biology, medicine, or health sciences?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in computer science or technology entrepreneurship?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in the social sciences (such as psychology, sociology, or economics)?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in chemistry?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in engineering?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in literature or philosophy?", "response": "yes"}, {"question": "Is this celebrity primarily known for their work as a philosopher?", "response": "yes"}, {"question": "Is this philosopher primarily known for their work in ancient philosophy?", "response": "yes"}, {"question": "Is this philosopher primarily associated with ancient Greek philosophy?", "response": "yes"}, {"question": "Is this philosopher primarily known for being a student of Socrates?", "response": "no"}, {"question": "Is this philosopher primarily known for founding his own major philosophical school?", "response": "yes"}, {"question": "Is it Aristotle?", "response": "no"}, {"question": "Is it Epicurus?", "response": "no"}, {"question": "Is it Plato?", "response": "yes"}]}
|
||||
{"index": 153, "id": "6eae3b11-bc9e-4b14-8767-e555d1c5f9e4", "answer": "Dresser", "category": "furniture", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 6, "interactions": [{"question": "Is it primarily designed for sitting on?", "response": "no"}, {"question": "Is it primarily used for storing or holding items?", "response": "yes"}, {"question": "Is it typically found in a bedroom?", "response": "yes"}, {"question": "Does it have drawers for storing items?", "response": "yes"}, {"question": "Is it usually taller than it is wide?", "response": "no"}, {"question": "Is it commonly called a \"dresser\"?", "response": "yes"}]}
|
||||
{"index": 70, "id": "127285a0-c4fd-459a-9a05-59ce28dee927", "answer": "Tuba", "category": "instrument", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 8, "interactions": [{"question": "Is it primarily a musical instrument?", "response": "yes"}, {"question": "Is it primarily played by blowing air into it?", "response": "yes"}, {"question": "Is it made primarily of brass?", "response": "yes"}, {"question": "Is it commonly used in orchestras?", "response": "yes"}, {"question": "Does it have valves?", "response": "yes"}, {"question": "Is it held vertically when played?", "response": "yes"}, {"question": "Does it have a widely flared bell at the end?", "response": "yes"}, {"question": "Is it the tuba?", "response": "yes"}]}
|
||||
{"index": 123, "id": "8d249616-9ec9-4de2-b571-77427bbe4ac6", "answer": "Smartphone", "category": "electronics", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 5, "interactions": [{"question": "Is it primarily a device used for communication?", "response": "yes"}, {"question": "Is it a handheld device?", "response": "yes"}, {"question": "Does it have a touchscreen interface?", "response": "yes"}, {"question": "Is it primarily used for making phone calls?", "response": "yes"}, {"question": "Is it a smartphone?", "response": "yes"}]}
|
||||
{"index": 64, "id": "f1533cb9-d628-418e-80c6-76cf2eb06330", "answer": "Violin", "category": "instrument", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 6, "interactions": [{"question": "Is it primarily a string instrument?", "response": "yes"}, {"question": "Is it primarily played with a bow?", "response": "yes"}, {"question": "Is it primarily used in classical orchestras?", "response": "yes"}, {"question": "Is it larger than a violin?", "response": "no"}, {"question": "Is it played primarily by resting it on the shoulder?", "response": "yes"}, {"question": "Is it the violin?", "response": "yes"}]}
|
||||
{"index": 44, "id": "93b6782c-7d19-4b5a-ae27-b15cefb26647", "answer": "Pikachu", "category": "character", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 12, "interactions": [{"question": "Is this character primarily from a live-action source rather than animation or comics?", "response": "no"}, {"question": "Is this character originally from a Japanese anime or manga?", "response": "no"}, {"question": "Is this character primarily associated with Western animation rather than comics?", "response": "no"}, {"question": "Is this character originally from a comic book or graphic novel?", "response": "no"}, {"question": "Is this character originally from a video game?", "response": "yes"}, {"question": "Is this character human or mostly human in form?", "response": "no"}, {"question": "Is this character primarily known as an animal or animal-like creature?", "response": "yes"}, {"question": "Is this character primarily known as a companion or sidekick to a human protagonist?", "response": "yes"}, {"question": "Is this character from a Nintendo video game series?", "response": "yes"}, {"question": "Is this character a Pok\u00e9mon?", "response": "yes"}, {"question": "Is this Pok\u00e9mon commonly associated with Ash Ketchum as his main companion?", "response": "yes"}, {"question": "Is it Pikachu?", "response": "yes"}]}
|
||||
{"index": 163, "id": "ba38c620-9729-4f2a-baab-4366d5fe7656", "answer": "Ottoman", "category": "furniture", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 7, "interactions": [{"question": "Is it primarily designed for sitting?", "response": "yes"}, {"question": "Does it typically have a backrest?", "response": "no"}, {"question": "Is it typically used by more than one person at the same time?", "response": "no"}, {"question": "Is it primarily found in dining areas?", "response": "no"}, {"question": "Is it commonly used as a footrest?", "response": "yes"}, {"question": "Is it upholstered?", "response": "yes"}, {"question": "Is it an ottoman?", "response": "yes"}]}
|
||||
{"index": 28, "id": "e7f1cb45-d518-4f91-b9b1-9b6bd9c1bdf6", "answer": "Bee", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 8, "interactions": [{"question": "Is it a mammal?", "response": "no"}, {"question": "Is it a bird?", "response": "no"}, {"question": "Is it a reptile?", "response": "no"}, {"question": "Is it an aquatic animal?", "response": "no"}, {"question": "Is it an insect?", "response": "yes"}, {"question": "Can it fly?", "response": "yes"}, {"question": "Is it commonly associated with producing honey?", "response": "yes"}, {"question": "Is it a bee?", "response": "yes"}]}
|
||||
{"index": 40, "id": "fd1d79fb-df55-4213-b274-04f04a984f7a", "answer": "Aquaman", "category": "character", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is this character primarily known for appearing in live-action works (TV shows or movies), rather than animation or literature?", "response": "no"}, {"question": "Is this character best known for appearing in animated works?", "response": "no"}, {"question": "Is this character primarily known from literature (books, comics, or plays)?", "response": "yes"}, {"question": "Is this character originally from a work published before 1950?", "response": "yes"}, {"question": "Is this character originally from a novel rather than a play, comic, or other literary form?", "response": "no"}, {"question": "Is this character originally from a play?", "response": "no"}, {"question": "Is this character originally from a comic strip?", "response": "no"}, {"question": "Is this character originally from a poem or an epic (rather than a short story or other written form)?", "response": "no"}, {"question": "Is this character originally from a short story?", "response": "no"}, {"question": "Is this character originally from a myth, legend, or religious text?", "response": "no"}, {"question": "Is this character originally from a literary fairy tale or folk tale?", "response": "no"}, {"question": "Is this character originally from a magazine or newspaper serialization (other than comic strips)?", "response": "no"}, {"question": "Is this character originally from a radio drama or radio broadcast?", "response": "no"}, {"question": "Is this character originally from a children's book?", "response": "no"}, {"question": "Is this character originally from a novella rather than a novel, play, comic, or short story?", "response": "no"}, {"question": "Is this character primarily known from a famous essay or non-fiction work?", "response": "no"}, {"question": "Is this character originally from a letter or diary published as a standalone literary work before 1950?", "response": "no"}, {"question": "Has this character appeared in a famous work originally published as a serialized pulp or adventure magazine story?", "response": "no"}, {"question": "Is this character known for originating in an allegorical or satirical work?", "response": "no"}, {"question": "Is it Sherlock Holmes?", "response": "no"}]}
|
||||
{"index": 108, "id": "662a4b01-f1fa-4a34-b7a8-c912c6b6904d", "answer": "Stapler", "category": "stationery", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 9, "interactions": [{"question": "Is it primarily used for writing or drawing on paper?", "response": "no"}, {"question": "Is it primarily used to attach, bind, or hold objects together?", "response": "yes"}, {"question": "Is it primarily made of metal?", "response": "yes"}, {"question": "Is it commonly used to fasten sheets of paper together?", "response": "yes"}, {"question": "Is it commonly operated by hand without requiring additional devices or dispensers?", "response": "yes"}, {"question": "Is it a paperclip?", "response": "no"}, {"question": "Is it a staple?", "response": "no"}, {"question": "Is it primarily used for temporarily holding papers together without puncturing or damaging them?", "response": "no"}, {"question": "Is it a stapler?", "response": "yes"}]}
|
||||
{"index": 155, "id": "40f96f39-ccf8-4394-959f-61b0030e853c", "answer": "Cupboard", "category": "furniture", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 12, "interactions": [{"question": "Is it primarily used for sitting?", "response": "no"}, {"question": "Is it primarily used for sleeping?", "response": "no"}, {"question": "Is it primarily used for storage?", "response": "yes"}, {"question": "Is it typically found in the kitchen?", "response": "yes"}, {"question": "Is it primarily used to store food or beverages?", "response": "yes"}, {"question": "Is it commonly kept cold or refrigerated?", "response": "no"}, {"question": "Is it primarily used to store non-perishable dry goods?", "response": "no"}, {"question": "Is it primarily used to store dishes or dinnerware?", "response": "yes"}, {"question": "Is it typically mounted on a wall?", "response": "no"}, {"question": "Is it typically a freestanding piece of furniture rather than built into the room?", "response": "yes"}, {"question": "Is it a china cabinet?", "response": "no"}, {"question": "Is it a hutch?", "response": "yes"}]}
|
||||
{"index": 156, "id": "91d56955-ee58-40b4-96b3-47505580dd96", "answer": "Shelf", "category": "furniture", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 14, "interactions": [{"question": "Is it primarily used for sitting?", "response": "no"}, {"question": "Is it primarily used for sleeping?", "response": "no"}, {"question": "Is it primarily used for storing items?", "response": "yes"}, {"question": "Is it most commonly found in a bedroom?", "response": "no"}, {"question": "Is it most commonly found in a kitchen or dining room?", "response": "no"}, {"question": "Is it most commonly found in an office or workspace?", "response": "no"}, {"question": "Is it primarily used for organizing clothing or accessories?", "response": "no"}, {"question": "Is it most commonly found in a living room?", "response": "no"}, {"question": "Is it primarily used for storing books or media?", "response": "yes"}, {"question": "Is it primarily used for storing and displaying items on open shelves?", "response": "yes"}, {"question": "Is it a bookshelf?", "response": "no"}, {"question": "Is it a bookcase?", "response": "no"}, {"question": "Is it a display cabinet?", "response": "no"}, {"question": "Is it called a shelving unit?", "response": "yes"}]}
|
||||
{"index": 25, "id": "0f1ccb24-c1ee-4020-849b-9db5b809bb67", "answer": "Koala", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 14, "interactions": [{"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it a domesticated animal?", "response": "no"}, {"question": "Is it larger than a human?", "response": "no"}, {"question": "Is it found primarily in the wild, rather than near human habitation?", "response": "yes"}, {"question": "Does it primarily consume meat (is it carnivorous)?", "response": "no"}, {"question": "Is it primarily a herbivore?", "response": "yes"}, {"question": "Is it commonly found in North America?", "response": "no"}, {"question": "Is it native to Africa?", "response": "no"}, {"question": "Is it native to Asia?", "response": "no"}, {"question": "Is it native to Europe?", "response": "no"}, {"question": "Is it native to Australia?", "response": "yes"}, {"question": "Is it a marsupial?", "response": "yes"}, {"question": "Is it known for spending most of its life in trees (arboreal)?", "response": "yes"}, {"question": "Is it a koala?", "response": "yes"}]}
|
||||
{"index": 23, "id": "824237d2-e559-46dc-aa83-02b371ed4ff2", "answer": "Giraffe", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 10, "interactions": [{"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it a domesticated animal?", "response": "no"}, {"question": "Is it larger than a human?", "response": "yes"}, {"question": "Is it found naturally in Africa?", "response": "yes"}, {"question": "Does it have a trunk?", "response": "no"}, {"question": "Does it have horns or antlers?", "response": "yes"}, {"question": "Is it known for having a large mane?", "response": "no"}, {"question": "Is it known for migrating long distances annually?", "response": "no"}, {"question": "Is it a member of the bovine family (such as buffalo or antelope)?", "response": "no"}, {"question": "Is it a giraffe?", "response": "yes"}]}
|
||||
{"index": 184, "id": "ae1a8525-e4d2-4ac0-aa32-3d033d5a3267", "answer": "Abraham Lincoln", "category": "celebrity", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 12, "interactions": [{"question": "Is this celebrity primarily known as an actor?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in music?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in sports?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in politics or government?", "response": "yes"}, {"question": "Is this celebrity primarily known for serving as the head of state or head of government?", "response": "yes"}, {"question": "Is this celebrity primarily known for serving as the head of state or head of government of the United States?", "response": "yes"}, {"question": "Did this person serve as President of the United States in the 21st century?", "response": "no"}, {"question": "Did this person serve as President of the United States in the 20th century?", "response": "no"}, {"question": "Did this person serve as President of the United States before 1900?", "response": "yes"}, {"question": "Did this person serve as President of the United States during the 19th century (1801\u20131900)?", "response": "yes"}, {"question": "Did this person serve as President of the United States during the American Civil War?", "response": "yes"}, {"question": "Is it Abraham Lincoln?", "response": "yes"}]}
|
||||
{"index": 147, "id": "b5c4001d-6e0b-4f26-83ef-460b11cb9faf", "answer": "Sofa", "category": "furniture", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 12, "interactions": [{"question": "Is it primarily used for sitting?", "response": "yes"}, {"question": "Does it typically have a backrest?", "response": "yes"}, {"question": "Does it typically have armrests?", "response": "yes"}, {"question": "Is it most commonly found in living rooms?", "response": "yes"}, {"question": "Is it typically designed to seat more than one person?", "response": "yes"}, {"question": "Is it upholstered?", "response": "yes"}, {"question": "Is it primarily designed to seat exactly two people?", "response": "no"}, {"question": "Is it primarily designed to seat three or more people?", "response": "no"}, {"question": "Is it primarily used as a reclining chair?", "response": "no"}, {"question": "Is it a sectional?", "response": "no"}, {"question": "Is it a recliner?", "response": "no"}, {"question": "Is it commonly referred to as a \"sofa\"?", "response": "yes"}]}
|
||||
{"index": 81, "id": "3ccc04d3-f71a-490a-b15d-9c3d11d151e9", "answer": "Recorder", "category": "instrument", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 14, "interactions": [{"question": "Is it primarily a string instrument?", "response": "no"}, {"question": "Is it primarily a percussion instrument?", "response": "no"}, {"question": "Is it primarily a wind instrument?", "response": "yes"}, {"question": "Is it typically made of brass?", "response": "no"}, {"question": "Is it typically made of wood?", "response": "yes"}, {"question": "Is it played primarily by blowing air across an opening (as in flutes) rather than through a reed?", "response": "no"}, {"question": "Is it played by blowing into a single reed?", "response": "no"}, {"question": "Is it played using a double reed?", "response": "no"}, {"question": "Is it played with keys or a keyboard?", "response": "no"}, {"question": "Is it operated by blowing air through a set of pipes or tubes?", "response": "no"}, {"question": "Is it a wind instrument that is worn on the body or part of clothing while being played?", "response": "no"}, {"question": "Is it a harmonica?", "response": "no"}, {"question": "Is it an accordion?", "response": "no"}, {"question": "Is it a recorder?", "response": "yes"}]}
|
||||
{"index": 39, "id": "7924dc57-58d4-4b26-8882-3d72e9eb8ff7", "answer": "Hulk", "category": "character", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is this character primarily known from works of fiction?", "response": "yes"}, {"question": "Is this character human?", "response": "yes"}, {"question": "Is this character primarily known from movies or television?", "response": "no"}, {"question": "Is this character primarily known from literature (books, novels, or written works)?", "response": "yes"}, {"question": "Is this character originally from a work published before 1950?", "response": "no"}, {"question": "Is this character primarily known from a series of books rather than a standalone novel?", "response": "yes"}, {"question": "Is this character primarily known from children's or young adult literature?", "response": "no"}, {"question": "Is this character primarily associated with the fantasy genre?", "response": "no"}, {"question": "Is this character primarily associated with the mystery, thriller, or crime genre?", "response": "no"}, {"question": "Is this character primarily known from the science fiction genre?", "response": "no"}, {"question": "Is this character primarily associated with the horror genre?", "response": "no"}, {"question": "Is this character primarily known from a novel that won a major literary award (such as the Pulitzer, Booker, or National Book Award)?", "response": "no"}, {"question": "Is this character primarily known as a protagonist in a series that is considered literary fiction (rather than genre fiction)?", "response": "no"}, {"question": "Is this character primarily known from a series originally published in the 21st century?", "response": "no"}, {"question": "Is this character primarily known from a book series published between 1950 and 1999?", "response": "yes"}, {"question": "Is this character primarily known as an antagonist or villain within their series?", "response": "no"}, {"question": "Is this character male?", "response": "yes"}, {"question": "Is this character primarily known from a series written by Stephen King?", "response": "no"}, {"question": "Is this character primarily known from the \"James Bond\" series?", "response": "no"}, {"question": "Is it Harry Potter?", "response": "no"}]}
|
||||
{"index": 168, "id": "b9fc6677-d2a9-4cf0-910b-22e712af3f63", "answer": "Sideboard", "category": "furniture", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is it primarily used for sitting?", "response": "no"}, {"question": "Is it primarily used for sleeping?", "response": "no"}, {"question": "Is it primarily used for storing items?", "response": "yes"}, {"question": "Is it typically made of wood?", "response": "yes"}, {"question": "Is it primarily used in a bedroom?", "response": "no"}, {"question": "Is it most commonly found in a kitchen or dining room?", "response": "yes"}, {"question": "Is it primarily used to store dishes or tableware?", "response": "yes"}, {"question": "Is it usually a china cabinet?", "response": "no"}, {"question": "Is it commonly used to store food items like canned goods or dry groceries?", "response": "no"}, {"question": "Is it mounted on or attached to a wall?", "response": "no"}, {"question": "Is it commonly referred to as a sideboard or buffet?", "response": "yes"}]}
|
||||
{"index": 47, "id": "389979df-7a60-4e38-b004-51a0f8d16c0d", "answer": "Elsa", "category": "character", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 15, "interactions": [{"question": "Is this character primarily known from works of fiction?", "response": "yes"}, {"question": "Is this character originally from a visual medium, such as film, television, or comics?", "response": "yes"}, {"question": "Is this character human?", "response": "yes"}, {"question": "Is this character primarily known from film or television, rather than comics?", "response": "yes"}, {"question": "Is this character primarily known for appearing in a film franchise rather than a stand-alone film or television series?", "response": "yes"}, {"question": "Is this character primarily known for originating from a live-action film franchise?", "response": "no"}, {"question": "Is this character primarily known from an animated film franchise?", "response": "yes"}, {"question": "Is this character produced by Disney or Pixar?", "response": "yes"}, {"question": "Is this character female?", "response": "yes"}, {"question": "Is this character a Disney Princess (as officially recognized in the Disney Princess line-up)?", "response": "no"}, {"question": "Is this character the main protagonist of her animated film franchise?", "response": "yes"}, {"question": "Has this character appeared in more than one film within her animated franchise?", "response": "yes"}, {"question": "Is this character from a Pixar animated film franchise?", "response": "no"}, {"question": "Is this character primarily associated with a Disney animated musical film franchise released in the 2010s?", "response": "yes"}, {"question": "Is it Elsa?", "response": "yes"}]}
|
||||
{"index": 94, "id": "b62c6eec-84e1-4717-b66a-aab1a1d63e68", "answer": "Carnation", "category": "flower", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is it commonly given as a gift for romantic occasions such as Valentine's Day or anniversaries?", "response": "yes"}, {"question": "Is it typically red in color?", "response": "no"}, {"question": "Is it primarily associated with weddings or bridal bouquets?", "response": "no"}, {"question": "Is it known for having a strong, sweet fragrance?", "response": "no"}, {"question": "Is it most often recognized for its large, brightly colored petals or distinctive shape?", "response": "yes"}, {"question": "Is it typically associated with spring or easter celebrations?", "response": "no"}, {"question": "Is it commonly yellow in color?", "response": "no"}, {"question": "Is it often used in corsages or boutonni\u00e8res for formal events?", "response": "yes"}, {"question": "Does this flower typically have multiple layers of ruffled petals?", "response": "yes"}, {"question": "Is this flower most commonly associated with prom or formal dances in the United States?", "response": "no"}, {"question": "Is it a carnation?", "response": "yes"}]}
|
||||
{"index": 154, "id": "5057174b-f4b1-43ae-b967-2330414db775", "answer": "Cabinet", "category": "furniture", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 8, "interactions": [{"question": "Is it primarily used for sitting?", "response": "no"}, {"question": "Is it primarily used for sleeping?", "response": "no"}, {"question": "Is it primarily used for storing or holding items?", "response": "yes"}, {"question": "Is it primarily found in a bedroom?", "response": "no"}, {"question": "Is it most commonly found in a kitchen or dining room?", "response": "yes"}, {"question": "Is it primarily used to store food or dining-related items?", "response": "no"}, {"question": "Is it primarily used to store dishes, glasses, or tableware?", "response": "no"}, {"question": "Is it a type of cabinet or cupboard?", "response": "yes"}]}
|
||||
{"index": 43, "id": "aa568c7f-010c-4905-8811-c9ce7dc777eb", "answer": "Luigi", "category": "character", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 13, "interactions": [{"question": "Is this character primarily known from fiction (books, movies, TV, comics, or video games)?", "response": "yes"}, {"question": "Is this character human?", "response": "yes"}, {"question": "Is this character primarily known from movies?", "response": "no"}, {"question": "Is this character primarily known from television?", "response": "no"}, {"question": "Is this character primarily known from books?", "response": "no"}, {"question": "Is this character primarily known from video games?", "response": "yes"}, {"question": "Is this character the main protagonist in their primary video game series?", "response": "no"}, {"question": "Is this character male?", "response": "yes"}, {"question": "Is this character primarily associated with the Nintendo franchise?", "response": "yes"}, {"question": "Is this character a major antagonist or villain in their primary video game series?", "response": "no"}, {"question": "Is this character a recurring companion or sidekick to the primary protagonist in their series?", "response": "yes"}, {"question": "Is this character from the Super Mario series?", "response": "yes"}, {"question": "Is this character Luigi?", "response": "yes"}]}
|
||||
{"index": 138, "id": "b1b57fb6-2b87-4125-8e1b-b018676ef126", "answer": "Microwave", "category": "electronics", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 7, "interactions": [{"question": "Is it primarily used for communication?", "response": "no"}, {"question": "Is it primarily used for entertainment (such as watching, listening, or playing)?", "response": "no"}, {"question": "Is it primarily used for work or practical tasks (such as cooking, cleaning, calculating, or measuring)?", "response": "yes"}, {"question": "Is it commonly found in the kitchen?", "response": "yes"}, {"question": "Is it primarily used for preparing or cooking food?", "response": "yes"}, {"question": "Does it use microwaves to heat food?", "response": "yes"}, {"question": "Is it a microwave?", "response": "yes"}]}
|
||||
{"index": 3, "id": "c9191130-e43e-49f0-a24e-7b0d9dfae299", "answer": "Pig", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 6, "interactions": [{"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it a domesticated mammal?", "response": "yes"}, {"question": "Is it commonly kept as a household pet?", "response": "no"}, {"question": "Is it primarily raised for food or agricultural purposes?", "response": "yes"}, {"question": "Is it primarily raised for its meat?", "response": "yes"}, {"question": "Is it a pig?", "response": "yes"}]}
|
||||
{"index": 105, "id": "2c2d505b-0256-4d86-93c3-f0260bc68a12", "answer": "Ruler", "category": "stationery", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 10, "interactions": [{"question": "Is it primarily used for writing?", "response": "no"}, {"question": "Is it primarily used for attaching or binding papers together?", "response": "no"}, {"question": "Is it primarily used for measuring or drawing lines?", "response": "yes"}, {"question": "Is it primarily made of wood?", "response": "no"}, {"question": "Is it primarily made of plastic?", "response": "no"}, {"question": "Is it primarily made of metal?", "response": "no"}, {"question": "Is it primarily used for drawing perfect circles?", "response": "no"}, {"question": "Is it primarily made of paper or cardboard?", "response": "no"}, {"question": "Is it primarily used for drawing or measuring angles?", "response": "no"}, {"question": "Is it a ruler?", "response": "yes"}]}
|
||||
{"index": 53, "id": "d4269da0-c5a1-4b37-96ba-b22c665bf47c", "answer": "Mickey Mouse", "category": "character", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 13, "interactions": [{"question": "Is this character primarily known from fictional works (such as books, movies, TV shows, comics, or video games)?", "response": "yes"}, {"question": "Is this character primarily known from movies?", "response": "yes"}, {"question": "Is this character animated in their most well-known movie appearance?", "response": "yes"}, {"question": "Is this character primarily known from a Disney or Pixar movie?", "response": "yes"}, {"question": "Is this character a human?", "response": "no"}, {"question": "Is this character an animal (as commonly understood, such as a mammal, bird, fish, reptile, or amphibian)?", "response": "yes"}, {"question": "Is this character a mammal?", "response": "yes"}, {"question": "Is this character primarily known for appearing alongside other main animal characters as part of an ensemble cast?", "response": "no"}, {"question": "Is this character primarily known as the main protagonist in their movie?", "response": "yes"}, {"question": "Is this character primarily known for appearing in a film released before the year 2000?", "response": "yes"}, {"question": "Is this character primarily known for being part of the \"The Lion King\" franchise?", "response": "no"}, {"question": "Is this character primarily known for being a mouse?", "response": "yes"}, {"question": "Is it Mickey Mouse?", "response": "yes"}]}
|
||||
{"index": 133, "id": "f0c2c7e5-9250-45e2-a526-a706325f3002", "answer": "Keyboard", "category": "electronics", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it primarily used for personal communication?", "response": "no"}, {"question": "Is it primarily used for entertainment purposes?", "response": "yes"}, {"question": "Is it a device primarily used to display visual content?", "response": "no"}, {"question": "Is it primarily used to produce audio or sound?", "response": "yes"}, {"question": "Is it typically portable and meant to be carried or moved frequently?", "response": "no"}, {"question": "Is it primarily used in a home setting rather than a public or commercial environment?", "response": "no"}, {"question": "Is it typically installed in vehicles or transportation environments?", "response": "no"}, {"question": "Is it an electronic device primarily used for public address or broadcasting audio to an audience?", "response": "no"}, {"question": "Is it a component that is typically part of a larger audio system rather than a standalone device?", "response": "no"}, {"question": "Is it primarily found in professional or industrial environments?", "response": "no"}, {"question": "Is it a home audio device primarily designed for playing music?", "response": "yes"}, {"question": "Is it a radio?", "response": "no"}, {"question": "Is it a speaker?", "response": "no"}, {"question": "Is it a CD player?", "response": "no"}, {"question": "Is it a turntable?", "response": "no"}, {"question": "Is it a cassette player?", "response": "no"}, {"question": "Is it a record player?", "response": "no"}, {"question": "Is it a jukebox?", "response": "no"}, {"question": "Is it an MP3 player?", "response": "no"}, {"question": "Is it a stereo system?", "response": "no"}]}
|
||||
{"index": 180, "id": "0cc377b4-47a2-4c01-b90d-43304eab294f", "answer": "Mahatma Gandhi", "category": "celebrity", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is this celebrity primarily known for their work in acting?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in music?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in sports?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in politics or government?", "response": "yes"}, {"question": "Is this celebrity primarily known for being a national leader (such as a president, prime minister, or monarch)?", "response": "no"}, {"question": "Is this celebrity primarily known for their work as a government official or legislator (such as a senator, member of parliament, or cabinet minister)?", "response": "no"}, {"question": "Is this celebrity primarily known for their work as a judge or in the judiciary?", "response": "no"}, {"question": "Is this celebrity primarily known for their work as a political activist or advocate rather than holding an official government position?", "response": "yes"}, {"question": "Is this celebrity primarily known for their advocacy related to civil rights or social justice issues?", "response": "yes"}, {"question": "Is this celebrity primarily known for their advocacy in the United States?", "response": "no"}, {"question": "Is this celebrity primarily known for their advocacy related to ending apartheid or promoting human rights in Africa?", "response": "no"}, {"question": "Is this celebrity primarily known for their advocacy related to women's rights or feminism?", "response": "no"}, {"question": "Is this celebrity primarily known for their advocacy related to environmental or climate issues?", "response": "no"}, {"question": "Is this celebrity primarily known for their advocacy related to LGBTQ+ rights?", "response": "no"}, {"question": "Is this celebrity primarily known for advocating for the rights of children or against child labor?", "response": "no"}, {"question": "Is this celebrity primarily known for their advocacy related to human rights or social justice in Asia?", "response": "yes"}, {"question": "Is this celebrity primarily known for their advocacy related to democracy or opposition to authoritarian regimes in Asia?", "response": "yes"}, {"question": "Is this celebrity primarily known for their advocacy related to democracy or human rights in China?", "response": "no"}, {"question": "Is it Aung San Suu Kyi?", "response": "no"}, {"question": "Is it Malala Yousafzai?", "response": "no"}]}
|
||||
{"index": 178, "id": "87f4dcb7-3cdb-494f-b510-42cbcfb3224a", "answer": "Marilyn Monroe", "category": "celebrity", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is this celebrity primarily known for their work in film or television?", "response": "yes"}, {"question": "Is this celebrity primarily an actor?", "response": "yes"}, {"question": "Is this celebrity male?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in television rather than film?", "response": "no"}, {"question": "Is this celebrity an Academy Award (Oscar) winner?", "response": "no"}, {"question": "Is this celebrity American?", "response": "yes"}, {"question": "Is this celebrity over the age of 50?", "response": "no"}, {"question": "Has this celebrity starred in a major film release since 2015?", "response": "no"}, {"question": "Has this celebrity ever been nominated for an Academy Award?", "response": "no"}, {"question": "Has this celebrity starred in a comedy film?", "response": "yes"}, {"question": "Is this celebrity known for starring in action-comedy films?", "response": "no"}, {"question": "Has this celebrity starred in a romantic comedy film?", "response": "yes"}, {"question": "Has this celebrity starred in a musical film?", "response": "yes"}, {"question": "Has this celebrity starred in a film that was nominated for the Academy Award for Best Picture?", "response": "yes"}, {"question": "Has this celebrity starred in a film directed by Damien Chazelle?", "response": "no"}, {"question": "Has this celebrity starred in a film directed by Rob Marshall?", "response": "no"}, {"question": "Has this celebrity starred in a film directed by Greta Gerwig?", "response": "no"}, {"question": "Has this celebrity starred in a film directed by Jason Reitman?", "response": "no"}, {"question": "Is it Anna Kendrick?", "response": "no"}, {"question": "Is it Emma Stone?", "response": "no"}]}
|
||||
{"index": 185, "id": "1f3fc442-2aab-4350-b74a-86d2161d7212", "answer": "Winston Churchill", "category": "celebrity", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is this celebrity primarily known for their work in the entertainment industry (such as acting, music, or television)?", "response": "no"}, {"question": "Is this celebrity primarily known for achievements in sports or athletics?", "response": "no"}, {"question": "Is this celebrity primarily known for work in politics or government?", "response": "yes"}, {"question": "Is this celebrity primarily known for being a head of state or government (such as a president, prime minister, monarch, or equivalent)?", "response": "yes"}, {"question": "Is this celebrity primarily known for being the head of state or government of the United States?", "response": "no"}, {"question": "Is this celebrity primarily known for being the head of state or government of a European country?", "response": "yes"}, {"question": "Is this celebrity primarily known for serving as the head of government or state of the United Kingdom?", "response": "yes"}, {"question": "Is this celebrity primarily known for serving as Monarch of the United Kingdom?", "response": "no"}, {"question": "Is this celebrity primarily known for serving as Prime Minister of the United Kingdom?", "response": "yes"}, {"question": "Did this person serve as Prime Minister of the United Kingdom in the 21st century?", "response": "no"}, {"question": "Did this person serve as Prime Minister of the United Kingdom during the 20th century?", "response": "yes"}, {"question": "Did this person serve as Prime Minister of the United Kingdom after 1950?", "response": "yes"}, {"question": "Did this person serve as Prime Minister of the United Kingdom during the 1980s?", "response": "no"}, {"question": "Did this person serve as Prime Minister of the United Kingdom before 1979?", "response": "yes"}, {"question": "Is it Margaret Thatcher?", "response": "no"}, {"question": "Did this person serve as Prime Minister of the United Kingdom between 1951 and 1964?", "response": "yes"}, {"question": "Is it Harold Macmillan?", "response": "no"}, {"question": "Is it Anthony Eden?", "response": "no"}, {"question": "Is it Harold Wilson?", "response": "no"}, {"question": "Is it Alec Douglas-Home?", "response": "no"}]}
|
||||
{"index": 49, "id": "366c5391-ca44-4589-a2dc-b1d0abeb04e1", "answer": "Woody", "category": "character", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is this character primarily known from a work of fiction?", "response": "yes"}, {"question": "Is this character human?", "response": "no"}, {"question": "Is this character an animal?", "response": "yes"}, {"question": "Is this character primarily associated with animated works (such as cartoons or animated movies)?", "response": "yes"}, {"question": "Is this character primarily associated with Disney-produced animated works?", "response": "no"}, {"question": "Is this character primarily known from Japanese anime or manga?", "response": "no"}, {"question": "Is this character primarily associated with Looney Tunes or Warner Bros. animated works?", "response": "no"}, {"question": "Is this character primarily associated with television animated series (rather than feature films)?", "response": "yes"}, {"question": "Is this character primarily known for being part of a comedic duo or ensemble cast?", "response": "yes"}, {"question": "Is this character primarily associated with a sitcom animated series originally aired on Fox (such as The Simpsons, Family Guy, or American Dad)?", "response": "no"}, {"question": "Is this character primarily associated with Hanna-Barbera animated series?", "response": "no"}, {"question": "Is this character primarily associated with Nickelodeon animated series?", "response": "no"}, {"question": "Is this character primarily associated with Cartoon Network animated series?", "response": "no"}, {"question": "Is this character primarily associated with PBS animated series?", "response": "no"}, {"question": "Is this character primarily associated with a DreamWorks animated television series?", "response": "no"}, {"question": "Is this character primarily associated with a Canadian animated series?", "response": "no"}, {"question": "Is this character primarily associated with \"Tom and Jerry\"?", "response": "no"}, {"question": "Is this character primarily associated with \"Garfield\"?", "response": "no"}, {"question": "Is this character primarily associated with the animated series \"SpongeBob SquarePants\"?", "response": "no"}, {"question": "Is it Scooby-Doo?", "response": "no"}]}
|
||||
{"index": 80, "id": "29e3f124-69db-4e26-a5cd-703228b6926b", "answer": "Triangle", "category": "instrument", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 10, "interactions": [{"question": "Is it primarily a string instrument?", "response": "no"}, {"question": "Is it primarily a percussion instrument?", "response": "yes"}, {"question": "Is it typically played with drumsticks or mallets?", "response": "no"}, {"question": "Is it typically played by striking parts of your own body?", "response": "no"}, {"question": "Is it an idiophone (an instrument that produces sound primarily by vibrating without strings, membranes, or external resonators)?", "response": "yes"}, {"question": "Is it a hand percussion instrument (played primarily by hand rather than with beater, stick, or mallet)?", "response": "no"}, {"question": "Is it typically made of metal?", "response": "yes"}, {"question": "Is it commonly used in orchestras?", "response": "yes"}, {"question": "Is it a type of cymbal?", "response": "no"}, {"question": "Is it a triangle?", "response": "yes"}]}
|
||||
{"index": 34, "id": "d3a91a5b-d117-42e7-936c-f9cfae7a2676", "answer": "Snake", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 7, "interactions": [{"question": "Is it a mammal?", "response": "no"}, {"question": "Is it a bird?", "response": "no"}, {"question": "Is it a reptile?", "response": "yes"}, {"question": "Is it primarily found in water?", "response": "no"}, {"question": "Is it known for having a shell or armor-like body covering?", "response": "no"}, {"question": "Is it commonly known for being venomous?", "response": "yes"}, {"question": "Is it a snake?", "response": "yes"}]}
|
||||
{"index": 7, "id": "eab67a75-bcb8-44de-85e0-3c0801f1964b", "answer": "Chicken", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 14, "interactions": [{"question": "Is it a mammal?", "response": "no"}, {"question": "Is it a bird?", "response": "yes"}, {"question": "Is it capable of flight?", "response": "yes"}, {"question": "Is it commonly kept as a pet?", "response": "no"}, {"question": "Is it larger than a crow?", "response": "yes"}, {"question": "Is it commonly found near bodies of water?", "response": "no"}, {"question": "Is it a bird of prey?", "response": "no"}, {"question": "Is it known for its bright or colorful plumage?", "response": "no"}, {"question": "Is it commonly seen in urban environments?", "response": "no"}, {"question": "Is it a type of waterfowl (such as duck, goose, or swan)?", "response": "no"}, {"question": "Is it primarily active at night (nocturnal)?", "response": "no"}, {"question": "Is it commonly associated with farmland or agricultural environments?", "response": "yes"}, {"question": "Is it commonly raised for its eggs or meat?", "response": "yes"}, {"question": "Is it a chicken?", "response": "yes"}]}
|
||||
{"index": 110, "id": "bffc0587-55e9-4999-ace9-7d8d903d28f8", "answer": "Glue", "category": "stationery", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 6, "interactions": [{"question": "Is it primarily used for writing?", "response": "no"}, {"question": "Is it primarily used for cutting?", "response": "no"}, {"question": "Is it primarily used to attach or bind items together?", "response": "yes"}, {"question": "Is it primarily used to fasten papers together temporarily rather than permanently?", "response": "no"}, {"question": "Is it primarily used to permanently attach paper to another surface (such as with adhesive)?", "response": "yes"}, {"question": "Is it a type of glue?", "response": "yes"}]}
|
||||
{"index": 91, "id": "0547ab13-bcea-4ea0-8786-393334548c44", "answer": "Lotus", "category": "flower", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is it commonly grown for its fragrance?", "response": "no"}, {"question": "Is it typically given as a gift on romantic occasions like Valentine's Day or anniversaries?", "response": "no"}, {"question": "Is it most commonly found growing in gardens rather than in the wild?", "response": "no"}, {"question": "Is it commonly found growing in the wild in temperate regions?", "response": "no"}, {"question": "Is it commonly associated with tropical or subtropical regions?", "response": "yes"}, {"question": "Is it commonly cultivated for its edible parts or used as a food source?", "response": "yes"}, {"question": "Is it a flower that is part of the banana or pineapple plant?", "response": "no"}, {"question": "Is it commonly associated with water or aquatic environments?", "response": "yes"}, {"question": "Is it the flower of a plant commonly cultivated for its starchy tubers or roots?", "response": "yes"}, {"question": "Is it the flower of the taro plant?", "response": "no"}, {"question": "Is it the flower of the lotus plant?", "response": "yes"}]}
|
||||
{"index": 83, "id": "61cb900f-ba17-4099-a3e5-2b6516e1c24b", "answer": "Tulip", "category": "flower", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 13, "interactions": [{"question": "Is it commonly used as a cut flower in floral arrangements?", "response": "yes"}, {"question": "Is it typically known for having a strong, noticeable fragrance?", "response": "no"}, {"question": "Is it typically associated with large, vibrant blooms (over 3 inches in diameter)?", "response": "yes"}, {"question": "Is it most commonly associated with the color yellow?", "response": "no"}, {"question": "Is it most commonly found in shades of pink or red?", "response": "no"}, {"question": "Is it frequently seen in white or cream colors?", "response": "yes"}, {"question": "Is it commonly used in bridal bouquets or wedding arrangements?", "response": "yes"}, {"question": "Is it typically recognized as a bulb flower (growing from a bulb)?", "response": "yes"}, {"question": "Is it primarily known for blooming in spring rather than summer or fall?", "response": "yes"}, {"question": "Is it traditionally associated with the Easter holiday?", "response": "no"}, {"question": "Is it a lily?", "response": "no"}, {"question": "Is it an amaryllis?", "response": "no"}, {"question": "Is it a tulip?", "response": "yes"}]}
|
||||
{"index": 176, "id": "933a22d7-8896-4196-85ce-182918381034", "answer": "William Shakespeare", "category": "celebrity", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is this celebrity primarily known for their work in the entertainment industry (such as film, television, or music)?", "response": "yes"}, {"question": "Is this celebrity primarily known for their work in music?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in film (such as acting, directing, or producing movies)?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in television?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in sports?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in politics or government?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in business, entrepreneurship, or as a public figure outside of entertainment, sports, and politics?", "response": "no"}, {"question": "Is this celebrity primarily known for their work as a social media influencer or online personality?", "response": "no"}, {"question": "Is this celebrity primarily known for their work as an author or writer?", "response": "yes"}, {"question": "Is this author primarily known for writing fiction?", "response": "yes"}, {"question": "Is this author primarily known for writing books for children or young adults?", "response": "no"}, {"question": "Is this author best known for writing mystery, thriller, or crime novels?", "response": "no"}, {"question": "Is this author primarily known for writing science fiction or fantasy novels?", "response": "no"}, {"question": "Is this author primarily known for writing literary fiction?", "response": "no"}, {"question": "Is this author primarily known for writing horror novels?", "response": "no"}, {"question": "Is this author primarily known for writing romance novels?", "response": "no"}, {"question": "Is this author primarily known for historical fiction?", "response": "no"}, {"question": "Is this author primarily known for their work in short stories rather than novels?", "response": "no"}, {"question": "Is it Agatha Christie?", "response": "no"}, {"question": "Is it Stephen King?", "response": "no"}]}
|
||||
{"index": 181, "id": "3cabea13-8318-473d-9f02-bba1e4a12a04", "answer": "Nelson Mandela", "category": "celebrity", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 15, "interactions": [{"question": "Is this person primarily known for their work in the entertainment industry (e.g., film, music, television)?", "response": "no"}, {"question": "Is this person primarily known for their involvement in politics or government?", "response": "yes"}, {"question": "Is this person primarily known for being a head of state or government (e.g., president, prime minister, monarch)?", "response": "no"}, {"question": "Is this person primarily known for their involvement in law enforcement, military, or intelligence services?", "response": "no"}, {"question": "Is this person primarily known for their work as a judge or in the judiciary?", "response": "no"}, {"question": "Is this person primarily known for their legislative work (e.g., as a senator, representative, member of parliament, or similar)?", "response": "no"}, {"question": "Is this person primarily known for their work in diplomacy or as an ambassador?", "response": "no"}, {"question": "Is this person primarily known for their work in a royal family or as a member of royalty (but not as the monarch)?", "response": "no"}, {"question": "Is this person primarily known for their work as a political advisor, strategist, or staff member to government officials?", "response": "no"}, {"question": "Is this person primarily known for their involvement in activism or social movements?", "response": "yes"}, {"question": "Is this person primarily known for advancing civil rights related to race or ethnicity?", "response": "yes"}, {"question": "Is this person primarily known for their activism in the United States?", "response": "no"}, {"question": "Is this person primarily known for their activism in South Africa?", "response": "yes"}, {"question": "Is this person female?", "response": "no"}, {"question": "Is it Nelson Mandela?", "response": "yes"}]}
|
||||
{"index": 89, "id": "6130e0d3-5b7e-4c6e-95b4-a7c66361c876", "answer": "Jasmine", "category": "flower", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 13, "interactions": [{"question": "Is this flower commonly given as a romantic gift?", "response": "no"}, {"question": "Is this flower most commonly recognized for its bright, showy colors?", "response": "no"}, {"question": "Is this flower typically associated with funerals or remembrance?", "response": "no"}, {"question": "Is this flower most often found growing wild rather than cultivated in gardens?", "response": "no"}, {"question": "Is this flower most commonly associated with springtime?", "response": "no"}, {"question": "Is this flower most commonly found as a cut flower in floral arrangements?", "response": "no"}, {"question": "Is this flower commonly associated with water or aquatic environments?", "response": "no"}, {"question": "Is this flower typically known for having a strong fragrance?", "response": "yes"}, {"question": "Is this flower white in color in its most familiar form?", "response": "yes"}, {"question": "Is this flower known for being used in perfumes or scented products?", "response": "yes"}, {"question": "Is this flower native to tropical or subtropical regions?", "response": "yes"}, {"question": "Is this flower typically known for its use in making jasmine tea?", "response": "yes"}, {"question": "Is it jasmine?", "response": "yes"}]}
|
||||
{"index": 8, "id": "012e62c6-fdf9-45df-83b0-29f40779d581", "answer": "Duck", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 8, "interactions": [{"question": "Is it a mammal?", "response": "no"}, {"question": "Is it a bird?", "response": "yes"}, {"question": "Is it capable of flight?", "response": "yes"}, {"question": "Is it commonly found in North America?", "response": "yes"}, {"question": "Is it primarily associated with urban or suburban environments?", "response": "no"}, {"question": "Is it a bird of prey (raptor)?", "response": "no"}, {"question": "Is it a water-associated bird (commonly found near lakes, rivers, or wetlands)?", "response": "yes"}, {"question": "Is it a duck?", "response": "yes"}]}
|
||||
{"index": 13, "id": "75422056-dda9-4018-a129-770eb2c608d8", "answer": "Dolphin", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 14, "interactions": [{"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it domesticated by humans?", "response": "no"}, {"question": "Is it larger than a human?", "response": "n/a"}, {"question": "Does it primarily live on land?", "response": "no"}, {"question": "Is it a marine animal?", "response": "yes"}, {"question": "Is it a type of mammal that has flippers or fins?", "response": "yes"}, {"question": "Is it a whale?", "response": "yes"}, {"question": "Is it a blue whale?", "response": "no"}, {"question": "Is it an orca?", "response": "no"}, {"question": "Is it a sperm whale?", "response": "no"}, {"question": "Is it a humpback whale?", "response": "no"}, {"question": "Is it a gray whale?", "response": "no"}, {"question": "Is it a baleen whale?", "response": "no"}, {"question": "Is it a dolphin?", "response": "yes"}]}
|
||||
{"index": 59, "id": "8e7b8cc1-58ef-46db-9b17-18417cec06b6", "answer": "Hermione Granger", "category": "character", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 12, "interactions": [{"question": "Is this character primarily known from a work of fiction?", "response": "yes"}, {"question": "Is this character human?", "response": "yes"}, {"question": "Is this character primarily known from a film or television series?", "response": "no"}, {"question": "Is this character primarily known from a literary work (such as a novel, short story, or poem)?", "response": "yes"}, {"question": "Is this character's literary work primarily aimed at children?", "response": "yes"}, {"question": "Is this character an animal, rather than a human child or adult?", "response": "no"}, {"question": "Is this character originally from a book written before 1950?", "response": "no"}, {"question": "Is this character primarily known from a book series rather than a standalone book?", "response": "yes"}, {"question": "Is this character a girl?", "response": "yes"}, {"question": "Is this character known for possessing magical or supernatural abilities?", "response": "yes"}, {"question": "Is this character originally from the Harry Potter series?", "response": "yes"}, {"question": "Is it Hermione Granger?", "response": "yes"}]}
|
||||
{"index": 171, "id": "0903ad69-46b4-44d5-8e46-ca3bdc387144", "answer": "Nikola Tesla", "category": "celebrity", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is this celebrity primarily known for their work in movies?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in music?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in sports?", "response": "no"}, {"question": "Is this celebrity primarily known for their work on television?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in politics or government?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in business or technology?", "response": "yes"}, {"question": "Is this celebrity primarily known for founding a major technology company?", "response": "no"}, {"question": "Is this celebrity primarily known for their role as an executive or CEO (not founder) at a major company?", "response": "no"}, {"question": "Is this celebrity primarily known for their work as an investor or venture capitalist?", "response": "no"}, {"question": "Is this celebrity primarily known for their work as an author or public speaker in the business/technology field?", "response": "no"}, {"question": "Is this celebrity primarily known for their work as a journalist or in the media industry (excluding television acting/hosting)?", "response": "no"}, {"question": "Is this celebrity primarily known for their work as an inventor or for creating a specific product or technology (not as founder or executive)?", "response": "yes"}, {"question": "Is this celebrity primarily known for inventing something related to computing, the internet, or software?", "response": "no"}, {"question": "Is this celebrity primarily known for inventing something related to physics, engineering, or physical devices (excluding computing/electronics)?", "response": "yes"}, {"question": "Is this celebrity primarily known for inventing something related to transportation or vehicles?", "response": "no"}, {"question": "Is this celebrity primarily known for inventing something related to household or everyday items?", "response": "no"}, {"question": "Is this celebrity primarily known for inventing something related to medical technology or healthcare devices?", "response": "no"}, {"question": "Is the invention primarily related to energy generation, storage, or power transmission?", "response": "n/a"}, {"question": "Is the inventor best known for a breakthrough related to aviation or flight?", "response": "no"}, {"question": "Is it Nikola Tesla?", "response": "yes"}]}
|
||||
{"index": 131, "id": "2dfd294c-2229-4293-ac5a-b3777f9b381d", "answer": "Speaker", "category": "electronics", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is it primarily used for communication?", "response": "no"}, {"question": "Is it primarily used for entertainment?", "response": "yes"}, {"question": "Is it a device primarily designed for video display or playback?", "response": "no"}, {"question": "Is it primarily used for audio playback or listening?", "response": "yes"}, {"question": "Is it a portable device?", "response": "no"}, {"question": "Is it typically a standalone unit (not requiring separate speakers or other main components to function)?", "response": "no"}, {"question": "Is it an audio receiver or amplifier?", "response": "no"}, {"question": "Is it a turntable?", "response": "no"}, {"question": "Is it a CD player?", "response": "no"}, {"question": "Is it a cassette deck?", "response": "no"}, {"question": "Is it a speaker?", "response": "yes"}]}
|
||||
{"index": 17, "id": "b2e29745-f14f-4a79-a839-be746ceaa67d", "answer": "Wolf", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 16, "interactions": [{"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it larger than a human?", "response": "no"}, {"question": "Is it commonly kept as a pet?", "response": "no"}, {"question": "Is it primarily active at night (nocturnal)?", "response": "no"}, {"question": "Is it commonly found in the wild in North America?", "response": "yes"}, {"question": "Is it capable of flight?", "response": "no"}, {"question": "Does it primarily live on the ground (terrestrial) rather than in trees or water?", "response": "yes"}, {"question": "Is it an herbivore?", "response": "no"}, {"question": "Is it a carnivore?", "response": "yes"}, {"question": "Is it commonly associated with burrowing or living in underground dens?", "response": "no"}, {"question": "Is it commonly known for hunting or preying on other mammals?", "response": "yes"}, {"question": "Is it a member of the canine family (Canidae)?", "response": "yes"}, {"question": "Is it commonly known for having a bushy tail?", "response": "yes"}, {"question": "Is it commonly reddish or orange in color?", "response": "no"}, {"question": "Is it primarily gray in color?", "response": "yes"}, {"question": "Is it a gray wolf?", "response": "yes"}]}
|
||||
{"index": 72, "id": "6b80e7ae-b617-4cd4-83ef-e117259ae348", "answer": "Drums", "category": "instrument", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it primarily used to produce music by being struck, plucked, or bowed (as opposed to using electronic means)?", "response": "yes"}, {"question": "Is it classified as a string instrument?", "response": "no"}, {"question": "Is it classified as a percussion instrument?", "response": "yes"}, {"question": "Is it commonly used in orchestras or concert bands?", "response": "yes"}, {"question": "Is it an instrument that usually produces definite pitched notes (as opposed to indefinite-pitch percussion like snare drum or cymbals)?", "response": "no"}, {"question": "Is it primarily made of metal?", "response": "no"}, {"question": "Is it typically played with drumsticks or mallets?", "response": "yes"}, {"question": "Is it most commonly used as part of a drum set?", "response": "no"}, {"question": "Is it primarily a membrane instrument (like a drum) rather than a solid idiophone (like woodblock or triangle)?", "response": "yes"}, {"question": "Is it typically cylindrical in shape and played with two drumheads, such as a snare drum or bass drum?", "response": "no"}, {"question": "Is it usually played by being struck on the side with a stick, producing a hollow sound (such as with a tambourine or bongo)?", "response": "no"}, {"question": "Is it usually held vertically and played with a single hand, like a tambourine?", "response": "no"}, {"question": "Is it usually played as a single large drum (such as a bass drum) rather than in pairs or sets?", "response": "no"}, {"question": "Is it the timpani?", "response": "no"}, {"question": "Is it the bass drum?", "response": "no"}, {"question": "Is it the snare drum?", "response": "no"}, {"question": "Is it the tom-tom?", "response": "no"}, {"question": "Is it the bongos?", "response": "no"}, {"question": "Is it the conga?", "response": "no"}, {"question": "Is it the tambourine?", "response": "no"}]}
|
||||
{"index": 175, "id": "ccc14536-a025-4d70-8a6a-b0222a73e209", "answer": "Pablo Picasso", "category": "celebrity", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is this celebrity primarily known for work in the entertainment industry (such as acting, music, or television)?", "response": "no"}, {"question": "Is this celebrity primarily known for achievements in sports?", "response": "no"}, {"question": "Is this celebrity primarily known for work in politics or government?", "response": "no"}, {"question": "Is this celebrity primarily known for achievements in business or technology?", "response": "no"}, {"question": "Is this celebrity primarily known for achievements in science or academia?", "response": "no"}, {"question": "Is this celebrity primarily known for achievements in social media or internet culture?", "response": "no"}, {"question": "Is this celebrity primarily known for work in the fashion or modeling industry?", "response": "no"}, {"question": "Is this celebrity primarily known for religious leadership or influence?", "response": "no"}, {"question": "Is this celebrity primarily known for involvement in the legal or judicial field?", "response": "no"}, {"question": "Is this celebrity primarily known for their involvement in the royal or aristocratic family?", "response": "no"}, {"question": "Is this celebrity primarily known for criminal activity or being a famous criminal?", "response": "no"}, {"question": "Is this celebrity primarily known for humanitarian or charity work?", "response": "no"}, {"question": "Is this celebrity primarily known for achievements in the culinary or food industry?", "response": "no"}, {"question": "Is this celebrity primarily known for achievements in literature or as an author?", "response": "no"}, {"question": "Is this celebrity primarily known for achievements in medicine or healthcare?", "response": "no"}, {"question": "Is this celebrity primarily known for being a historical figure?", "response": "no"}, {"question": "Is this celebrity primarily known for being a prominent activist or advocate for a specific cause?", "response": "no"}, {"question": "Is this celebrity primarily known for being a television personality or host?", "response": "no"}, {"question": "Is this celebrity primarily known for being a fictional character?", "response": "no"}, {"question": "Is it Oprah Winfrey?", "response": "no"}]}
|
||||
{"index": 134, "id": "4b51db44-0cea-4a26-b13e-ff2ce76c0faa", "answer": "Printer", "category": "electronics", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 10, "interactions": [{"question": "Is it primarily used for communication?", "response": "no"}, {"question": "Is it primarily used for entertainment?", "response": "no"}, {"question": "Is it primarily used in the kitchen?", "response": "no"}, {"question": "Is it primarily used for work or productivity purposes?", "response": "yes"}, {"question": "Is it commonly used in an office environment?", "response": "yes"}, {"question": "Is it a device primarily used for inputting information into a computer?", "response": "no"}, {"question": "Is it primarily a display or screen device?", "response": "no"}, {"question": "Is it a device primarily used for outputting information from a computer (like a printer or speaker)?", "response": "yes"}, {"question": "Is it primarily used to produce physical copies of digital documents?", "response": "yes"}, {"question": "Is it a printer?", "response": "yes"}]}
|
||||
{"index": 167, "id": "17ead407-a5af-412f-af18-4351a6f80d0c", "answer": "Mattress", "category": "furniture", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it primarily used for sitting?", "response": "no"}, {"question": "Is it primarily used for sleeping?", "response": "yes"}, {"question": "Is it typically found in a bedroom?", "response": "yes"}, {"question": "Is it large enough for more than one person to sleep on?", "response": "yes"}, {"question": "Can it be folded or converted into a different piece of furniture?", "response": "yes"}, {"question": "Is it commonly used as a guest bed or for occasional sleeping?", "response": "yes"}, {"question": "Is it a futon?", "response": "no"}, {"question": "Is it a sofa bed?", "response": "no"}, {"question": "Is it commonly stored under or folds out from another piece of furniture?", "response": "no"}, {"question": "Is it designed to be stored away or collapsed to save space when not in use?", "response": "no"}, {"question": "Is it a bunk bed?", "response": "no"}, {"question": "Is it a daybed?", "response": "no"}, {"question": "Is it a Murphy bed?", "response": "no"}, {"question": "Is it an air mattress?", "response": "no"}, {"question": "Is it a canopy bed?", "response": "no"}, {"question": "Is it a trundle bed?", "response": "no"}, {"question": "Is it a rollaway bed?", "response": "no"}, {"question": "Is it a waterbed?", "response": "no"}, {"question": "Is it a king bed?", "response": "no"}, {"question": "Is it a queen bed?", "response": "no"}]}
|
||||
{"index": 183, "id": "a705e0ea-80d7-401a-b726-5fe7b9a1408f", "answer": "Napoleon Bonaparte", "category": "celebrity", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 12, "interactions": [{"question": "Is this celebrity primarily known for work in the entertainment industry (film, television, music, etc.)?", "response": "no"}, {"question": "Is this celebrity primarily known for work in politics or government?", "response": "yes"}, {"question": "Is this celebrity primarily known for serving as the head of a country (such as a president, prime minister, monarch, etc.)?", "response": "yes"}, {"question": "Is this celebrity still alive?", "response": "no"}, {"question": "Was this person primarily known as the head of the United States?", "response": "no"}, {"question": "Was this person primarily the head of a European country?", "response": "yes"}, {"question": "Was this person primarily known as a monarch (king, queen, emperor, etc.)?", "response": "yes"}, {"question": "Was this monarch primarily known for ruling the United Kingdom?", "response": "no"}, {"question": "Was this monarch primarily known for ruling France?", "response": "yes"}, {"question": "Did this monarch rule France before the French Revolution of 1789?", "response": "no"}, {"question": "Did this monarch rule France during the 19th century?", "response": "yes"}, {"question": "Was this monarch Napoleon?", "response": "yes"}]}
|
||||
{"index": 63, "id": "88da11f7-54e1-422d-8e16-a11e73fb0e2b", "answer": "Guitar", "category": "instrument", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 16, "interactions": [{"question": "Is it primarily a musical instrument?", "response": "yes"}, {"question": "Is it typically played by blowing air into it?", "response": "no"}, {"question": "Is it typically played by striking it?", "response": "no"}, {"question": "Is it typically played by plucking or strumming strings?", "response": "yes"}, {"question": "Is it typically held and played on the lap?", "response": "no"}, {"question": "Is it typically played while held upright against the body?", "response": "yes"}, {"question": "Is it typically played with a bow?", "response": "no"}, {"question": "Is it an electric instrument?", "response": "no"}, {"question": "Is it typically associated with traditional acoustic folk music?", "response": "yes"}, {"question": "Is it most commonly associated with American folk or country music?", "response": "yes"}, {"question": "Is it most commonly played with fingerpicks?", "response": "no"}, {"question": "Is it primarily played with a flat pick?", "response": "no"}, {"question": "Is it often used in bluegrass music?", "response": "yes"}, {"question": "Is it a banjo?", "response": "no"}, {"question": "Is it a mandolin?", "response": "no"}, {"question": "Is it a guitar?", "response": "yes"}]}
|
||||
{"index": 54, "id": "243e8c60-922f-4f2d-bae4-894bd57a3653", "answer": "Goofy", "category": "character", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is this character primarily known from a live-action medium (such as movies or TV with real actors)?", "response": "no"}, {"question": "Is this character primarily known from an animated medium?", "response": "yes"}, {"question": "Is this character originally from a Japanese anime?", "response": "no"}, {"question": "Is this character primarily known from Western animated films?", "response": "yes"}, {"question": "Is this character primarily known from a Disney animated film?", "response": "no"}, {"question": "Is this character primarily known from a DreamWorks animated film?", "response": "no"}, {"question": "Is this character primarily known from a Pixar animated film?", "response": "no"}, {"question": "Is this character primarily known from an animated TV series?", "response": "no"}, {"question": "Is this character primarily known from a non-Disney, non-Pixar, non-DreamWorks Western animated film produced before 2000?", "response": "no"}, {"question": "Is this character primarily known from an Illumination Entertainment animated film?", "response": "no"}, {"question": "Is this character primarily known from a Blue Sky Studios animated film?", "response": "no"}, {"question": "Is this character primarily known from a Sony Pictures Animation film?", "response": "no"}, {"question": "Is this character primarily known from a 20th Century Fox (now 20th Century Studios) animated film?", "response": "no"}, {"question": "Is this character primarily known from a Universal Pictures animated film?", "response": "no"}, {"question": "Is this character primarily known from a Laika animated film?", "response": "no"}, {"question": "Is this character primarily known from an animated film based on a comic strip or comic book?", "response": "no"}, {"question": "Is this character primarily known from a non-American Western animated film?", "response": "no"}, {"question": "Is this character primarily known from a Warner Bros. animated film?", "response": "no"}, {"question": "Is this character primarily known from a feature-length animated film released by Paramount Pictures or Nickelodeon Movies?", "response": "no"}, {"question": "Is it Shrek?", "response": "no"}]}
|
||||
{"index": 107, "id": "def7a2af-2660-4796-b439-a92c4c72f34a", "answer": "Highlighter", "category": "stationery", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 9, "interactions": [{"question": "Is it primarily used for writing or drawing?", "response": "no"}, {"question": "Is it primarily used for organizing or storing other items?", "response": "no"}, {"question": "Is it primarily used for correcting mistakes?", "response": "no"}, {"question": "Is it primarily used to cut something?", "response": "no"}, {"question": "Is it primarily used to attach or fasten things together?", "response": "no"}, {"question": "Is it primarily used to measure or quantify something?", "response": "no"}, {"question": "Is it primarily used for marking or highlighting text?", "response": "yes"}, {"question": "Is it typically used to emphasize important text rather than conceal or obscure it?", "response": "yes"}, {"question": "Is it a highlighter?", "response": "yes"}]}
|
||||
{"index": 50, "id": "399356fa-42aa-413c-a451-1f2084fd783b", "answer": "Buzz Lightyear", "category": "character", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 13, "interactions": [{"question": "Is this character primarily known from fiction?", "response": "yes"}, {"question": "Is this character primarily known from movies or television?", "response": "yes"}, {"question": "Is this character animated?", "response": "yes"}, {"question": "Is this character primarily known for being in children's media?", "response": "yes"}, {"question": "Is this character an animal?", "response": "no"}, {"question": "Is this character human?", "response": "no"}, {"question": "Is this character a supernatural or magical being (e.g., ghost, robot, fairy, monster)?", "response": "no"}, {"question": "Is this character a toy or object brought to life?", "response": "yes"}, {"question": "Is this character from the Toy Story franchise?", "response": "yes"}, {"question": "Is this character the main protagonist of the Toy Story franchise?", "response": "no"}, {"question": "Is this character primarily associated with being a cowboy?", "response": "no"}, {"question": "Is this character primarily known for being a space ranger?", "response": "yes"}, {"question": "Is it Buzz Lightyear?", "response": "yes"}]}
|
||||
{"index": 196, "id": "0e3bdf95-a7fd-4d99-81a6-ec394a20ec86", "answer": "Charles Darwin", "category": "celebrity", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 17, "interactions": [{"question": "Is this celebrity primarily known for their work in film (as an actor, director, or producer)?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in music?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in sports?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in television?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in politics or government?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in business or entrepreneurship?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in literature or writing?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in science or technology?", "response": "yes"}, {"question": "Is this celebrity primarily known for their contributions as an inventor or engineer?", "response": "no"}, {"question": "Is this celebrity primarily known for their scientific research or discoveries?", "response": "yes"}, {"question": "Is this celebrity primarily known for their work in the field of physics?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in the field of biology?", "response": "yes"}, {"question": "Is this celebrity primarily known for work related to genetics or the discovery of DNA?", "response": "no"}, {"question": "Is this celebrity primarily known for their research in medicine or medical science?", "response": "no"}, {"question": "Is this celebrity primarily known for their research in evolution or evolutionary theory?", "response": "yes"}, {"question": "Is this celebrity primarily known for the theory of natural selection?", "response": "yes"}, {"question": "Is it Charles Darwin?", "response": "yes"}]}
|
||||
{"index": 58, "id": "9366b634-ae83-4525-847f-a206576574e9", "answer": "Albus Dumbledore", "category": "character", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 17, "interactions": [{"question": "Is this character primarily known from fiction (such as movies, TV, books, comics, video games, or myth)?", "response": "yes"}, {"question": "Is this character human?", "response": "yes"}, {"question": "Is this character primarily known from movies or television?", "response": "no"}, {"question": "Is this character primarily known from literature (such as novels, plays, or poems)?", "response": "yes"}, {"question": "Is this character's first appearance before the 20th century?", "response": "no"}, {"question": "Is this character primarily known from a novel?", "response": "yes"}, {"question": "Is this character's first appearance after 1950?", "response": "yes"}, {"question": "Is this character primarily known as a protagonist?", "response": "no"}, {"question": "Is this character primarily known from a novel that has been adapted into a major film or television production?", "response": "yes"}, {"question": "Is this character primarily known as a villain or antagonist?", "response": "no"}, {"question": "Is this character primarily known from a series of novels rather than a standalone book?", "response": "yes"}, {"question": "Is this character primarily known from children's or young adult literature?", "response": "yes"}, {"question": "Is this character primarily known from the \"Harry Potter\" series?", "response": "yes"}, {"question": "Is this character a student at Hogwarts?", "response": "no"}, {"question": "Is this character a Hogwarts staff member (such as a professor, headmaster, or caretaker)?", "response": "yes"}, {"question": "Is this character the headmaster of Hogwarts?", "response": "yes"}, {"question": "Is it Albus Dumbledore?", "response": "yes"}]}
|
||||
{"index": 48, "id": "9cbde6c1-f72a-44c0-be2d-6381b183dd32", "answer": "Aladdin", "category": "character", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is this character primarily known from fiction (such as books, movies, TV shows, comics, or video games)?", "response": "yes"}, {"question": "Is this character human?", "response": "yes"}, {"question": "Is this character primarily known from movies?", "response": "no"}, {"question": "Is this character primarily known from television?", "response": "no"}, {"question": "Is this character primarily known from books?", "response": "yes"}, {"question": "Is this character primarily known from children's or young adult literature?", "response": "no"}, {"question": "Is this character primarily known from a series of novels rather than a standalone book?", "response": "no"}, {"question": "Is this character primarily known from classic literature (published before 1950)?", "response": "yes"}, {"question": "Is this character the protagonist in their novel?", "response": "n/a"}, {"question": "Is this character male?", "response": "yes"}, {"question": "Is this character primarily known from a novel by a British author?", "response": "no"}, {"question": "Is this character primarily known from an American novel?", "response": "no"}, {"question": "Is this character primarily known from a French novel?", "response": "no"}, {"question": "Is this character primarily known from a Russian novel?", "response": "no"}, {"question": "Is this character primarily known from a German novel?", "response": "no"}, {"question": "Is this character primarily known from a novel by an Italian author?", "response": "no"}, {"question": "Is this character primarily known from a Spanish novel?", "response": "no"}, {"question": "Is this character primarily known from a novel by a Scandinavian author?", "response": "no"}, {"question": "Is this character primarily known from a novel by a Japanese author?", "response": "no"}, {"question": "Is it Don Quixote?", "response": "no"}]}
|
||||
{"index": 88, "id": "9e9aff1b-5328-412f-9b7d-a9750317a8bb", "answer": "Violet", "category": "flower", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is this flower commonly given as a romantic gift?", "response": "no"}, {"question": "Is this flower most commonly associated with spring?", "response": "yes"}, {"question": "Is this flower commonly yellow?", "response": "no"}, {"question": "Is this flower most commonly found in gardens rather than in the wild?", "response": "no"}, {"question": "Is this flower typically found growing in woodlands or forests?", "response": "yes"}, {"question": "Is this flower white or predominantly white in color?", "response": "no"}, {"question": "Is this flower known for having a strong, noticeable scent?", "response": "yes"}, {"question": "Is this flower known for having purple or blue petals?", "response": "yes"}, {"question": "Is this flower commonly associated with early spring woodland blooms, such as the violet or bluebell?", "response": "yes"}, {"question": "Is this flower more closely associated with the name \"violet\" than \"bluebell\"?", "response": "yes"}, {"question": "Is it commonly called \"violet\"?", "response": "yes"}]}
|
||||
{"index": 21, "id": "010d3889-960b-463a-9298-f9c8f848d239", "answer": "Rat", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 10, "interactions": [{"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it commonly kept as a pet?", "response": "yes"}, {"question": "Is it known for being able to bark?", "response": "no"}, {"question": "Is it known for being able to purr?", "response": "no"}, {"question": "Is it smaller than a rabbit?", "response": "yes"}, {"question": "Is it a rodent?", "response": "yes"}, {"question": "Is it commonly used in scientific research or laboratories?", "response": "yes"}, {"question": "Is it often found with red or pink eyes due to albinism?", "response": "yes"}, {"question": "Is it a mouse?", "response": "no"}, {"question": "Is it a rat?", "response": "yes"}]}
|
||||
{"index": 57, "id": "f2904baa-be62-41bb-bf9b-278b963a75ca", "answer": "Frodo Baggins", "category": "character", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is this character primarily known from works of fiction?", "response": "yes"}, {"question": "Is this character primarily human?", "response": "no"}, {"question": "Is this character primarily known as an animal?", "response": "n/a"}, {"question": "Is this character primarily known as a supernatural, mythological, or magical being?", "response": "no"}, {"question": "Is this character primarily known as a robot, artificial intelligence, or machine?", "response": "no"}, {"question": "Is this character primarily known for appearing in animated works (such as cartoons or animated films)?", "response": "no"}, {"question": "Is this character primarily known from live-action works (such as movies or TV shows with real actors)?", "response": "no"}, {"question": "Is this character primarily known from video games?", "response": "no"}, {"question": "Is this character primarily known from literature (such as books or comics)?", "response": "yes"}, {"question": "Is this character primarily known from comic books or graphic novels?", "response": "no"}, {"question": "Is this character primarily known from children's or young adult literature?", "response": "no"}, {"question": "Is this character primarily known from classic literature (published before 1900)?", "response": "no"}, {"question": "Is this character primarily known from literary works published after 2000?", "response": "no"}, {"question": "Is this character primarily known from science fiction literature?", "response": "no"}, {"question": "Is this character primarily known from mystery or crime literature?", "response": "no"}, {"question": "Is this character primarily known from horror literature?", "response": "no"}, {"question": "Is this character primarily known from fantasy literature?", "response": "yes"}, {"question": "Is this character primarily known from the \"Harry Potter\" series?", "response": "no"}, {"question": "Is this character primarily known from \"The Lord of the Rings\" series?", "response": "yes"}, {"question": "Is it Gollum?", "response": "no"}]}
|
||||
{"index": 160, "id": "7a46957f-cf37-418e-a9e9-e74913cb4317", "answer": "Stool", "category": "furniture", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 13, "interactions": [{"question": "Is it primarily used for sitting?", "response": "yes"}, {"question": "Does it typically have a backrest?", "response": "no"}, {"question": "Is it designed to be used by more than one person at a time?", "response": "no"}, {"question": "Is it typically found at a dining table?", "response": "no"}, {"question": "Is it small enough to be easily picked up and moved with one hand?", "response": "n/a"}, {"question": "Is it commonly used as a footrest?", "response": "no"}, {"question": "Is it commonly found in living rooms?", "response": "no"}, {"question": "Is it commonly found outdoors?", "response": "no"}, {"question": "Is it typically found in an office or workspace?", "response": "yes"}, {"question": "Is it typically height-adjustable?", "response": "no"}, {"question": "Does it typically have four legs?", "response": "no"}, {"question": "Does it have wheels?", "response": "no"}, {"question": "Is it a stool?", "response": "yes"}]}
|
||||
{"index": 192, "id": "ce76741b-2a5f-400d-a44a-e2e7bfafd869", "answer": "Muhammad Ali", "category": "celebrity", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is this celebrity primarily known for acting in movies or television?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in music?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in sports?", "response": "yes"}, {"question": "Is this celebrity primarily known for playing a team sport?", "response": "no"}, {"question": "Is this celebrity primarily known for participating in an individual sport performed indoors?", "response": "yes"}, {"question": "Is this celebrity primarily known for their achievements in tennis?", "response": "no"}, {"question": "Is this celebrity primarily known for their achievements in boxing?", "response": "yes"}, {"question": "Is this celebrity primarily known for being a heavyweight boxing champion?", "response": "yes"}, {"question": "Is this celebrity still alive?", "response": "no"}, {"question": "Is this celebrity primarily known for their boxing career in the 20th century?", "response": "yes"}, {"question": "Is it Muhammad Ali?", "response": "yes"}]}
|
||||
{"index": 129, "id": "362c0004-ed10-40d9-99b5-d75f4eebfeea", "answer": "Headphones", "category": "electronics", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 10, "interactions": [{"question": "Is it primarily used for personal communication?", "response": "no"}, {"question": "Is it primarily used for entertainment purposes?", "response": "yes"}, {"question": "Is it a device primarily used for displaying visual media?", "response": "no"}, {"question": "Is it a device primarily used for listening to audio?", "response": "yes"}, {"question": "Is it a portable device?", "response": "yes"}, {"question": "Does it have built-in speakers?", "response": "yes"}, {"question": "Is it primarily used to play recorded music?", "response": "yes"}, {"question": "Is it primarily designed to be worn on the ears?", "response": "yes"}, {"question": "Is it wireless?", "response": "n/a"}, {"question": "Is it headphones?", "response": "yes"}]}
|
||||
{"index": 37, "id": "827153eb-38f1-4325-8524-da1665df1756", "answer": "Superman", "category": "character", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 16, "interactions": [{"question": "Is this character fictional?", "response": "yes"}, {"question": "Is this character human?", "response": "no"}, {"question": "Is this character an animal?", "response": "no"}, {"question": "Is this character from a movie or television show?", "response": "no"}, {"question": "Is this character from a book, comic, or graphic novel?", "response": "yes"}, {"question": "Is this character from a comic?", "response": "yes"}, {"question": "Is this character originally from a superhero comic?", "response": "yes"}, {"question": "Is this character primarily associated with Marvel Comics?", "response": "no"}, {"question": "Is this character primarily associated with DC Comics?", "response": "yes"}, {"question": "Is this character a villain?", "response": "no"}, {"question": "Is this character a member of the Justice League?", "response": "yes"}, {"question": "Is this character female?", "response": "no"}, {"question": "Is this character associated with the color green?", "response": "no"}, {"question": "Is this character able to fly under their own power?", "response": "yes"}, {"question": "Is this character from the planet Krypton?", "response": "yes"}, {"question": "Is it Superman?", "response": "yes"}]}
|
||||
{"index": 157, "id": "6840122b-5249-45cc-a760-42b80f3469a6", "answer": "Bookshelf", "category": "furniture", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 8, "interactions": [{"question": "Is it primarily used for sitting?", "response": "no"}, {"question": "Is it primarily used for sleeping?", "response": "no"}, {"question": "Is it primarily used for storing or holding items?", "response": "yes"}, {"question": "Is it primarily found in a kitchen or dining area?", "response": "no"}, {"question": "Is it typically found in a bedroom?", "response": "yes"}, {"question": "Is it primarily used for storing clothes?", "response": "no"}, {"question": "Is it primarily used for storing books?", "response": "yes"}, {"question": "Is it a bookshelf?", "response": "yes"}]}
|
||||
{"index": 193, "id": "c1ed4041-8188-486e-8795-e906f72f8035", "answer": "Alfred Hitchcock", "category": "celebrity", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is this celebrity primarily known for their work as an actor?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in music?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in sports?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in politics or government?", "response": "no"}, {"question": "Is this celebrity primarily known for their work on television (such as as a TV host, news anchor, or reality show personality)?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in business or entrepreneurship?", "response": "no"}, {"question": "Is this celebrity primarily known for their work as a writer or author?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in science or technology?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in fashion or modeling?", "response": "no"}, {"question": "Is this celebrity primarily known for their work as a comedian?", "response": "no"}, {"question": "Is this celebrity primarily known for their work as a social media personality or influencer?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in the culinary/food industry (such as a chef or food personality)?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in the field of royalty or as a member of a royal family?", "response": "no"}, {"question": "Is this celebrity primarily known for their work as an activist or in philanthropy?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in religion or as a religious leader?", "response": "no"}, {"question": "Is this celebrity primarily known for their work as a visual artist (such as a painter, sculptor, or photographer)?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in the field of law or as a lawyer/judge?", "response": "no"}, {"question": "Is this celebrity primarily known for their work as an astronaut or in space exploration?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in the field of crime or as a criminal?", "response": "no"}, {"question": "Is it Oprah Winfrey?", "response": "no"}]}
|
||||
{"index": 1, "id": "7c870118-cdaa-4200-af66-e43d6c14d911", "answer": "Cat", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 8, "interactions": [{"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it domesticated?", "response": "yes"}, {"question": "Is it commonly kept as a pet?", "response": "yes"}, {"question": "Is it commonly kept in an aquarium?", "response": "no"}, {"question": "Is it larger than a breadbox?", "response": "yes"}, {"question": "Is it primarily associated with being a companion animal rather than a working or service animal?", "response": "yes"}, {"question": "Is it a dog?", "response": "no"}, {"question": "Is it a cat?", "response": "yes"}]}
|
||||
{"index": 52, "id": "528aaa66-833e-4820-931a-b63268159121", "answer": "Winnie the Pooh", "category": "character", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is this character primarily known from live-action media rather than animation?", "response": "no"}, {"question": "Is this character primarily known from a Western (non-Japanese) animation source?", "response": "yes"}, {"question": "Is this character primarily an animal or non-human creature?", "response": "yes"}, {"question": "Is this character primarily associated with children's television shows?", "response": "no"}, {"question": "Is this character from a film or film series rather than a television series?", "response": "no"}, {"question": "Is this character primarily known from an animated series aimed at adults?", "response": "no"}, {"question": "Is this character primarily an animal rather than a fantastical, mythical, or robotic creature?", "response": "yes"}, {"question": "Is this character best known for being a cat or a dog?", "response": "no"}, {"question": "Is this character primarily a bird?", "response": "no"}, {"question": "Is this character primarily known for being a rodent (such as a mouse, rat, or squirrel)?", "response": "no"}, {"question": "Is this character primarily known for being an amphibian?", "response": "no"}, {"question": "Is this character primarily known for being an aquatic animal?", "response": "no"}, {"question": "Is this character primarily known for being a primate (such as a monkey or ape)?", "response": "no"}, {"question": "Is this character primarily known for being a horse or equine?", "response": "no"}, {"question": "Is this character primarily known for being a reptile?", "response": "no"}, {"question": "Is this character primarily an insect?", "response": "no"}, {"question": "Is this character primarily known for being a rabbit or hare?", "response": "no"}, {"question": "Is this character primarily known for being a bear?", "response": "yes"}, {"question": "Is this character primarily known from the Winnie the Pooh franchise?", "response": "yes"}, {"question": "Is it Winnie the Pooh?", "response": "yes"}]}
|
||||
{"index": 149, "id": "34c52069-32e6-4805-be14-27953ae09919", "answer": "Bed", "category": "furniture", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it primarily used for sitting?", "response": "no"}, {"question": "Is it primarily used for sleeping or resting?", "response": "yes"}, {"question": "Is it typically designed to accommodate more than one person at a time?", "response": "no"}, {"question": "Is it typically found in a bedroom?", "response": "yes"}, {"question": "Is it commonly used by children?", "response": "yes"}, {"question": "Is it specifically designed to prevent a child from falling out while sleeping?", "response": "no"}, {"question": "Is it commonly used for infants or toddlers?", "response": "no"}, {"question": "Is it a bunk bed?", "response": "no"}, {"question": "Is it a loft bed?", "response": "no"}, {"question": "Is it a twin bed?", "response": "no"}, {"question": "Is it a daybed?", "response": "no"}, {"question": "Is it a canopy bed?", "response": "no"}, {"question": "Is it a trundle bed?", "response": "no"}, {"question": "Is it a waterbed?", "response": "no"}, {"question": "Is it a folding bed?", "response": "no"}, {"question": "Is it a Murphy bed?", "response": "no"}, {"question": "Is it a cot?", "response": "no"}, {"question": "Is it a toddler bed?", "response": "no"}, {"question": "Is it a canopy?", "response": "no"}, {"question": "Is it a single bed?", "response": "n/a"}]}
|
||||
{"index": 130, "id": "95adb77d-5a3d-43f2-a847-dc053b23eae2", "answer": "Earbuds", "category": "electronics", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 11, "interactions": [{"question": "Is it primarily used for communication purposes?", "response": "no"}, {"question": "Is it primarily used for entertainment?", "response": "yes"}, {"question": "Is it primarily used for viewing visual content?", "response": "no"}, {"question": "Is it primarily used for listening to audio or music?", "response": "yes"}, {"question": "Is it a portable device?", "response": "yes"}, {"question": "Does it have built-in speakers?", "response": "yes"}, {"question": "Can it connect to the internet without additional accessories?", "response": "no"}, {"question": "Is it primarily used for playing music out loud (not just with headphones)?", "response": "no"}, {"question": "Is it designed to be worn on or in the ear?", "response": "yes"}, {"question": "Is it wireless earbuds?", "response": "no"}, {"question": "Is it headphones?", "response": "yes"}]}
|
||||
{"index": 151, "id": "e6b2d1d0-ba12-4d5d-8d0d-46e425c885f3", "answer": "Wardrobe", "category": "furniture", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 7, "interactions": [{"question": "Is it primarily used for sitting?", "response": "no"}, {"question": "Is it primarily used for sleeping?", "response": "no"}, {"question": "Is it primarily used for storing things?", "response": "yes"}, {"question": "Is it typically found in a bedroom?", "response": "yes"}, {"question": "Does it usually have drawers?", "response": "no"}, {"question": "Is it typically used for hanging clothes?", "response": "yes"}, {"question": "Is it a wardrobe?", "response": "yes"}]}
|
||||
{"index": 103, "id": "18377cce-f6e5-4749-92be-b61f1edad73e", "answer": "Pencil", "category": "stationery", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 5, "interactions": [{"question": "Is it primarily used for writing?", "response": "yes"}, {"question": "Is it primarily made of wood?", "response": "yes"}, {"question": "Is it an implement that writes due to a graphite core?", "response": "yes"}, {"question": "Is it typically used for coloring rather than general writing?", "response": "no"}, {"question": "Is it a pencil?", "response": "yes"}]}
|
||||
{"index": 99, "id": "97f7cad9-1e22-457e-a030-ed2ed061651d", "answer": "Daffodil", "category": "flower", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 6, "interactions": [{"question": "Is it commonly found in floral arrangements?", "response": "yes"}, {"question": "Is it typically given as a romantic gift?", "response": "no"}, {"question": "Is it a bulbous plant?", "response": "yes"}, {"question": "Is it typically yellow in color?", "response": "yes"}, {"question": "Is it commonly associated with the spring season?", "response": "yes"}, {"question": "Is it commonly recognized as a daffodil?", "response": "yes"}]}
|
||||
{"index": 116, "id": "f60d659d-79a4-4352-8e58-89a947cf3a01", "answer": "Envelope", "category": "stationery", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 12, "interactions": [{"question": "Is it primarily used for writing?", "response": "no"}, {"question": "Is it primarily used for cutting?", "response": "no"}, {"question": "Is it primarily used for attaching or binding papers together?", "response": "no"}, {"question": "Is it primarily used for measuring?", "response": "no"}, {"question": "Is it primarily used for correcting mistakes?", "response": "no"}, {"question": "Is it primarily used for organizing or sorting documents or items?", "response": "no"}, {"question": "Is it primarily used for holding or containing items (such as a container, tray, or case)?", "response": "yes"}, {"question": "Is it typically made of plastic?", "response": "no"}, {"question": "Is it primarily made of metal?", "response": "no"}, {"question": "Is it primarily made of paper or cardboard?", "response": "yes"}, {"question": "Is it primarily used to hold documents or papers vertically, such as a folder or file?", "response": "no"}, {"question": "Is it an envelope?", "response": "yes"}]}
|
||||
{"index": 87, "id": "f15f82cf-9c7e-4d35-a654-a2ce92ab7802", "answer": "Orchid", "category": "flower", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 15, "interactions": [{"question": "Is it commonly given as a romantic gift?", "response": "yes"}, {"question": "Is it typically red in color?", "response": "no"}, {"question": "Is it most commonly associated with weddings?", "response": "no"}, {"question": "Is it white or mostly white in color?", "response": "no"}, {"question": "Is it pink or mostly pink in color?", "response": "no"}, {"question": "Is it yellow or mostly yellow in color?", "response": "no"}, {"question": "Is it purple or mostly purple in color?", "response": "no"}, {"question": "Is it primarily associated with orange or mostly orange in color?", "response": "no"}, {"question": "Is it primarily blue or mostly blue in color?", "response": "no"}, {"question": "Is it most commonly associated with being a mixed-color or multicolored flower?", "response": "no"}, {"question": "Is it a tulip?", "response": "no"}, {"question": "Is it a rose?", "response": "no"}, {"question": "Is it a lily?", "response": "no"}, {"question": "Is it a carnation?", "response": "no"}, {"question": "Is it an orchid?", "response": "yes"}]}
|
||||
{"index": 74, "id": "50fc60fa-a844-4a9e-9591-e5f97d5b2085", "answer": "Organ", "category": "instrument", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 12, "interactions": [{"question": "Is it primarily a musical instrument?", "response": "yes"}, {"question": "Is it primarily a string instrument?", "response": "no"}, {"question": "Is it primarily a wind instrument?", "response": "yes"}, {"question": "Is it primarily a brass instrument?", "response": "no"}, {"question": "Is it primarily a woodwind instrument?", "response": "no"}, {"question": "Is it an electronic instrument?", "response": "no"}, {"question": "Is it primarily played by striking or hitting it?", "response": "no"}, {"question": "Is it played by blowing air directly into it using your mouth?", "response": "no"}, {"question": "Is it primarily a percussion instrument that produces sound without being struck, such as being shaken, scraped, or rattle-based?", "response": "no"}, {"question": "Is it an instrument operated by using a keyboard?", "response": "yes"}, {"question": "Is it a piano?", "response": "no"}, {"question": "Is it an organ?", "response": "yes"}]}
|
||||
{"index": 121, "id": "ecca00d8-614a-4c61-8709-659085aa3f31", "answer": "Whiteboard", "category": "stationery", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it primarily used for writing?", "response": "yes"}, {"question": "Is it primarily made of wood?", "response": "no"}, {"question": "Is it primarily made of plastic?", "response": "no"}, {"question": "Is it primarily made of metal?", "response": "no"}, {"question": "Is it primarily made of paper?", "response": "no"}, {"question": "Is it primarily used for erasing?", "response": "no"}, {"question": "Is it primarily used for drawing or marking rather than traditional writing?", "response": "yes"}, {"question": "Is it primarily used to highlight or emphasize text?", "response": "no"}, {"question": "Is it primarily used for making corrections on written documents?", "response": "no"}, {"question": "Is it primarily used on whiteboards or chalkboards?", "response": "no"}, {"question": "Is it an ink-based writing instrument?", "response": "no"}, {"question": "Is it primarily made of wax?", "response": "no"}, {"question": "Is it a chalk?", "response": "no"}, {"question": "Is it a pencil?", "response": "no"}, {"question": "Is it a marker?", "response": "no"}, {"question": "Is it a crayon?", "response": "no"}, {"question": "Is it a stylus?", "response": "no"}, {"question": "Is it a fountain pen?", "response": "no"}, {"question": "Is it a stylus pen?", "response": "no"}, {"question": "Is it a ballpoint pen?", "response": "no"}]}
|
||||
{"index": 199, "id": "5afd479d-8753-4085-888c-b46d7e17fc43", "answer": "Taylor Swift", "category": "celebrity", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is the celebrity primarily known for their work in acting?", "response": "no"}, {"question": "Is the celebrity primarily known for their work in music?", "response": "yes"}, {"question": "Is the celebrity primarily known as a solo artist rather than as a member of a group or band?", "response": "yes"}, {"question": "Is the celebrity still actively releasing new music as of 2024?", "response": "yes"}, {"question": "Is the celebrity best known for work in the pop genre?", "response": "yes"}, {"question": "Is the celebrity female?", "response": "yes"}, {"question": "Has this celebrity won a Grammy Award?", "response": "yes"}, {"question": "Has this celebrity ever been a headliner for the Super Bowl halftime show?", "response": "no"}, {"question": "Is the celebrity under 35 years old as of 2024?", "response": "yes"}, {"question": "Is the celebrity primarily known for being American?", "response": "no"}, {"question": "Is the celebrity primarily known for being from the United Kingdom?", "response": "no"}, {"question": "Is the celebrity primarily known for being from Canada?", "response": "no"}, {"question": "Is the celebrity primarily known for being from Australia?", "response": "no"}, {"question": "Is the celebrity primarily known for being from a country in Asia?", "response": "no"}, {"question": "Is the celebrity primarily known for being from a European country?", "response": "no"}, {"question": "Is the celebrity primarily known for being from South America?", "response": "no"}, {"question": "Is the celebrity primarily known for being from Africa?", "response": "no"}, {"question": "Is it Dua Lipa?", "response": "no"}, {"question": "Is it Rosal\u00eda?", "response": "no"}, {"question": "Is it Billie Eilish?", "response": "no"}]}
|
||||
{"index": 20, "id": "15c76548-aa3c-4624-84c2-5676f95408ba", "answer": "Deer", "category": "animal", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it commonly kept as a pet?", "response": "no"}, {"question": "Is it larger than a human?", "response": "n/a"}, {"question": "Is it primarily herbivorous?", "response": "yes"}, {"question": "Is it a wild animal (not typically found on farms or used as livestock)?", "response": "yes"}, {"question": "Is it a large animal (over 100 kg as an adult)?", "response": "no"}, {"question": "Is it primarily found in forests?", "response": "yes"}, {"question": "Is it a rodent?", "response": "no"}, {"question": "Is it a type of primate?", "response": "no"}, {"question": "Is it commonly found in North America?", "response": "yes"}, {"question": "Is it a type of deer?", "response": "no"}, {"question": "Is it a type of squirrel?", "response": "no"}, {"question": "Is it known for climbing trees?", "response": "no"}, {"question": "Is it a type of rabbit or hare?", "response": "no"}, {"question": "Is it a type of bat?", "response": "no"}, {"question": "Is it a type of carnivore?", "response": "no"}, {"question": "Is it a type of shrew?", "response": "no"}, {"question": "Is it a beaver?", "response": "no"}, {"question": "Is it a porcupine?", "response": "no"}, {"question": "Is it a beaver?", "response": "no"}]}
|
||||
{"index": 188, "id": "8d239149-47bb-43f6-94c5-d2220344339d", "answer": "Steve Jobs", "category": "celebrity", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 14, "interactions": [{"question": "Is this celebrity primarily known for their work in film or television?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in music?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in sports?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in politics or government?", "response": "no"}, {"question": "Is this celebrity primarily known for their work as a writer or author?", "response": "no"}, {"question": "Is this celebrity primarily known for their work in business or entrepreneurship?", "response": "yes"}, {"question": "Is this celebrity primarily known for founding a major technology company?", "response": "yes"}, {"question": "Is this celebrity primarily associated with a company founded before 2000?", "response": "yes"}, {"question": "Is this celebrity primarily known for founding Microsoft?", "response": "no"}, {"question": "Is this celebrity primarily known for founding Amazon?", "response": "no"}, {"question": "Is this celebrity primarily known for founding Google?", "response": "no"}, {"question": "Is this celebrity primarily known for founding Facebook?", "response": "no"}, {"question": "Is this celebrity primarily known for founding Apple?", "response": "yes"}, {"question": "Is it Steve Jobs?", "response": "yes"}]}
|
||||
{"index": 71, "id": "f9e42a12-8dce-478e-97f0-e44322389d6f", "answer": "Saxophone", "category": "instrument", "correct": false, "num_tool_calls": 0, "next_question": "", "turn_index": 20, "interactions": [{"question": "Is it primarily a musical instrument?", "response": "yes"}, {"question": "Is it primarily a string instrument?", "response": "no"}, {"question": "Is it primarily a percussion instrument?", "response": "no"}, {"question": "Is it primarily a wind instrument?", "response": "yes"}, {"question": "Is it made of brass and commonly seen in orchestras or marching bands?", "response": "yes"}, {"question": "Does it use valves to change pitch?", "response": "no"}, {"question": "Is it played with a slide mechanism?", "response": "no"}, {"question": "Is it silver-colored in its standard form?", "response": "no"}, {"question": "Is it commonly used in military bands?", "response": "yes"}, {"question": "Is it the French horn?", "response": "no"}, {"question": "Is it the trombone?", "response": "no"}, {"question": "Is it the tuba?", "response": "no"}, {"question": "Is it the trumpet?", "response": "no"}, {"question": "Is it the cornet?", "response": "no"}, {"question": "Is it the bugle?", "response": "no"}, {"question": "Is it the saxhorn?", "response": "no"}, {"question": "Is it the euphonium?", "response": "no"}, {"question": "Is it the sousaphone?", "response": "no"}, {"question": "Is it the mellophone?", "response": "no"}, {"question": "Is it the bugle?", "response": "no"}]}
|
||||
{"index": 106, "id": "d1273d8c-6668-4c70-ad02-a5e30d0650ac", "answer": "Marker", "category": "stationery", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 12, "interactions": [{"question": "Is it primarily used for writing or drawing on paper?", "response": "yes"}, {"question": "Is it primarily used to create marks that can be easily erased or removed?", "response": "no"}, {"question": "Is it a pen?", "response": "no"}, {"question": "Is it primarily used to highlight or emphasize text on paper?", "response": "no"}, {"question": "Is it primarily used to cut paper or other materials?", "response": "no"}, {"question": "Is it primarily used to attach or bind pieces of paper together?", "response": "no"}, {"question": "Is it primarily used for measuring or drawing straight lines on paper?", "response": "no"}, {"question": "Is it a pencil?", "response": "no"}, {"question": "Is it primarily used to correct mistakes made in writing or drawing on paper?", "response": "no"}, {"question": "Is it primarily used to hold or organize paper together, such as a folder or binder?", "response": "no"}, {"question": "Is it primarily used for marking or labeling items, rather than writing long passages?", "response": "yes"}, {"question": "Is it a marker?", "response": "yes"}]}
|
||||
{"index": 14, "id": "43dc0553-5c06-458c-b80d-46703232b8c9", "answer": "Tiger", "category": "animal", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 9, "interactions": [{"question": "Is it a mammal?", "response": "yes"}, {"question": "Is it larger than a domestic cat?", "response": "yes"}, {"question": "Is it commonly kept as a pet?", "response": "no"}, {"question": "Is it a carnivore?", "response": "yes"}, {"question": "Is it a wild animal native to Africa?", "response": "no"}, {"question": "Is it native to North America?", "response": "no"}, {"question": "Is it native to Asia?", "response": "yes"}, {"question": "Is it a big cat (such as tiger, lion, leopard, or snow leopard)?", "response": "yes"}, {"question": "Is it a tiger?", "response": "yes"}]}
|
||||
{"index": 92, "id": "03b75255-8548-4dc7-b1d6-516e6b6900c0", "answer": "Lavender", "category": "flower", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 14, "interactions": [{"question": "Is this flower commonly given as a romantic gift?", "response": "no"}, {"question": "Is this flower commonly grown for its fragrance?", "response": "yes"}, {"question": "Is this flower typically white in color?", "response": "no"}, {"question": "Is this flower frequently yellow in color?", "response": "no"}, {"question": "Is this flower often blue or purple in color?", "response": "yes"}, {"question": "Is this flower commonly associated with springtime blooming?", "response": "no"}, {"question": "Is this flower commonly found in woodland or shaded environments?", "response": "no"}, {"question": "Is this flower commonly found in gardens rather than wild settings?", "response": "yes"}, {"question": "Is this flower typically associated with tropical or warm climates?", "response": "no"}, {"question": "Is this flower characterized by having large, showy, and clustered blooms?", "response": "no"}, {"question": "Is this flower known for its bell-shaped blossoms?", "response": "no"}, {"question": "Is this flower commonly recognized for its spiky or thistle-like appearance?", "response": "yes"}, {"question": "Is this flower commonly known for its use in dried arrangements or potpourri?", "response": "yes"}, {"question": "Is it lavender?", "response": "yes"}]}
|
||||
{"index": 179, "id": "042dc878-a1e4-4fa9-be5a-bc2f191a5f4e", "answer": "Charlie Chaplin", "category": "celebrity", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 12, "interactions": [{"question": "Is this celebrity primarily known for acting?", "response": "yes"}, {"question": "Is this celebrity male?", "response": "yes"}, {"question": "Is this celebrity primarily known for work in movies rather than television?", "response": "yes"}, {"question": "Is this celebrity alive?", "response": "no"}, {"question": "Did this celebrity win an Academy Award (Oscar) for acting?", "response": "no"}, {"question": "Did this celebrity's career peak before 1970?", "response": "yes"}, {"question": "Was this celebrity primarily known for their work in comedy films?", "response": "yes"}, {"question": "Was this celebrity primarily active in the United States?", "response": "yes"}, {"question": "Was this celebrity part of a well-known comedy duo or group?", "response": "no"}, {"question": "Was this celebrity known for performing physical slapstick comedy?", "response": "yes"}, {"question": "Was this celebrity known for starring in silent films?", "response": "yes"}, {"question": "Is it Charlie Chaplin?", "response": "yes"}]}
|
||||
{"index": 102, "id": "06de5877-2c92-440b-b48b-0073cb764049", "answer": "Pen", "category": "stationery", "correct": true, "num_tool_calls": 0, "next_question": "", "turn_index": 4, "interactions": [{"question": "Is it primarily used for writing or drawing?", "response": "yes"}, {"question": "Is it mainly used for writing words (as opposed to drawing pictures)?", "response": "yes"}, {"question": "Is it primarily made to produce ink or graphite marks?", "response": "yes"}, {"question": "Is it primarily a pen?", "response": "yes"}]}
|
||||
+200
-211
File diff suppressed because one or more lines are too long
+200
-17
File diff suppressed because one or more lines are too long
+200
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+200
File diff suppressed because one or more lines are too long
@@ -1,37 +0,0 @@
|
||||
# Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
import asyncio
|
||||
import logging
|
||||
|
||||
from agl_tinker.env import AGLDatasetBuilder
|
||||
from agl_tinker.train import Config
|
||||
from agl_tinker.train import main as training_loop
|
||||
|
||||
from agentlightning import configure_logger
|
||||
|
||||
configure_logger(name="agentlightning")
|
||||
configure_logger(name="agl_tinker", level=logging.INFO)
|
||||
|
||||
|
||||
def main():
|
||||
dataset_builder = AGLDatasetBuilder(
|
||||
train_dataset=[f"Hello {i}" for i in range(30)],
|
||||
batch_size=10,
|
||||
shuffle=True,
|
||||
group_size=4,
|
||||
seed=42,
|
||||
)
|
||||
|
||||
config = Config(
|
||||
learning_rate=1e-4,
|
||||
dataset_builder=dataset_builder,
|
||||
model_name="Qwen/Qwen3-30B-A3B-Instruct-2507",
|
||||
log_path="logs",
|
||||
max_tokens=20,
|
||||
)
|
||||
|
||||
asyncio.run(training_loop(config))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -1,8 +1,13 @@
|
||||
# Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
"""This file includes some basic tests for the integration of Tinker's sampling client
|
||||
with LiteLLM and Agent-lightning.
|
||||
|
||||
It should be included in CI in future if we decided to maintain this example.
|
||||
"""
|
||||
|
||||
import asyncio
|
||||
import logging
|
||||
import time
|
||||
from typing import cast
|
||||
|
||||
import openai
|
||||
@@ -17,6 +22,7 @@ from agentlightning import (
|
||||
AgentOpsTracer,
|
||||
InMemoryLightningStore,
|
||||
LLMProxy,
|
||||
LlmProxyTraceToTriplet,
|
||||
TracerTraceToTriplet,
|
||||
configure_logger,
|
||||
emit_reward,
|
||||
@@ -26,7 +32,7 @@ configure_logger(name="agentlightning")
|
||||
configure_logger(name="agl_tinker", level=logging.INFO)
|
||||
|
||||
|
||||
async def main():
|
||||
async def test_tracer():
|
||||
console = Console()
|
||||
model_name = "Qwen/Qwen3-30B-A3B-Instruct-2507"
|
||||
|
||||
@@ -97,5 +103,63 @@ async def main():
|
||||
console.print("LLM proxy stopped")
|
||||
|
||||
|
||||
async def test_llm_proxy():
|
||||
# FIXME: The llm proxy adapter needs some fixes to make this test work
|
||||
console = Console()
|
||||
model_name = "Qwen/Qwen3-30B-A3B-Instruct-2507"
|
||||
|
||||
tokenizer = cast(PreTrainedTokenizer, AutoTokenizer.from_pretrained(model_name)) # type: ignore
|
||||
renderer = Qwen3Renderer(tokenizer) # type: ignore
|
||||
service_client = tinker.ServiceClient()
|
||||
sampling_client = service_client.create_sampling_client(base_model=model_name)
|
||||
tinker_llm = TinkerLLM(
|
||||
model_name=model_name, renderer=renderer, tokenizer=tokenizer, sampling_client=sampling_client, max_tokens=20
|
||||
)
|
||||
tinker_llm.rewrite_litellm_custom_providers()
|
||||
|
||||
store = InMemoryLightningStore()
|
||||
rollout = await store.start_rollout("dummy", "train")
|
||||
llm_proxy = LLMProxy(
|
||||
port=4000,
|
||||
store=store,
|
||||
model_list=tinker_llm.as_model_list(),
|
||||
num_retries=0,
|
||||
)
|
||||
|
||||
try:
|
||||
# init tracer before llm_proxy to avoid tracer provider being not active.
|
||||
console.print("Starting LLM proxy...")
|
||||
llm_proxy.start()
|
||||
console.print("LLM proxy started")
|
||||
|
||||
client = openai.OpenAI(
|
||||
base_url=f"http://localhost:4000/rollout/{rollout.rollout_id}/attempt/{rollout.attempt.attempt_id}",
|
||||
api_key="dummy",
|
||||
)
|
||||
|
||||
response = client.chat.completions.create(
|
||||
model=model_name,
|
||||
messages=[{"role": "user", "content": "Hello world!"}],
|
||||
max_tokens=10,
|
||||
temperature=0.5,
|
||||
top_p=0.9,
|
||||
seed=43,
|
||||
)
|
||||
print(response)
|
||||
|
||||
for store_span in await store.query_spans(rollout.rollout_id):
|
||||
print(store_span)
|
||||
|
||||
spans = await store.query_spans(rollout.rollout_id)
|
||||
console.print(f"Found {len(spans)} spans")
|
||||
adapter = LlmProxyTraceToTriplet()
|
||||
trajectory = reconstruct_transitions(spans, adapter, rollout.rollout_id)
|
||||
print(trajectory)
|
||||
finally:
|
||||
console.print("Stopping LLM proxy...")
|
||||
llm_proxy.stop()
|
||||
console.print("LLM proxy stopped")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
asyncio.run(test_llm_proxy())
|
||||
@@ -1,98 +0,0 @@
|
||||
import tinker
|
||||
|
||||
service_client = tinker.ServiceClient()
|
||||
print("Available models:")
|
||||
for item in service_client.get_server_capabilities().supported_models:
|
||||
print("- " + item.model_name)
|
||||
|
||||
base_model = "Qwen/Qwen3-30B-A3B-Base"
|
||||
training_client = service_client.create_lora_training_client(base_model=base_model)
|
||||
|
||||
# Create some training examples
|
||||
examples = [
|
||||
{"input": "banana split", "output": "anana-bay plit-say"},
|
||||
{"input": "quantum physics", "output": "uantum-qay ysics-phay"},
|
||||
{"input": "donut shop", "output": "onut-day op-shay"},
|
||||
{"input": "pickle jar", "output": "ickle-pay ar-jay"},
|
||||
{"input": "space exploration", "output": "ace-spay exploration-way"},
|
||||
{"input": "rubber duck", "output": "ubber-ray uck-day"},
|
||||
{"input": "coding wizard", "output": "oding-cay izard-way"},
|
||||
]
|
||||
|
||||
# Convert examples into the format expected by the training client
|
||||
from tinker import types
|
||||
|
||||
# Get the tokenizer from the training client
|
||||
tokenizer = training_client.get_tokenizer()
|
||||
|
||||
|
||||
def process_example(example: dict, tokenizer) -> types.Datum:
|
||||
# Format the input with Input/Output template
|
||||
# For most real use cases, you'll want to use a renderer / chat template,
|
||||
# (see later docs) but here, we'll keep it simple.
|
||||
prompt = f"English: {example['input']}\nPig Latin:"
|
||||
|
||||
prompt_tokens = tokenizer.encode(prompt, add_special_tokens=True)
|
||||
prompt_weights = [0] * len(prompt_tokens)
|
||||
# Add a space before the output string, and finish with double newline
|
||||
completion_tokens = tokenizer.encode(f" {example['output']}\n\n", add_special_tokens=False)
|
||||
completion_weights = [1] * len(completion_tokens)
|
||||
|
||||
tokens = prompt_tokens + completion_tokens
|
||||
weights = prompt_weights + completion_weights
|
||||
|
||||
input_tokens = tokens[:-1]
|
||||
target_tokens = tokens[1:] # We're predicting the next token, so targets need to be shifted.
|
||||
weights = weights[1:]
|
||||
|
||||
# A datum is a single training example for the loss function.
|
||||
# It has model_input, which is the input sequence that'll be passed into the LLM,
|
||||
# loss_fn_inputs, which is a dictionary of extra inputs used by the loss function.
|
||||
return types.Datum(
|
||||
model_input=types.ModelInput.from_ints(tokens=input_tokens),
|
||||
loss_fn_inputs=dict(weights=weights, target_tokens=target_tokens),
|
||||
)
|
||||
|
||||
|
||||
processed_examples = [process_example(ex, tokenizer) for ex in examples]
|
||||
|
||||
# Visualize the first example for debugging purposes
|
||||
datum0 = processed_examples[0]
|
||||
print(f"{'Input':<20} {'Target':<20} {'Weight':<10}")
|
||||
print("-" * 50)
|
||||
for i, (inp, tgt, wgt) in enumerate(
|
||||
zip(
|
||||
datum0.model_input.to_ints(),
|
||||
datum0.loss_fn_inputs["target_tokens"].tolist(),
|
||||
datum0.loss_fn_inputs["weights"].tolist(),
|
||||
)
|
||||
):
|
||||
print(f"{repr(tokenizer.decode([inp])):<20} {repr(tokenizer.decode([tgt])):<20} {wgt:<10}")
|
||||
|
||||
import numpy as np
|
||||
|
||||
for _ in range(6):
|
||||
fwdbwd_future = training_client.forward_backward(processed_examples, "cross_entropy")
|
||||
optim_future = training_client.optim_step(types.AdamParams(learning_rate=1e-4))
|
||||
|
||||
# Wait for the results
|
||||
fwdbwd_result = fwdbwd_future.result()
|
||||
optim_result = optim_future.result()
|
||||
|
||||
# fwdbwd_result contains the logprobs of all the tokens we put in. Now we can compute the weighted
|
||||
# average log loss per token.
|
||||
logprobs = np.concatenate([output["logprobs"].tolist() for output in fwdbwd_result.loss_fn_outputs])
|
||||
weights = np.concatenate([example.loss_fn_inputs["weights"].tolist() for example in processed_examples])
|
||||
print(f"Loss per token: {-np.dot(logprobs, weights) / weights.sum():.4f}")
|
||||
|
||||
# First, create a sampling client. We need to transfer weights
|
||||
sampling_client = training_client.save_weights_and_get_sampling_client(name="pig-latin-model")
|
||||
|
||||
# Now, we can sample from the model.
|
||||
prompt = types.ModelInput.from_ints(tokenizer.encode("English: coffee break\nPig Latin:"))
|
||||
params = types.SamplingParams(max_tokens=20, temperature=0.0, stop=["\n"]) # Greedy sampling
|
||||
future = sampling_client.sample(prompt=prompt, sampling_params=params, num_samples=8)
|
||||
result = future.result()
|
||||
print("Responses:")
|
||||
for i, seq in enumerate(result.sequences):
|
||||
print(f"{i}: {repr(tokenizer.decode(seq.tokens))}")
|
||||
@@ -1,7 +0,0 @@
|
||||
from twenty_questions import main
|
||||
|
||||
main(
|
||||
model_name="Qwen/Qwen3-235B-A22B-Instruct-2507",
|
||||
output_file="test-results/twenty_questions_qwen235b_notool_gpt5mini_20251026.jsonl",
|
||||
port=4001,
|
||||
)
|
||||
@@ -1,201 +0,0 @@
|
||||
answer,category
|
||||
Taylor Swift,person
|
||||
Albert Einstein,person
|
||||
Cleopatra,person
|
||||
Sherlock Holmes,character
|
||||
Batman,character
|
||||
Harry Potter,character
|
||||
Elon Musk,person
|
||||
Oprah Winfrey,person
|
||||
Beyoncé,person
|
||||
Leonardo da Vinci,person
|
||||
Barack Obama,person
|
||||
Marilyn Monroe,person
|
||||
Steve Jobs,person
|
||||
Michael Jordan,person
|
||||
Mother Teresa,person
|
||||
Isaac Newton,person
|
||||
William Shakespeare,person
|
||||
Rihanna,person
|
||||
Gandhi,person
|
||||
Picasso,person
|
||||
Paris,place
|
||||
Tokyo,place
|
||||
Mount Everest,place
|
||||
New York,place
|
||||
Sydney Opera House,place
|
||||
The Great Wall,place
|
||||
Sahara Desert,place
|
||||
Amazon Rainforest,place
|
||||
Eiffel Tower,place
|
||||
Big Ben,place
|
||||
Taj Mahal,place
|
||||
Niagara Falls,place
|
||||
Rome,place
|
||||
London,place
|
||||
Disneyland,place
|
||||
The North Pole,place
|
||||
Hawaii,place
|
||||
Las Vegas,place
|
||||
Antarctica,place
|
||||
Hollywood,place
|
||||
Elephant,animal
|
||||
Tiger,animal
|
||||
Dolphin,animal
|
||||
Penguin,animal
|
||||
Giraffe,animal
|
||||
Eagle,animal
|
||||
Panda,animal
|
||||
Kangaroo,animal
|
||||
Wolf,animal
|
||||
Shark,animal
|
||||
Owl,animal
|
||||
Horse,animal
|
||||
Dog,animal
|
||||
Cat,animal
|
||||
Snake,animal
|
||||
Rabbit,animal
|
||||
Bear,animal
|
||||
Octopus,animal
|
||||
Fox,animal
|
||||
Whale,animal
|
||||
Chair,object
|
||||
Mirror,object
|
||||
Laptop,object
|
||||
Guitar,instrument
|
||||
Telescope,object
|
||||
Camera,object
|
||||
Umbrella,object
|
||||
Bicycle,object
|
||||
Lock,object
|
||||
Watch,object
|
||||
Book,object
|
||||
Television,object
|
||||
Candle,object
|
||||
Clock,object
|
||||
Backpack,object
|
||||
Airplane,object
|
||||
Piano,instrument
|
||||
Violin,instrument
|
||||
Harp,instrument
|
||||
Trombone,instrument
|
||||
Skateboard,object
|
||||
Scissors,object
|
||||
Smartphone,object
|
||||
Pizza,food
|
||||
Coffee,food
|
||||
Apple,food
|
||||
Chocolate,food
|
||||
Ice cream,food
|
||||
Hamburger,food
|
||||
Sushi,food
|
||||
Sandwich,food
|
||||
Salad,food
|
||||
Donut,food
|
||||
Watermelon,food
|
||||
Popcorn,food
|
||||
Spaghetti,food
|
||||
Cheese,food
|
||||
Bread,food
|
||||
Orange juice,food
|
||||
Steak,food
|
||||
Pancake,food
|
||||
Taco,food
|
||||
Banana,food
|
||||
Freedom,concept
|
||||
Love,concept
|
||||
Happiness,concept
|
||||
Time,concept
|
||||
Knowledge,concept
|
||||
Friendship,concept
|
||||
Justice,concept
|
||||
Peace,concept
|
||||
Power,concept
|
||||
Honesty,concept
|
||||
Art,concept
|
||||
Technology,concept
|
||||
Music,concept
|
||||
Science,concept
|
||||
War,concept
|
||||
Truth,concept
|
||||
Nature,concept
|
||||
Dream,concept
|
||||
Fear,concept
|
||||
Memory,concept
|
||||
Soccer,sport
|
||||
Basketball,sport
|
||||
Tennis,sport
|
||||
Swimming,sport
|
||||
Running,sport
|
||||
Golf,sport
|
||||
Boxing,sport
|
||||
Surfing,sport
|
||||
Skiing,sport
|
||||
Chess,sport
|
||||
Baseball,sport
|
||||
Yoga,sport
|
||||
Archery,sport
|
||||
Fishing,sport
|
||||
Skateboarding,sport
|
||||
Volleyball,sport
|
||||
Climbing,sport
|
||||
Dancing,sport
|
||||
Hiking,sport
|
||||
Billiards,sport
|
||||
Lightsaber,fiction
|
||||
Iron Man,character
|
||||
Millennium Falcon,fiction
|
||||
The Simpsons,fiction
|
||||
Jurassic Park,fiction
|
||||
SpongeBob,fiction
|
||||
The Godfather,fiction
|
||||
Frozen,fiction
|
||||
The Matrix,fiction
|
||||
Star Wars,fiction
|
||||
Avatar,fiction
|
||||
Game of Thrones,fiction
|
||||
Spider-Man,character
|
||||
Black Panther,character
|
||||
Hogwarts,fiction
|
||||
The Joker,character
|
||||
Pikachu,character
|
||||
Wonder Woman,character
|
||||
The Titanic,fiction
|
||||
Stranger Things,fiction
|
||||
Rainbow,nature
|
||||
Volcano,nature
|
||||
Moon,nature
|
||||
Sunflower,nature
|
||||
Diamond,object
|
||||
Lightning,nature
|
||||
Ocean,nature
|
||||
Cloud,nature
|
||||
Tornado,nature
|
||||
Robot,object
|
||||
Alien,creature
|
||||
Treasure,object
|
||||
Map,object
|
||||
Pirate,character
|
||||
Wizard,character
|
||||
Unicorn,creature
|
||||
Ghost,creature
|
||||
Dragon,creature
|
||||
Meteor,nature
|
||||
Wallet,object
|
||||
Headphones,object
|
||||
Microwave,object
|
||||
Toothbrush,object
|
||||
Blanket,object
|
||||
Pen,object
|
||||
Drone,object
|
||||
Car,object
|
||||
Air Conditioner,object
|
||||
Printer,object
|
||||
Lamp,object
|
||||
Refrigerator,object
|
||||
Washing machine,object
|
||||
Credit card,object
|
||||
Bed,object
|
||||
Mouse,object
|
||||
Remote,object
|
||||
Sunglasses,object
|
||||
|
@@ -123,6 +123,8 @@ nav:
|
||||
- Trainer: reference/trainer.md
|
||||
- Types: reference/types.md
|
||||
- Internal: reference/internal.md
|
||||
- Miscellaneous:
|
||||
- Changelog: changelog.md
|
||||
|
||||
extra_css:
|
||||
- https://unpkg.com/katex@0/dist/katex.min.css
|
||||
|
||||
@@ -141,6 +141,7 @@ tinker = [
|
||||
{include-group = "torch-stable"},
|
||||
"tinker>=0.2.2",
|
||||
"tinker_cookbook",
|
||||
"wandb",
|
||||
]
|
||||
|
||||
# Agent-related dependencies.
|
||||
|
||||
@@ -47,3 +47,7 @@ model_list:
|
||||
api_base: os.environ/AZURE_API_BASE
|
||||
api_version: 2025-04-01-preview
|
||||
api_key: os.environ/AZURE_API_KEY
|
||||
|
||||
general_settings:
|
||||
# https://github.com/BerriAI/litellm/issues/15952
|
||||
disable_responses_id_security: true
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
|
||||
module.exports = function triggerOnLabel({ core, context, labelName }) {
|
||||
if (!labelName) {
|
||||
throw new Error("labelName is required");
|
||||
}
|
||||
|
||||
if (context.eventName !== "pull_request_target") {
|
||||
core.setOutput("should-run", "true");
|
||||
core.notice("Triggering this workflow because event is not a pull request");
|
||||
return;
|
||||
}
|
||||
|
||||
core.notice(`This workflow is triggered by ${context.eventName}`);
|
||||
|
||||
const labels = (context.payload.pull_request?.labels ?? []).map(
|
||||
(label) => label.name
|
||||
);
|
||||
core.notice(`Pull request labels: ${labels.join(", ")}`);
|
||||
|
||||
if (labels.includes(labelName)) {
|
||||
core.setOutput("should-run", "true");
|
||||
core.notice(
|
||||
`Triggering this workflow because pull request has the '${labelName}' label.`
|
||||
);
|
||||
} else if (labels.includes("ci-all")) {
|
||||
core.setOutput("should-run", "true");
|
||||
core.notice(
|
||||
`Triggering this workflow because pull request has the 'ci-all' label.`
|
||||
);
|
||||
} else {
|
||||
core.setOutput("should-run", "false");
|
||||
core.notice(
|
||||
`Skipping because pull request is missing the '${labelName}' label.`
|
||||
);
|
||||
}
|
||||
};
|
||||
@@ -5,7 +5,7 @@ import contextlib
|
||||
import multiprocessing
|
||||
import socket
|
||||
import sys
|
||||
from typing import Any, AsyncGenerator, Tuple, cast
|
||||
from typing import Any, AsyncGenerator, Dict, Tuple, cast
|
||||
from unittest.mock import patch
|
||||
|
||||
import aiohttp
|
||||
@@ -76,6 +76,40 @@ async def server_client() -> AsyncGenerator[Tuple[LightningStoreServer, Lightnin
|
||||
await server.stop()
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_server_start_rejects_port_conflict() -> None:
|
||||
"""Ensure startup fails loudly when the port is already owned by another store."""
|
||||
store_a = InMemoryLightningStore()
|
||||
port = _get_free_port()
|
||||
server_a = LightningStoreServer(store_a, "127.0.0.1", port)
|
||||
await server_a.start()
|
||||
|
||||
store_b = InMemoryLightningStore()
|
||||
server_b = LightningStoreServer(store_b, "127.0.0.1", port)
|
||||
|
||||
with pytest.raises(RuntimeError, match="Another process may already be using this port"):
|
||||
await server_b.start()
|
||||
|
||||
await server_a.stop()
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_run_forever_rejects_port_conflict() -> None:
|
||||
"""Ensure run_forever also reports port conflicts with the friendly message."""
|
||||
store_a = InMemoryLightningStore()
|
||||
port = _get_free_port()
|
||||
server_a = LightningStoreServer(store_a, "127.0.0.1", port)
|
||||
await server_a.start()
|
||||
|
||||
store_b = InMemoryLightningStore()
|
||||
server_b = LightningStoreServer(store_b, "127.0.0.1", port)
|
||||
|
||||
with pytest.raises(RuntimeError, match="Another process may already be using this port"):
|
||||
await server_b.run_forever()
|
||||
|
||||
await server_a.stop()
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_add_resources_via_server(server_client: Tuple[LightningStoreServer, LightningStoreClient]) -> None:
|
||||
"""Test that add_resources works correctly via server."""
|
||||
@@ -103,6 +137,9 @@ async def test_add_resources_via_server(server_client: Tuple[LightningStoreServe
|
||||
assert isinstance(retrieved.resources["main_llm"], LLM)
|
||||
assert retrieved.resources["main_llm"].model == "test-model"
|
||||
|
||||
assert isinstance(retrieved.resources["greeting"], PromptTemplate)
|
||||
assert retrieved.resources["greeting"].template == "Hello {name}!"
|
||||
|
||||
# Verify it's set as latest
|
||||
latest = await server.get_latest_resources()
|
||||
assert latest is not None
|
||||
@@ -292,6 +329,28 @@ async def test_update_rollout_none_vs_unset(server_client: Tuple[LightningStoreS
|
||||
assert preserved.status == "running"
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
@pytest.mark.parametrize(
|
||||
"bad_payload",
|
||||
[
|
||||
{"status": None},
|
||||
{"config": None},
|
||||
],
|
||||
)
|
||||
async def test_update_rollout_rejects_none_values(
|
||||
server_client: Tuple[LightningStoreServer, LightningStoreClient],
|
||||
bad_payload: Dict[str, Any],
|
||||
) -> None:
|
||||
_, client = server_client
|
||||
|
||||
attempted = await client.start_rollout(input={"payload": "bad-none"})
|
||||
with pytest.raises((ClientResponseError, AttributeError)) as exc_info:
|
||||
await client.update_rollout(attempted.rollout_id, **bad_payload)
|
||||
|
||||
if isinstance(exc_info.value, ClientResponseError):
|
||||
assert exc_info.value.status == 400
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_update_attempt_none_vs_unset(server_client: Tuple[LightningStoreServer, LightningStoreClient]) -> None:
|
||||
_, client = server_client
|
||||
@@ -321,6 +380,27 @@ async def test_update_attempt_none_vs_unset(server_client: Tuple[LightningStoreS
|
||||
assert preserved.status == "running"
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
@pytest.mark.parametrize(
|
||||
"bad_payload",
|
||||
[
|
||||
{"last_heartbeat_time": None},
|
||||
{"metadata": None},
|
||||
],
|
||||
)
|
||||
async def test_update_attempt_rejects_none_values(
|
||||
server_client: Tuple[LightningStoreServer, LightningStoreClient],
|
||||
bad_payload: Dict[str, Any],
|
||||
) -> None:
|
||||
_, client = server_client
|
||||
|
||||
attempted = await client.start_rollout(input={"payload": "bad-none-attempt"})
|
||||
with pytest.raises(ClientResponseError) as exc_info:
|
||||
await client.update_attempt(attempted.rollout_id, attempted.attempt.attempt_id, **bad_payload)
|
||||
|
||||
assert exc_info.value.status == 400
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_concurrent_add_otel_span_sequence_ids_unique(
|
||||
server_client: Tuple[LightningStoreServer, LightningStoreClient], mock_readable_span: ReadableSpan
|
||||
@@ -487,11 +567,11 @@ async def test_subprocess_client_operations_work_but_direct_store_access_fails()
|
||||
@pytest.mark.parametrize(
|
||||
"status,endpoint,make_app_error",
|
||||
[
|
||||
(400, "/enqueue_rollout", True), # server-marked app error -> 400 -> no retry
|
||||
(404, "/update_rollout", False), # non-408 4xx -> no retry
|
||||
(400, "/queues/rollouts/enqueue", True), # server-marked app error -> 500 -> retry
|
||||
(404, "/rollouts/nonexistent", False), # non-408 4xx -> no retry
|
||||
],
|
||||
)
|
||||
async def test_no_retry_on_4xx_application_and_non408(
|
||||
async def test_retry_on_4xx_application_and_non408(
|
||||
server_client: Tuple[LightningStoreServer, LightningStoreClient],
|
||||
monkeypatch: MonkeyPatch,
|
||||
status: int,
|
||||
@@ -513,12 +593,12 @@ async def test_no_retry_on_4xx_application_and_non408(
|
||||
|
||||
with pytest.raises(ClientResponseError) as ei:
|
||||
await client.enqueue_rollout(input={"origin": "should-fail"})
|
||||
assert ei.value.status == 400
|
||||
assert call_count["n"] == 1
|
||||
assert ei.value.status == 500
|
||||
assert call_count["n"] == 4
|
||||
|
||||
monkeypatch.setattr(server.store, "enqueue_rollout", original, raising=True)
|
||||
else:
|
||||
# Raise 404 once for /update_rollout; client must not retry.
|
||||
# Raise 404 once for /rollouts/nonexistent; client must not retry.
|
||||
original_post = aiohttp.ClientSession.post
|
||||
calls = {"n": 0}
|
||||
|
||||
@@ -550,7 +630,7 @@ async def test_retry_on_transient_network_errors_then_success(
|
||||
counters = {"post_calls": 0}
|
||||
|
||||
def flaky_post(self: aiohttp.ClientSession, url: Any, *args: Any, **kwargs: Any) -> MockResponse:
|
||||
if str(url).endswith("/start_rollout"):
|
||||
if str(url).endswith("/rollouts"):
|
||||
if counters["post_calls"] == 0:
|
||||
counters["post_calls"] += 1
|
||||
# raise chosen transient network exception
|
||||
@@ -575,7 +655,7 @@ async def test_retry_on_transient_http_status_then_success(
|
||||
fired = {"once": False}
|
||||
|
||||
def post_then_ok(self: aiohttp.ClientSession, url: Any, *args: Any, **kwargs: Any) -> MockResponse:
|
||||
if str(url).endswith("/enqueue_rollout") and not fired["once"]:
|
||||
if str(url).endswith("/queues/rollouts/enqueue") and not fired["once"]:
|
||||
fired["once"] = True
|
||||
req_info = aiohttp.RequestInfo(
|
||||
url=URL(str(url)), method="POST", headers=cast(Any, {}), real_url=URL(str(url))
|
||||
@@ -601,7 +681,7 @@ async def test_unhealthy_health_probe_stops_retries(
|
||||
post_calls = {"n": 0}
|
||||
|
||||
def failing_post(self: aiohttp.ClientSession, url: Any, *args: Any, **kwargs: Any) -> MockResponse:
|
||||
if str(url).endswith("/start_rollout"):
|
||||
if str(url).endswith("/rollouts"):
|
||||
post_calls["n"] += 1
|
||||
raise ServerDisconnectedError("synthetic disconnect")
|
||||
return MockResponse(original_post(self, url, *args, **kwargs))
|
||||
@@ -660,7 +740,7 @@ async def test_retry_mechanism_with_custom_delays_and_health_recovery(
|
||||
timestamps: list[float] = []
|
||||
|
||||
def monitored_post(self: aiohttp.ClientSession, url: Any, *args: Any, **kwargs: Any) -> MockResponse:
|
||||
if str(url).endswith("/start_rollout"):
|
||||
if str(url).endswith("/rollouts"):
|
||||
import time
|
||||
|
||||
counters["post_attempts"] += 1
|
||||
@@ -721,7 +801,7 @@ async def test_client_response_error_with_different_status_codes(
|
||||
|
||||
# Test 403 Forbidden - should NOT retry
|
||||
def post_403(self: aiohttp.ClientSession, url: Any, *args: Any, **kwargs: Any) -> MockResponse:
|
||||
if str(url).endswith("/start_rollout"):
|
||||
if str(url).endswith("/rollouts"):
|
||||
req_info = aiohttp.RequestInfo(
|
||||
url=URL(str(url)), method="POST", headers=cast(Any, {}), real_url=URL(str(url))
|
||||
)
|
||||
@@ -738,7 +818,7 @@ async def test_client_response_error_with_different_status_codes(
|
||||
call_count = {"n": 0}
|
||||
|
||||
def post_503_then_ok(self: aiohttp.ClientSession, url: Any, *args: Any, **kwargs: Any) -> MockResponse:
|
||||
if str(url).endswith("/enqueue_rollout"):
|
||||
if str(url).endswith("/queues/rollouts/enqueue"):
|
||||
call_count["n"] += 1
|
||||
if call_count["n"] == 1:
|
||||
req_info = aiohttp.RequestInfo(
|
||||
|
||||
@@ -238,6 +238,7 @@ tinker = [
|
||||
{ name = "torchvision", version = "0.23.0", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'linux') or (python_full_version < '3.11' and extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-cu128') or (python_full_version < '3.11' and extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-gpu-stable') or (sys_platform != 'linux' and extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-cu128') or (sys_platform != 'linux' and extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-gpu-stable')" },
|
||||
{ name = "transformers", version = "4.56.2", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'linux') or (python_full_version < '3.11' and extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-cu128') or (python_full_version < '3.11' and extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-gpu-stable') or (sys_platform != 'linux' and extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-cu128') or (sys_platform != 'linux' and extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-gpu-stable')" },
|
||||
{ name = "vllm", version = "0.10.2", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'linux') or (python_full_version < '3.11' and extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-cu128') or (python_full_version < '3.11' and extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-gpu-stable') or (sys_platform != 'linux' and extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-cu128') or (sys_platform != 'linux' and extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-gpu-stable')" },
|
||||
{ name = "wandb", marker = "(python_full_version >= '3.11' and sys_platform == 'linux') or (python_full_version < '3.11' and extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-cu128') or (python_full_version < '3.11' and extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-gpu-stable') or (sys_platform != 'linux' and extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-cu128') or (sys_platform != 'linux' and extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-gpu-stable')" },
|
||||
]
|
||||
torch-cpu = [
|
||||
{ name = "torch", version = "2.7.0+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(sys_platform == 'linux' and extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-legacy') or (sys_platform != 'linux' and extra == 'group-14-agentlightning-core-legacy' and extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-stable') or (sys_platform != 'linux' and extra == 'group-14-agentlightning-core-legacy' and extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-trl') or (extra == 'group-14-agentlightning-core-legacy' and extra == 'group-14-agentlightning-core-stable') or (extra == 'group-14-agentlightning-core-legacy' and extra == 'group-14-agentlightning-tinker') or (extra == 'group-14-agentlightning-core-legacy' and extra == 'group-14-agentlightning-torch-gpu-stable') or (extra == 'group-14-agentlightning-core-stable' and extra == 'group-14-agentlightning-torch-gpu-legacy') or (extra == 'group-14-agentlightning-core-stable' and extra == 'group-14-agentlightning-torch-legacy') or (extra == 'group-14-agentlightning-tinker' and extra == 'group-14-agentlightning-torch-gpu-legacy') or (extra == 'group-14-agentlightning-tinker' and extra == 'group-14-agentlightning-torch-legacy') or (extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-cu128') or (extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-gpu-legacy') or (extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-gpu-stable') or (extra == 'group-14-agentlightning-torch-gpu-legacy' and extra == 'group-14-agentlightning-torch-gpu-stable') or (extra == 'group-14-agentlightning-torch-gpu-legacy' and extra == 'group-14-agentlightning-torch-stable') or (extra == 'group-14-agentlightning-torch-gpu-legacy' and extra == 'group-14-agentlightning-trl') or (extra == 'group-14-agentlightning-torch-gpu-stable' and extra == 'group-14-agentlightning-torch-legacy') or (extra == 'group-14-agentlightning-core-legacy' and extra != 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-stable') or (extra == 'group-14-agentlightning-core-legacy' and extra != 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-trl') or (extra != 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-legacy' and extra == 'group-14-agentlightning-torch-stable') or (extra != 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-legacy' and extra == 'group-14-agentlightning-trl') or (extra != 'group-14-agentlightning-core-legacy' and extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-legacy' and extra == 'group-14-agentlightning-torch-stable') or (extra != 'group-14-agentlightning-core-legacy' and extra == 'group-14-agentlightning-torch-cpu' and extra == 'group-14-agentlightning-torch-legacy' and extra == 'group-14-agentlightning-trl') or (extra == 'group-14-agentlightning-core-legacy' and extra != 'group-14-agentlightning-torch-cu128' and extra != 'group-14-agentlightning-torch-legacy' and extra == 'group-14-agentlightning-torch-stable') or (extra == 'group-14-agentlightning-core-legacy' and extra != 'group-14-agentlightning-torch-cu128' and extra != 'group-14-agentlightning-torch-legacy' and extra == 'group-14-agentlightning-trl')" },
|
||||
@@ -420,6 +421,7 @@ tinker = [
|
||||
{ name = "torchvision", marker = "python_full_version >= '3.11'", specifier = ">=0.23.0" },
|
||||
{ name = "transformers", marker = "python_full_version >= '3.11'", specifier = ">=4.55.0" },
|
||||
{ name = "vllm", marker = "python_full_version >= '3.11'", specifier = ">=0.10.2" },
|
||||
{ name = "wandb", marker = "python_full_version >= '3.11'" },
|
||||
]
|
||||
torch-cpu = [
|
||||
{ name = "torch", index = "https://download.pytorch.org/whl/cpu", conflict = { package = "agentlightning", group = "torch-cpu" } },
|
||||
|
||||
Reference in New Issue
Block a user