Spaces:
No application file
No application file
v1
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .gitattributes +2 -0
- evals/.gitattributes +1 -0
- evals/.github/PULL_REQUEST_TEMPLATE.md +87 -0
- evals/.github/bug_report.yml +56 -0
- evals/.github/config.yml +7 -0
- evals/.github/feature_request.yml +20 -0
- evals/.github/workflows/parse_yaml.py +12 -0
- evals/.github/workflows/test_eval.yaml +55 -0
- evals/.gitignore +3 -0
- evals/.pre-commit-config.yaml +29 -0
- evals/LICENSE +21 -0
- evals/MANIFEST.in +3 -0
- evals/Makefile +2 -0
- evals/README.md +89 -0
- evals/SECURITY.md +4 -0
- evals/docs/build-eval.md +85 -0
- evals/docs/custom-eval.md +148 -0
- evals/docs/eval-templates.md +61 -0
- evals/docs/run-evals.md +37 -0
- evals/evals/__init__.py +4 -0
- evals/evals/api.py +263 -0
- evals/evals/base.py +153 -0
- evals/evals/cli/oaieval.py +274 -0
- evals/evals/cli/oaievalset.py +105 -0
- evals/evals/data.py +189 -0
- evals/evals/elsuite/basic/fuzzy_match.py +49 -0
- evals/evals/elsuite/basic/includes.py +38 -0
- evals/evals/elsuite/basic/match.py +45 -0
- evals/evals/elsuite/modelgraded/classify.py +356 -0
- evals/evals/elsuite/translate.py +75 -0
- evals/evals/elsuite/utils.py +140 -0
- evals/evals/eval.py +155 -0
- evals/evals/formatting.py +34 -0
- evals/evals/metrics.py +76 -0
- evals/evals/prompt/base.py +118 -0
- evals/evals/record.py +480 -0
- evals/evals/registry.py +174 -0
- evals/evals/registry/data/README.md +44 -0
- evals/evals/registry/data/aba_mrpc_true_false/samples.jsonl +110 -0
- evals/evals/registry/data/actors-sequence/samples.jsonl +100 -0
- evals/evals/registry/data/anagrams/fewshot.jsonl +5 -0
- evals/evals/registry/data/anagrams/samples.jsonl +357 -0
- evals/evals/registry/data/balance_chemical_equation/samples.jsonl +100 -0
- evals/evals/registry/data/belarusian_lexicon/samples.jsonl +300 -0
- evals/evals/registry/data/bigrams/samples.jsonl +200 -0
- evals/evals/registry/data/born_first/born_first.jsonl +122 -0
- evals/evals/registry/data/bulgarian-lexicon/samples.jsonl +0 -0
- evals/evals/registry/data/chess/match.jsonl +101 -0
- evals/evals/registry/data/chess_piece_count/fuzzy_match.jsonl +0 -0
- evals/evals/registry/data/complex_replace_characters/samples.jsonl +100 -0
.gitattributes
CHANGED
@@ -32,3 +32,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
32 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
33 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
34 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
32 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
33 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
34 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
35 |
+
evals/evals/registry/data/formal_logic/formal_logic_expressions.jsonl filter=lfs diff=lfs merge=lfs -text
|
36 |
+
evals/evals/registry/data/ukraine_eit/samples.jsonl filter=lfs diff=lfs merge=lfs -text
|
evals/.gitattributes
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
evals/registry/data/**/*.jsonl filter=lfs diff=lfs merge=lfs -text
|
evals/.github/PULL_REQUEST_TEMPLATE.md
ADDED
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Thank you for contributing an eval! ♥️
|
2 |
+
|
3 |
+
🚨 Please make sure your PR follows these guidelines, __failure to follow the guidelines below will result in the PR being closed automatically__. Note that even if the criteria are met, that does not guarantee the PR will be merged nor GPT-4 access granted. 🚨
|
4 |
+
|
5 |
+
__PLEASE READ THIS__:
|
6 |
+
|
7 |
+
In order for a PR to be merged, it must fail on GPT-4. We are aware that right now, users do not have access, so you will not be able to tell if the eval fails or not. Please run your eval with GPT-3.5-Turbo, but keep in mind as we run the eval, if GPT-4 gets higher than 90% on the eval, we will likely reject since GPT-4 is already capable of completing the task.
|
8 |
+
|
9 |
+
We plan to roll out a way for users submitting evals to see the eval performance on GPT-4 soon. Stay tuned! Until then, you will not be able to see the eval performance on GPT-4. We encourage partial PR's with ~5-10 example that we can then run the evals on and share the results with you so you know how your eval does with GPT-4 before writing all 100 examples.
|
10 |
+
|
11 |
+
## Eval details 📑
|
12 |
+
### Eval name
|
13 |
+
[Insert Eval name here]
|
14 |
+
|
15 |
+
### Eval description
|
16 |
+
|
17 |
+
[Insert a short description of what your eval does here]
|
18 |
+
|
19 |
+
### What makes this a useful eval?
|
20 |
+
|
21 |
+
[Insert why this eval is worth including and any additional context]
|
22 |
+
|
23 |
+
## Criteria for a good eval ✅
|
24 |
+
|
25 |
+
Below are some of the criteria we look for in a good eval. In general, we are seeking cases where the model does not do a good job despite being capable of generating a good response (note that there are some things large language models cannot do, so those would not make good evals).
|
26 |
+
|
27 |
+
Your eval should be:
|
28 |
+
|
29 |
+
- [ ] Thematically consistent: The eval should be thematically consistent. We'd like to see a number of prompts all demonstrating some particular failure mode. For example, we can create an eval on cases where the model fails to reason about the physical world.
|
30 |
+
- [ ] Contains failures where a human can do the task, but either GPT-4 or GPT-3.5-Turbo could not.
|
31 |
+
- [ ] Includes good signal around what is the right behavior. This means either a correct answer for `Basic` evals or the `Fact` Model-graded eval, or an exhaustive rubric for evaluating answers for the `Criteria` Model-graded eval.
|
32 |
+
- [ ] Include at least 100 high quality examples (it is okay to only contribute 5-10 meaningful examples and have us test them with GPT-4 before adding all 100)
|
33 |
+
|
34 |
+
If there is anything else that makes your eval worth including, please document it below.
|
35 |
+
|
36 |
+
### Unique eval value
|
37 |
+
|
38 |
+
> Insert what makes your eval high quality that was not mentioned above. (Not required)
|
39 |
+
|
40 |
+
## Eval structure 🏗️
|
41 |
+
|
42 |
+
Your eval should
|
43 |
+
- [ ] Check that your data is in `evals/registry/data/{name}`
|
44 |
+
- [ ] Check that your yaml is registered at `evals/registry/evals/{name}.yaml`
|
45 |
+
- [ ] Ensure you have the right to use the data you submit via this eval
|
46 |
+
|
47 |
+
(For now, we will only be approving evals that use one of the existing eval classes. You may still write custom eval classes for your own cases, and we may consider merging them in the future.)
|
48 |
+
|
49 |
+
## Final checklist 👀
|
50 |
+
|
51 |
+
### Submission agreement
|
52 |
+
|
53 |
+
By contributing to Evals, you are agreeing to make your evaluation logic and data under the same MIT license as this repository. You must have adequate rights to upload any data used in an Eval. OpenAI reserves the right to use this data in future service improvements to our product. Contributions to OpenAI Evals will be subject to our usual Usage Policies (https://platform.openai.com/docs/usage-policies).
|
54 |
+
|
55 |
+
- [ ] I agree that my submission will be made available under an MIT license and complies with OpenAI's usage policies.
|
56 |
+
|
57 |
+
### Email address validation
|
58 |
+
|
59 |
+
If your submission is accepted, we will be granting GPT-4 access to a limited number of contributors. Access will be given to the email address associated with the merged pull request.
|
60 |
+
|
61 |
+
- [ ] I acknowledge that GPT-4 access will only be granted, if applicable, to the email address used for my merged pull request.
|
62 |
+
|
63 |
+
### Limited availability acknowledgement
|
64 |
+
|
65 |
+
We know that you might be excited to contribute to OpenAI's mission, help improve our models, and gain access to GPT-4. However, due to the requirements mentioned above and high volume of submissions, we will not be able to accept all submissions and thus not grant everyone who opens a PR GPT-4 access. We know this is disappointing, but we hope to set the right expectation before you open this PR.
|
66 |
+
|
67 |
+
- [ ] I understand that opening a PR, even if it meets the requirements above, does not guarantee the PR will be merged nor GPT-4 access granted.
|
68 |
+
|
69 |
+
### Submit eval
|
70 |
+
|
71 |
+
- [ ] I have filled out all required fields in the evals PR form
|
72 |
+
- [ ] (Ignore if not submitting code) I have run `pip install pre-commit; pre-commit install` and have verified that `black`, `isort`, and `autoflake` are running when I commit and push
|
73 |
+
|
74 |
+
Failure to fill out all required fields will result in the PR being closed.
|
75 |
+
|
76 |
+
### Eval JSON data
|
77 |
+
|
78 |
+
Since we are using Git LFS, we are asking eval submitters to add in as many Eval Samples (at least 5) from their contribution here:
|
79 |
+
|
80 |
+
<details>
|
81 |
+
<summary>View evals in JSON</summary>
|
82 |
+
|
83 |
+
### Eval
|
84 |
+
```jsonl
|
85 |
+
INSERT_EVAL_HERE
|
86 |
+
```
|
87 |
+
</details>
|
evals/.github/bug_report.yml
ADDED
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
name: Bug report
|
2 |
+
description: Create a report to help us improve
|
3 |
+
labels: ["bug"]
|
4 |
+
body:
|
5 |
+
- type: markdown
|
6 |
+
attributes:
|
7 |
+
value: |
|
8 |
+
Thanks for taking the time to fill out this bug report! If you have questions about using the OpenAI Evals library, please open a [Discussion thread](https://github.com/openai/evals/discussions).
|
9 |
+
- type: textarea
|
10 |
+
id: what-happened
|
11 |
+
attributes:
|
12 |
+
label: Describe the bug
|
13 |
+
description: A clear and concise description of what the bug is, and any additional context.
|
14 |
+
placeholder: Tell us what you see!
|
15 |
+
validations:
|
16 |
+
required: true
|
17 |
+
- type: textarea
|
18 |
+
id: repro-steps
|
19 |
+
attributes:
|
20 |
+
label: To Reproduce
|
21 |
+
description: Steps to reproduce the behavior.
|
22 |
+
placeholder: |
|
23 |
+
1. Fetch a '...'
|
24 |
+
2. Update the '....'
|
25 |
+
3. See error
|
26 |
+
validations:
|
27 |
+
required: true
|
28 |
+
- type: textarea
|
29 |
+
id: code-snippets
|
30 |
+
attributes:
|
31 |
+
label: Code snippets
|
32 |
+
description: If applicable, add code snippets to help explain your problem.
|
33 |
+
render: Python
|
34 |
+
validations:
|
35 |
+
required: false
|
36 |
+
- type: input
|
37 |
+
id: os
|
38 |
+
attributes:
|
39 |
+
label: OS
|
40 |
+
placeholder: macOS
|
41 |
+
validations:
|
42 |
+
required: true
|
43 |
+
- type: input
|
44 |
+
id: language-version
|
45 |
+
attributes:
|
46 |
+
label: Python version
|
47 |
+
placeholder: Python v3.8.0
|
48 |
+
validations:
|
49 |
+
required: true
|
50 |
+
- type: input
|
51 |
+
id: lib-version
|
52 |
+
attributes:
|
53 |
+
label: Library version
|
54 |
+
placeholder: openai-evals v0.1.1
|
55 |
+
validations:
|
56 |
+
required: true
|
evals/.github/config.yml
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
blank_issues_enabled: false
|
2 |
+
contact_links:
|
3 |
+
- name: OpenAI support
|
4 |
+
url: https://help.openai.com/
|
5 |
+
about: |
|
6 |
+
Please only file issues here that you believe represent actual bugs or feature requests for the OpenAI Evals library.
|
7 |
+
If you're having general trouble with the OpenAI API, ChatGPT, etc, please visit our help center to get support.
|
evals/.github/feature_request.yml
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
name: Feature request
|
2 |
+
description: Suggest an idea for this library
|
3 |
+
labels: ["feature-request"]
|
4 |
+
body:
|
5 |
+
- type: markdown
|
6 |
+
attributes:
|
7 |
+
value: |
|
8 |
+
Thanks for taking the time to fill out this feature request! Please note, we are not able to accommodate all feature requests given limited bandwidth but we appreciate you taking the time to share with us how to improve the OpenAI Evals library.
|
9 |
+
- type: textarea
|
10 |
+
id: feature
|
11 |
+
attributes:
|
12 |
+
label: Describe the feature or improvement you're requesting
|
13 |
+
description: A clear and concise description of what you want to happen.
|
14 |
+
validations:
|
15 |
+
required: true
|
16 |
+
- type: textarea
|
17 |
+
id: context
|
18 |
+
attributes:
|
19 |
+
label: Additional context
|
20 |
+
description: Add any other context about the feature request here.
|
evals/.github/workflows/parse_yaml.py
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import sys
|
2 |
+
import yaml
|
3 |
+
|
4 |
+
def get_first_key(file_path):
|
5 |
+
with open(file_path, 'r') as yaml_file:
|
6 |
+
content = yaml.safe_load(yaml_file)
|
7 |
+
first_key = next(iter(content))
|
8 |
+
return first_key
|
9 |
+
|
10 |
+
if __name__ == "__main__":
|
11 |
+
yaml_file_path = sys.argv[1]
|
12 |
+
print(get_first_key(yaml_file_path))
|
evals/.github/workflows/test_eval.yaml
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
name: Run new evals
|
2 |
+
|
3 |
+
on:
|
4 |
+
pull_request:
|
5 |
+
branches:
|
6 |
+
- main
|
7 |
+
|
8 |
+
jobs:
|
9 |
+
check_files:
|
10 |
+
runs-on: ubuntu-latest
|
11 |
+
|
12 |
+
steps:
|
13 |
+
- name: Checkout repository
|
14 |
+
uses: actions/checkout@v2
|
15 |
+
with:
|
16 |
+
fetch-depth: 0
|
17 |
+
lfs: true
|
18 |
+
|
19 |
+
- name: Install Git LFS
|
20 |
+
run: |
|
21 |
+
sudo apt-get install git-lfs
|
22 |
+
git lfs install
|
23 |
+
|
24 |
+
- name: Set up Python
|
25 |
+
uses: actions/setup-python@v2
|
26 |
+
with:
|
27 |
+
python-version: 3.9
|
28 |
+
|
29 |
+
- name: Install dependencies
|
30 |
+
run: |
|
31 |
+
python -m pip install --upgrade pip
|
32 |
+
pip install pyyaml
|
33 |
+
pip install -e .
|
34 |
+
|
35 |
+
- name: Get list of new YAML files in evals/registry/evals
|
36 |
+
id: get_files
|
37 |
+
run: |
|
38 |
+
# Use environment files to store the output
|
39 |
+
git diff --name-only --diff-filter=A ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | grep '^evals/registry/evals/.*\.yaml$' | xargs > new_files
|
40 |
+
echo "new_files=$(cat new_files)" >> $GITHUB_ENV
|
41 |
+
|
42 |
+
- name: Run oaieval command for each new YAML file
|
43 |
+
run: |
|
44 |
+
files="${{ env.new_files }}"
|
45 |
+
if [ -n "$files" ]; then
|
46 |
+
for file in $files; do
|
47 |
+
echo "Processing $file"
|
48 |
+
first_key=$(python .github/workflows/parse_yaml.py $file)
|
49 |
+
echo "Eval Name: $first_key"
|
50 |
+
oaieval dummy-chat $first_key --max_samples 10
|
51 |
+
oaieval dummy-completion $first_key --max_samples 10
|
52 |
+
done
|
53 |
+
else
|
54 |
+
echo "No new YAML files found in evals/registry/evals"
|
55 |
+
fi
|
evals/.gitignore
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
__pycache__/
|
2 |
+
evals.egg-info/
|
3 |
+
.vscode/
|
evals/.pre-commit-config.yaml
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
repos:
|
2 |
+
- repo: https://github.com/psf/black
|
3 |
+
rev: 22.8.0
|
4 |
+
hooks:
|
5 |
+
- id: black
|
6 |
+
args: [--line-length=100, --exclude=""]
|
7 |
+
|
8 |
+
# this is not technically always safe but usually is
|
9 |
+
# use comments `# isort: off` and `# isort: on` to disable/re-enable isort
|
10 |
+
- repo: https://github.com/pycqa/isort
|
11 |
+
rev: 5.12.0
|
12 |
+
hooks:
|
13 |
+
- id: isort
|
14 |
+
args: [--line-length=100, --profile=black]
|
15 |
+
|
16 |
+
# this is slightly dangerous because python imports have side effects
|
17 |
+
# and this tool removes unused imports, which may be providing
|
18 |
+
# necessary side effects for the code to run
|
19 |
+
- repo: https://github.com/PyCQA/autoflake
|
20 |
+
rev: v1.6.1
|
21 |
+
hooks:
|
22 |
+
- id: autoflake
|
23 |
+
args:
|
24 |
+
- "--in-place"
|
25 |
+
- "--expand-star-imports"
|
26 |
+
- "--remove-duplicate-keys"
|
27 |
+
- "--remove-unused-variables"
|
28 |
+
- "--remove-all-unused-imports"
|
29 |
+
exclude: "evals/__init__.py"
|
evals/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
MIT License
|
2 |
+
|
3 |
+
Copyright (c) 2023 OpenAI
|
4 |
+
|
5 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6 |
+
of this software and associated documentation files (the "Software"), to deal
|
7 |
+
in the Software without restriction, including without limitation the rights
|
8 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9 |
+
copies of the Software, and to permit persons to whom the Software is
|
10 |
+
furnished to do so, subject to the following conditions:
|
11 |
+
|
12 |
+
The above copyright notice and this permission notice shall be included in all
|
13 |
+
copies or substantial portions of the Software.
|
14 |
+
|
15 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21 |
+
SOFTWARE.
|
evals/MANIFEST.in
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
recursive-include evals *.py
|
2 |
+
recursive-include evals *.yaml
|
3 |
+
recursive-include evals *.sql
|
evals/Makefile
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
1 |
+
mypy:
|
2 |
+
mypy --config-file=mypy.ini --no-site-packages .
|
evals/README.md
ADDED
@@ -0,0 +1,89 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
This is a fork of the evals repo from OpenAI that allows to evaluate models created outside of OpenAI using the same benchmarks. This provides an opportunity for apple-to-apple comparisons between AGI models of various origins, as long as their input and output specs are aligned.
|
2 |
+
|
3 |
+
# Evals
|
4 |
+
|
5 |
+
Evals is a framework for evaluating OpenAI models and an open-source registry of benchmarks.
|
6 |
+
|
7 |
+
You can use Evals to create and run evaluations that:
|
8 |
+
- use datasets to generate prompts,
|
9 |
+
- measure the quality of completions provided by an OpenAI model, and
|
10 |
+
- compare performance across different datasets and models.
|
11 |
+
|
12 |
+
With Evals, we aim to make it as simple as possible to build an eval while writing as little code as possible. To get started, we recommend that you follow these steps **in order**:
|
13 |
+
1. Read through this doc and follow the [setup instructions below](README.md#Setup).
|
14 |
+
2. Learn how to run existing evals: [run-evals.md](docs/run-evals.md).
|
15 |
+
3. Familiarize yourself with the existing eval templates: [eval-templates.md](docs/eval-templates.md).
|
16 |
+
4. Walk through the process for building an eval: [build-eval.md](docs/build-eval.md)
|
17 |
+
5. See an example of implementing custom eval logic: [custom-eval.md](docs/custom-eval.md).
|
18 |
+
|
19 |
+
If you think you have an interesting eval, please open a PR with your contribution. OpenAI staff actively review these evals when considering improvements to upcoming models.
|
20 |
+
|
21 |
+
____________________
|
22 |
+
🚨 For a limited time, we will be granting GPT-4 access to those who contribute high quality evals. Please follow the instructions mentioned above and note that spam or low quality submissions will be ignored❗️
|
23 |
+
|
24 |
+
Access will be granted to the email address associated with an accepted Eval. Due to high volume, we are unable to grant access to any email other than the one used for the pull request.
|
25 |
+
____________________
|
26 |
+
|
27 |
+
## Setup
|
28 |
+
|
29 |
+
To run evals, you will need to set up and specify your OpenAI API key. You can generate one at <https://platform.openai.com/account/api-keys>. After you obtain an API key, specify it using the `OPENAI_API_KEY` environment variable. **Please be aware of the [costs](https://openai.com/pricing) associated with using the API when running evals.**
|
30 |
+
|
31 |
+
**Minimal Required Version: Python 3.9**
|
32 |
+
|
33 |
+
### Downloading evals
|
34 |
+
|
35 |
+
Our Evals registry is stored using [Git-LFS](https://git-lfs.com/). Once you have downloaded and installed LFS, you can fetch the evals with:
|
36 |
+
```sh
|
37 |
+
git lfs fetch --all
|
38 |
+
git lfs pull
|
39 |
+
```
|
40 |
+
|
41 |
+
You may just want to fetch data for a select eval. You can achieve this via:
|
42 |
+
```sh
|
43 |
+
git lfs fetch --include=evals/registry/data/${your eval}
|
44 |
+
git lfs pull
|
45 |
+
```
|
46 |
+
|
47 |
+
### Making evals
|
48 |
+
|
49 |
+
If you are going to be creating evals, we suggest cloning this repo directly from GitHub and installing the requirements using the following command:
|
50 |
+
|
51 |
+
```sh
|
52 |
+
pip install -e .
|
53 |
+
```
|
54 |
+
|
55 |
+
Using `-e`, changes you make to your eval will be reflected immediately without having to reinstall.
|
56 |
+
|
57 |
+
### Running evals
|
58 |
+
|
59 |
+
If you don't want to contribute new evals, but simply want to run them locally, you can install the evals package via pip:
|
60 |
+
|
61 |
+
```sh
|
62 |
+
pip install evals
|
63 |
+
```
|
64 |
+
|
65 |
+
We provide the option for you to log your eval results to a Snowflake database, if you have one or wish to set one up. For this option, you will further have to specify the `SNOWFLAKE_ACCOUNT`, `SNOWFLAKE_DATABASE`, `SNOWFLAKE_USERNAME`, and `SNOWFLAKE_PASSWORD` environment variables.
|
66 |
+
|
67 |
+
## FAQ
|
68 |
+
|
69 |
+
Do you have any examples of how to build an eval from start to finish?
|
70 |
+
|
71 |
+
- Yes! These are in the `examples` folder. We recommend that you also read through [build-eval.md](docs/build-eval.md) in order to gain a deeper understanding of what is happening in these examples.
|
72 |
+
|
73 |
+
Do you have any examples of evals implemented in multiple different ways?
|
74 |
+
|
75 |
+
- Yes! In particular, see `evals/registry/evals/coqa.yaml`. We have implemented small subsets of the [CoQA](https://stanfordnlp.github.io/coqa/) dataset for various eval templates to help illustrate the differences.
|
76 |
+
|
77 |
+
When I run an eval, it sometimes hangs at the very end (after the final report). What's going on?
|
78 |
+
|
79 |
+
- This is a known issue, but you should be able to interrupt it safely and the eval should finish immediately after.
|
80 |
+
|
81 |
+
There's a lot of code, and I just want to spin up a quick eval. Help? OR,
|
82 |
+
|
83 |
+
I am a world-class prompt engineer. I choose not to code. How can I contribute my wisdom?
|
84 |
+
|
85 |
+
- If you follow an existing [eval template](docs/eval-templates.md) to build a basic or model-graded eval, you don't need to write any evaluation code at all! Just provide your data in JSON format and specify your eval parameters in YAML. [build-eval.md](docs/build-eval.md) walks you through these steps, and you can supplement these instructions with the Jupyter notebooks in the `examples` folder to help you get started quickly. Keep in mind, though, that a good eval will inevitably require careful thought and rigorous experimentation!
|
86 |
+
|
87 |
+
## Disclaimer
|
88 |
+
|
89 |
+
By contributing to Evals, you are agreeing to make your evaluation logic and data under the same MIT license as this repository. You must have adequate rights to upload any data used in an Eval. OpenAI reserves the right to use this data in future service improvements to our product. Contributions to OpenAI Evals will be subject to our usual Usage Policies: https://platform.openai.com/docs/usage-policies.
|
evals/SECURITY.md
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Security Policy
|
2 |
+
For a more in-depth look at our security policy, please check out our [Coordinated Vulnerability Disclosure Policy](https://openai.com/security/disclosure/#:~:text=Disclosure%20Policy,-Security%20is%20essential&text=OpenAI%27s%20coordinated%20vulnerability%20disclosure%20policy,expect%20from%20us%20in%20return.).
|
3 |
+
|
4 |
+
Our PGP key can located [at this address.](https://cdn.openai.com/security.txt)
|
evals/docs/build-eval.md
ADDED
@@ -0,0 +1,85 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Building an eval
|
2 |
+
|
3 |
+
This document walks through the end-to-end process for building an eval, which is a dataset and a choice of eval class. The `examples` folder contains Jupyter notebooks that follow the steps below to build several academic evals, thus helping to illustrate the overall process.
|
4 |
+
|
5 |
+
The steps in this process are building your dataset, registering a new eval with your dataset, and running your eval. Crucially, we assume that you are using an [existing eval template](eval-templates.md) out of the box (if that's not the case, see [this example of building a custom eval](custom-eval.md)). If you are interested in contributing your eval publically, we also include some criteria at the bottom for what we think makes an interesting eval.
|
6 |
+
|
7 |
+
We are looking for evals in the following categories:
|
8 |
+
|
9 |
+
- Over-refusals
|
10 |
+
- Safety
|
11 |
+
- System message steerability
|
12 |
+
- In-the-wild hallucinations
|
13 |
+
- Math / logical / physical reasoning
|
14 |
+
- Real-world use case (please describe in your PR how this capability would be used in a product)
|
15 |
+
- Other foundational capability
|
16 |
+
|
17 |
+
If you have an eval that falls outside this category but still is a diverse example, please contribute it!
|
18 |
+
|
19 |
+
## Formatting your data
|
20 |
+
|
21 |
+
Once you have an eval in mind that you wish to implement, you will need to convert your samples into the right JSON lines (JSONL) format. A JSONL file is just a JSON file with a unique JSON object per line.
|
22 |
+
|
23 |
+
We include some examples of JSONL eval files in [registry/data/README.md](../evals/registry/data/README.md)
|
24 |
+
|
25 |
+
Each JSON object will represent one data point in your eval. The keys you need in the JSON object depend on the eval template. All templates expect an `"input"` key which is the prompt, ideally specified in [chat format](https://platform.openai.com/docs/guides/chat/introduction) (though strings are also supported). We recommend chat format even if you are evaluating non chat models. If you are evaluating both chat and non chat models, we handle the conversion between chat formatted prompts and raw string prompts (see the conversion logic [here](../evals/prompt/base.py)).
|
26 |
+
|
27 |
+
For the basic evals `Match`, `Includes`, and `FuzzyMatch`, the other required key is `"ideal"`, which is a string (or a list of strings) specifying the correct reference answer(s). For model-graded evals, the required keys vary based on the eval but is determined by the `{key}`s in the evaluation `prompt` that are not covered by the (optional) `args`.
|
28 |
+
|
29 |
+
We have implemented small subsets of the [CoQA](https://stanfordnlp.github.io/coqa/) dataset for various eval templates to illustrate how the data should be formatted. See [`coqa/match.jsonl`](../evals/registry/data/coqa/match.jsonl) for an example of data that is suitable for the `Match` basic eval template and [`coqa/samples.jsonl`](../evals/registry/data/coqa/samples.jsonl) for data that is suitable for `fact` and `closedqa` model-graded evals. Note that even though these two model-graded evals expect different keys, we can include the superset of keys in our data in order to support both evals.
|
30 |
+
|
31 |
+
If the dataset file is on your local machine, put the `jsonl` file in `evals/registry/data/<eval_name>/samples.jsonl`. If it is in Cloud Object Storage, we support path-style URLs for the major clouds (for your personal use only, we will not accept PRs with cloud URLs).
|
32 |
+
|
33 |
+
## Registering the eval
|
34 |
+
|
35 |
+
Register the eval by adding a file to `evals/registry/evals/<eval_name>.yaml` using the elsuite registry format. For example, for a `Match` eval, it would be:
|
36 |
+
```
|
37 |
+
<eval_name>:
|
38 |
+
id: <eval_name>.dev.v0
|
39 |
+
metrics: [accuracy]
|
40 |
+
|
41 |
+
<eval_name>.dev.v0:
|
42 |
+
class: evals.elsuite.basic.match:Match
|
43 |
+
args:
|
44 |
+
samples_jsonl: <eval_name>/samples.jsonl
|
45 |
+
```
|
46 |
+
|
47 |
+
Upon running the eval, the data will be searched for in `evals/registry/data`, e.g. if `test_match/samples.jsonl` is the provided filepath the data is expected to be in `evals/registry/data/test_match/samples.jsonl`.
|
48 |
+
|
49 |
+
The naming convention for evals is in the form `<eval_name>.<split>.<version>`.
|
50 |
+
- `<eval_name>` is the eval name, used to group evals whose scores are comparable.
|
51 |
+
- `<split>` is the data split, used to further group evals that are under the same `<base_eval>`. E.g., "val", "test", or "dev" for testing.
|
52 |
+
- `<version>` is the version of the eval, which can be any descriptive text you'd like to use (though it's best if it does not contain ".").
|
53 |
+
|
54 |
+
In general, running the same eval name against the same model should always give similar results so that others can reproduce it. Therefore, when you change your eval, you should bump the version.
|
55 |
+
|
56 |
+
## Running the eval
|
57 |
+
|
58 |
+
You can now run your eval on your data from the CLI with your choice of model:
|
59 |
+
```
|
60 |
+
oaieval gpt-3.5-turbo <eval_name>
|
61 |
+
```
|
62 |
+
Congratulations, you have built your eval! Keep iterating on it until you are confident in the results.
|
63 |
+
|
64 |
+
## For model-graded evals: a step-by-step workflow
|
65 |
+
|
66 |
+
We expect that the existing model-graded evals such as `fact`, `closedqa`, and `battle` will fit many use cases. However, other use cases may benefit from more customization, e.g., a different evaluation prompt. For these, there will be a bit more work involved, but generally still no coding required!
|
67 |
+
|
68 |
+
1. If you can't use an existing model-graded eval, create a new YAML or create a new entry to an existing YAML in `evals/registry/modelgraded` to specify the [parameters](eval-templates.md#parameters-for-model-graded-evals) of your eval. See [`humor.yaml`](../evals/registry/modelgraded/humor.yaml) for an example.
|
69 |
+
- Note that, even if you are creating a new YAML, you may find it easiest to copy an existing YAML as a starting point. For example, model-graded evals which check a model completion against a rubric can copy `closedqa.yaml` and just edit the `args`.
|
70 |
+
2. Next, you will create your dataset and register your eval, as described above. See [`joke_fruits_labeled.jsonl`](../evals/registry/data/test_metaeval/joke_fruits_labeled.jsonl) and [`joke-fruits`](../evals/registry/evals/test-modelgraded.yaml), for example.
|
71 |
+
- Note that it is recommended to specify `eval_type` at this step, when you register your eval, rather than step 1.
|
72 |
+
3. Run your eval, e.g., `oaleval gpt-3.5-turbo joke-fruits`.
|
73 |
+
4. (Recommended) Add a meta-eval for the model-graded eval! Each model-graded eval comes with a few knobs to tune, mainly `prompt` but also `eval_type`. In order to make sure the eval is of high quality, we recommend each model-graded eval contribution come with "choice labels", which are basically human-provided labels for which evaluation choice the model should have made. As an example (pretending that these jokes are actually funny), see the `"choice"` keys in [`joke_fruits_labeled.jsonl`](../evals/registry/data/test_metaeval/joke_fruits_labeled.jsonl), which are not used by the `joke-fruits` eval but are used by the [`joke-fruits-meta`](../evals/registry/evals/test-modelgraded.yaml) meta-eval right below it . After running the meta-eval, e.g., `oaieval gpt-3.5-turbo joke-fruits-meta`, the report will output `metascore/` accuracies, which should be close to "1.0" for a good model-graded eval.
|
74 |
+
|
75 |
+
## Criteria for contributing an eval
|
76 |
+
|
77 |
+
Important: if you are contributing code, make sure to run `pip install pre-commit; pre-commit install` before committing and pushing to ensure that `black`, `isort`, and `autoflake` are run.
|
78 |
+
|
79 |
+
We are interested in curating a diverse and interesting set of evals on which to improve our models going forward. Here are some criteria for what we consider a good eval.
|
80 |
+
- [ ] The eval should be thematically consistent. We'd like to see a number of prompts all revolving around the same use case, subject domain, failure mode, etc.
|
81 |
+
- [ ] The eval should be challenging. If GPT-4 or GPT-3.5-Turbo do well on all of the prompts, this is not as interesting. Of course, the eval should also be possible given the models' limitations and constraints. Oftentimes, a good rule of thumb is whether a human (potentially a subject expert) could do well on the prompts.
|
82 |
+
- [ ] The eval should be directionally clear. The data should include good signal around what is the right behavior. This means, for example, high-quality reference answers or an exhaustive rubric for evaluating answers.
|
83 |
+
- [ ] The eval should be carefully crafted. Before you submit, you should think through whether you have engineered your prompts for good performance, whether you are using the best eval template, whether you have spot checked your results to ensure accuracy, etc.
|
84 |
+
|
85 |
+
Once you are ready to contribute your eval publicly, submit a PR and the OpenAI team will be happy to look it over. Make sure to fill out all parts of the template that is prepopulated into the PR message. Note that submitting a PR does not guarantee that OpenAI will eventually merge it. We will run our own checks and use our best judgment when considering which evals to follow up with.
|
evals/docs/custom-eval.md
ADDED
@@ -0,0 +1,148 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# How to add a custom eval
|
2 |
+
|
3 |
+
This tutorial will walk you through a simple example of writing and adding a custom eval. The example eval will test the model's ability to do basic arithmetic. We will assume that you have followed the setup instructions in the [README](../README.md) and gone through the other docs for how to run and build evals.
|
4 |
+
|
5 |
+
When writing your own evals, the primary files of interest are:
|
6 |
+
- `evals/api.py`, which provides common interfaces and utilities used by eval creators to sample from models and process the results,
|
7 |
+
- `evals/record.py`, which defines the recorder classes which log eval results in different ways, such as to a local JSON file or to a remote Snowflake database, and
|
8 |
+
- `evals/metrics.py`, which defines various common metrics of interest.
|
9 |
+
|
10 |
+
These files provide a suite of tools for writing new evals. Once you have gone through this tutorial, you can see a more realistic example of these tools in action with the [machine translation](../evals/elsuite/translate.py) [eval example](../examples/lafand-mt.ipynb), which also implements custom eval logic in lieu of using an existing template.
|
11 |
+
|
12 |
+
## Create your datasets
|
13 |
+
|
14 |
+
The first step is to create the datasets for your eval. Here, we will create toy train and test sets of just two examples each. The test examples are what we will evaluate the model on, and we'll include the train examples as few-shot examples in the prompt to the model.
|
15 |
+
|
16 |
+
We will use the new chat format described [here](https://platform.openai.com/docs/guides/chat/introduction). By default, we encourage all evals to be written using chat formatting if you want to evaluate our new models. Under the hood, we [convert](../evals/prompt/base.py) chat formatted data into raw strings for older non chat models.
|
17 |
+
|
18 |
+
To create the toy datasets, in your terminal, type:
|
19 |
+
```bash
|
20 |
+
echo -e '[{"role": "system", "content": "2+2=", "name": "example_user"}, {"role": "system", "content": "4", "name": "example_assistant"}]\n[{"role": "system", "content": "4*4=", "name": "example_user"}, {"role": "system", "content": "16", "name": "example_assistant"}]' > /tmp/train.jsonl
|
21 |
+
echo -e '[{"role": "system", "content": "48+2=", "name": "example_user"}, {"role": "system", "content": "50", "name": "example_assistant"}]\n[{"role": "system", "content": "5*20=", "name": "example_user"}, {"role": "system", "content": "100", "name": "example_assistant"}]' > /tmp/test.jsonl
|
22 |
+
```
|
23 |
+
|
24 |
+
## Create an eval
|
25 |
+
|
26 |
+
The next step is to write a Python class that represents the actual evaluation. This class uses your datasets to create prompts, which are passed to the model to generate completions. Evaluation classes generally will inherit from the `evals.Eval` base class (defined in `evals/eval.py`) and will override two methods: `eval_sample` and `run`.
|
27 |
+
|
28 |
+
Let's create a file called `arithmetic.py` under the `evals/elsuite` folder. We'll start by defining the eval class. Its `__init__` method will take in the arguments we need (references to the train and test sets) along with other `kwargs` that will be handled by the base class. We'll also define the `run` method which takes in a `recorder` and returns the final metrics of interest.
|
29 |
+
|
30 |
+
```python
|
31 |
+
import random
|
32 |
+
import textwrap
|
33 |
+
|
34 |
+
import evals
|
35 |
+
import evals.metrics
|
36 |
+
|
37 |
+
class Arithmetic(evals.Eval):
|
38 |
+
def __init__(self, train_jsonl, test_jsonl, train_samples_per_prompt=2, **kwargs):
|
39 |
+
super().__init__(**kwargs)
|
40 |
+
self.train_jsonl = train_jsonl
|
41 |
+
self.test_jsonl = test_jsonl
|
42 |
+
self.train_samples_per_prompt = train_samples_per_prompt
|
43 |
+
|
44 |
+
def run(self, recorder):
|
45 |
+
"""
|
46 |
+
Called by the `oaieval` CLI to run the eval. The `eval_all_samples` method calls `eval_sample`.
|
47 |
+
"""
|
48 |
+
self.train_samples = evals.get_jsonl(self.train_jsonl)
|
49 |
+
test_samples = evals.get_jsonl(self.test_jsonl)
|
50 |
+
self.eval_all_samples(recorder, test_samples)
|
51 |
+
|
52 |
+
# Record overall metrics
|
53 |
+
return {
|
54 |
+
"accuracy": evals.metrics.get_accuracy(recorder.get_events("match")),
|
55 |
+
}
|
56 |
+
```
|
57 |
+
|
58 |
+
Generally, most `run` methods will follow the same pattern shown here: loading the data, calling `eval_all_samples`, and aggregating the results (in this case, using the `get_accuracy` function in `evals/metrics.py`). `eval_all_samples` takes in both the `recorder` and the `test_samples` and, under the hood, will call the `eval_sample` method on each sample in `test_samples`. So let's write that `eval_sample` method now:
|
59 |
+
|
60 |
+
```python
|
61 |
+
def eval_sample(self, test_sample, rng: random.Random):
|
62 |
+
"""
|
63 |
+
Called by the `eval_all_samples` method to evaluate a single sample.
|
64 |
+
|
65 |
+
ARGS
|
66 |
+
====
|
67 |
+
`test_sample`: a line from the JSONL test file
|
68 |
+
`rng`: should be used for any randomness that is needed during evaluation
|
69 |
+
|
70 |
+
This method does the following:
|
71 |
+
1. Generate a prompt that contains the task statement, a few examples, and the test question.
|
72 |
+
2. Check if the model generates the correct answer.
|
73 |
+
"""
|
74 |
+
stuffing = rng.sample(self.train_samples, self.train_samples_per_prompt)
|
75 |
+
|
76 |
+
prompt = [
|
77 |
+
{"role": "system", "content": "Solve the following math problems"},
|
78 |
+
]
|
79 |
+
|
80 |
+
for i, sample in enumerate(stuffing + [test_sample]):
|
81 |
+
if i < len(stuffing):
|
82 |
+
prompt += [
|
83 |
+
{"role": "system", "content": sample["problem"], "name": "example_user"},
|
84 |
+
{"role": "system", "content": sample["answer"], "name": "example_assistant"},
|
85 |
+
]
|
86 |
+
else:
|
87 |
+
prompt += [{"role": "user", "content": sample["problem"]}]
|
88 |
+
|
89 |
+
evals.check_sampled_text(self.model_spec, prompt, expected=sample["answer"])
|
90 |
+
```
|
91 |
+
You'll notice that `eval_sample` doesn't take the `recorder` as an argument. This is because `eval_all_samples` sets it to be the default recorder before calling `eval_sample`, and the recording utilities defined in `evals/record.py` use the default recorder. In this example, the `eval_sample` method passes off a lot of the heavy lifting to the `evals.check_sampled_text` utility function, which is defined in `evals/api.py`. This utility function queries the model, defined by `self.model_spec`, with the given `prompt` and checks to see if the result matches the `expected` answer (or one of them, if given a list). It then records these matches (or non matches) using the default recorder.
|
92 |
+
|
93 |
+
`eval_sample` methods may vary greatly based on your use case. If you are building custom evals, it is a good idea to be familiar with the functions available to you in `evals/record.py`, `evals/metrics.py`, and especially `evals/api.py`.
|
94 |
+
|
95 |
+
## Register your eval
|
96 |
+
|
97 |
+
The next step is to register your eval in the registry so that it can be run using the `oaieval` CLI.
|
98 |
+
|
99 |
+
Let's create a file called `arithmetic.yaml` under the `evals/registry/evals` folder and add an entry for our eval as follows:
|
100 |
+
|
101 |
+
```yaml
|
102 |
+
# Define a base eval
|
103 |
+
arithmetic:
|
104 |
+
# id specifies the eval that this eval is an alias for
|
105 |
+
# in this case, arithmetic is an alias for arithmetic.dev.match-v1
|
106 |
+
# When you run `oaieval davinci arithmetic`, you are actually running `oaieval davinci arithmetic.dev.match-v1`
|
107 |
+
id: arithmetic.dev.match-v1
|
108 |
+
# The metrics that this eval records
|
109 |
+
# The first metric will be considered to be the primary metric
|
110 |
+
metrics: [accuracy]
|
111 |
+
description: Evaluate arithmetic ability
|
112 |
+
# Define the eval
|
113 |
+
arithmetic.dev.match-v1:
|
114 |
+
# Specify the class name as a dotted path to the module and class
|
115 |
+
class: evals.elsuite.arithmetic:Arithmetic
|
116 |
+
# Specify the arguments as a dictionary of JSONL URIs
|
117 |
+
# These arguments can be anything that you want to pass to the class constructor
|
118 |
+
args:
|
119 |
+
train_jsonl: /tmp/train.jsonl
|
120 |
+
test_jsonl: /tmp/test.jsonl
|
121 |
+
```
|
122 |
+
|
123 |
+
The `args` field should match the arguments that your eval class `__init__` method expects.
|
124 |
+
|
125 |
+
## Run your eval
|
126 |
+
|
127 |
+
The final step is to run your eval and view the results.
|
128 |
+
|
129 |
+
```sh
|
130 |
+
pip install . # you can omit this if you used `pip install -e .` to install
|
131 |
+
oaieval gpt-3.5-turbo arithmetic
|
132 |
+
```
|
133 |
+
|
134 |
+
If you run with the `gpt-3.5-turbo` model, you should see an output similar to this (we have cleaned up the output here slightly for readability):
|
135 |
+
|
136 |
+
```
|
137 |
+
% oaieval gpt-3.5-turbo arithmetic
|
138 |
+
... [registry.py:147] Loading registry from .../evals/registry/evals
|
139 |
+
... [registry.py:147] Loading registry from .../.evals/evals
|
140 |
+
... [oaieval.py:139] Run started: <run_id>
|
141 |
+
... [eval.py:32] Evaluating 2 samples
|
142 |
+
... [eval.py:138] Running in threaded mode with 1 threads!
|
143 |
+
100%|██████████████████████████████████████████| 2/2 [00:00<00:00, 3.35it/s]
|
144 |
+
... [record.py:320] Final report: {'accuracy': 1.0}. Logged to /tmp/evallogs/<run_id>_gpt-3.5-turbo_arithmetic.jsonl
|
145 |
+
... [oaieval.py:170] Final report:
|
146 |
+
... [oaieval.py:172] accuracy: 1.0
|
147 |
+
... [record.py:309] Logged 6 rows of events to /tmp/evallogs/<run_id>_gpt-3.5-turbo_arithmetic.jsonl: insert_time=2.038ms
|
148 |
+
```
|
evals/docs/eval-templates.md
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Existing templates for evals
|
2 |
+
|
3 |
+
In using Evals, we have discovered several "templates" that accommodate many different benchmarks. We have implemented these templates in `evals/elsuite` in order to simplify the development of new evals. We believe that, with these templates, many evals will not require any coding to implement! Instead, you'll pick one of the existing templates and simply specify the dataset and parameters.
|
4 |
+
|
5 |
+
## Basic eval templates
|
6 |
+
|
7 |
+
In cases where the desired model response has very little variation, such as answering multiple choice questions or simple questions with a straightforward answer, we have found the following templates to be useful.
|
8 |
+
|
9 |
+
For a model completion `a` and a reference list of correct answers `B`, the following evals implement:
|
10 |
+
- [`basic/match.py:Match`](../evals/elsuite/basic/match.py): `any([b.startswith(a) for b in B])`
|
11 |
+
- [`basic/includes.py:Includes`](../evals/elsuite/basic/includes.py): `any([(a in b) for b in B])`
|
12 |
+
- [`basic/fuzzy_match.py:FuzzyMatch`](../evals/elsuite/basic/fuzzy_match.py): `any([(a in b or b in a) for b in B])`
|
13 |
+
|
14 |
+
Which eval template you use will depend on your use case. It is always recommended that you inspect the completions from your model, as this will help you determine how and whether to tweak your prompt (or your reference answers) and pick your eval template. Academic benchmarks oftentimes fit the mold of these basic evals, and we have implemented several end-to-end examples of academic evals as Jupyter notebooks in the `examples` folder.
|
15 |
+
|
16 |
+
Sometimes, [custom eval logic](custom-eval.md) will better suit your needs. One example of this is the [machine translation](../evals/elsuite/translate.py) [eval example](../examples/lafand-mt.ipynb), in which there is a unique and clearly defined metric that we wish to use in our eval. You should use your best judgment when deciding between custom eval logic, using a basic eval template, or using model-graded evals as described next.
|
17 |
+
|
18 |
+
## The model-graded eval template
|
19 |
+
|
20 |
+
In cases where the desired model response can contain significant variation, such as answering an open-ended question, we have found that using the model to grade itself is a viable strategy for automated evaluation. In general, the evaluation model and the model being evaluated don't have to be the same, though we will assume that they are here for ease of explanation.
|
21 |
+
|
22 |
+
[`modelgraded/classify.py:ModelBasedClassify`](../evals/elsuite/modelgraded/classify.py) implements the main logic behind our model-graded eval template. In short, we get the model's completion to the original prompt, wrap it in an evaluation prompt, and get the model's completion to the evaluation prompt, which we parse into our metrics of interest. Crucially, the evaluation prompt should prime the model to answer in such a way that is easily parsable, e.g., in multiple choice format or with a simple yes/no. We describe some example model-graded evals below, but first we specify the parameters for this eval template.
|
23 |
+
|
24 |
+
### Parameters for model-graded evals
|
25 |
+
|
26 |
+
Refer to the [`classify.py:ModelBasedClassify`](../evals/elsuite/modelgraded/classify.py) class to see how these parameters are used in the code.
|
27 |
+
|
28 |
+
- `prompt`: The evaluation prompt which should take in the model's completion to the original prompt, potentially along with some other information, and steer the model to provide an evaluation that is easily parsable. Portions denoted by curly braces (i.e., `{key}`) are filled in either from the data `input_outputs` or the additional `args` (see below).
|
29 |
+
- `input_outputs`: A mapping specifying which inputs to use to generate which completions. For many evals, there will only be a single input-completion pair, though there can be more, e.g., when comparing two completions against each other.
|
30 |
+
- `choice_strings`: The choices that we expect the model completion to contain given the evaluation prompt. For example, `"ABCDE"` or `["Yes", "No", "Unsure"]`. Any other choices returned by the model are parsed into `"__invalid__"`.
|
31 |
+
- `choice_scores` (optional): A mapping of each choice to its score, which is logged as a metric. For example, if a response of `"Yes"` (resp. `"No"`) indicates that the model's original completion was good (resp. bad), we may assign this choice a score of 1 (resp. 0).
|
32 |
+
- `eval_type` (optional): How we expect the model to format its response to the evaluation prompt. Currently the supported options are:
|
33 |
+
- `"cot_classify"` ("chain-of-thought then classify", i.e., reason then answer) expects that the parsable portion of the response (i.e., the portion containing the choice) will be at the end of the completion. We recommend this as the default as it typically provides most accurate model-graded evaluations.
|
34 |
+
- `"classify_cot"` (answer then reason) expects that the model response will contain the choice first.
|
35 |
+
- `"classify"` expects that the model response will only contain the choice.
|
36 |
+
|
37 |
+
There are two ways to specify `eval_type`. The recommended way is in the `evals/registry/evals` YAML file. If done this way, an instruction will automatically be appended to `prompt` to steer the model towards the expected format (see `ANSWER_PROMPTS` in [the code](../evals/elsuite/modelgraded/classify.py)). Alternatively, you may specify `eval_type` in the `evals/registry/modelgraded` YAML, but you will need to include an appropriate instruction directly in the `prompt`.
|
38 |
+
- `args` (optional): If specified, multiple evaluation calls will be made where the evaluation prompt is modified for each call with a different set of arguments.
|
39 |
+
- `completion_sample_templates` (optional): If specified, determines how the model's output (or outputs, if `multicomp_n > 1`) will be formatted within the completion.
|
40 |
+
|
41 |
+
### Example model-graded evals
|
42 |
+
|
43 |
+
To instantiate model-graded evals, create a YAML file in `evals/registry/modelgraded` which specifies values for the arguments described above. We have provided a few examples, which illustrate the process for creating a model-graded eval, but which we also believe are general enough to be useful out of the box for many evals.
|
44 |
+
|
45 |
+
[`fact.yaml`](../evals/registry/modelgraded/fact.yaml): a factual consistency eval which, given a completion `a` and reference answer `b`, returns:
|
46 |
+
- `"A"` if `a` $\subseteq$ `b`, i.e., the submitted answer is a subset of the expert answer and is fully consistent with it.
|
47 |
+
- `"B"` if `a` $\supseteq$ `b`, i.e., the submitted answer is a superset of the expert answer and is fully consistent with it.
|
48 |
+
- `"C"` if `a` $=$ `b`, i.e., the submitted answer contains all the same details as the expert answer.
|
49 |
+
- `"D"` if `a` $\neq$ `b`, i.e., there is a disagreement between the submitted answer and the expert answer.
|
50 |
+
- `"E"` if `a` $\approx$ `b`, i.e., the answers differ, but these differences don't matter from the perspective of factuality.
|
51 |
+
|
52 |
+
[`closedqa.yaml`](../evals/registry/modelgraded/closedqa.yaml): a question answering eval which, given a prompt containing a question and the necessary information to answer the question, checks whether the model's answer is:
|
53 |
+
- relevant, i.e., extracted from the information provided in the prompt,
|
54 |
+
- concise, i.e., did not contain unnecessary details or information, and
|
55 |
+
- correct, i.e., uses the extracted information to come to the right conclusion.
|
56 |
+
|
57 |
+
Note that this eval is implemented more generally as a "criteria-checking" eval which specifies the evaluation prompt as checking a given criterion and feeding in the above desiderata one by one. We believe that many other evals can be implemented by specifying a "rubric" detailing the criteria of interest and following the same prompt and yes/no choices.
|
58 |
+
|
59 |
+
[`battle.yaml`](../evals/registry/modelgraded/battle.yaml): a head-to-head eval which compares two model completions for two potentially different prompts. `choice_scores` is used here to log how often the first completion is judged to be better than the second.
|
60 |
+
|
61 |
+
We include additional examples which test more specific model capabilities (such as humor) and are thus less generalizable to other evals. However, these examples still serve to illustrate different ways to write evaluation prompts and set up model-graded evals. See [this section](build-eval.md#for-model-graded-evals-a-step-by-step-workflow) for more detailed steps on building model-graded evals.
|
evals/docs/run-evals.md
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# How to run evals
|
2 |
+
|
3 |
+
We provide two command line interfaces (CLIs): `oaieval` for running a single eval and `oaievalset` for running a set of evals.
|
4 |
+
|
5 |
+
## Running an eval
|
6 |
+
|
7 |
+
When using the `oaieval` command, you will need to provide both the model you wish to evaluate as well as the eval to run. E.g.,
|
8 |
+
```sh
|
9 |
+
oaieval gpt-3.5-turbo test-match
|
10 |
+
```
|
11 |
+
|
12 |
+
In this example, `gpt-3.5-turbo` is the model to evaluate, and `test-match` is the eval to run. The valid model names are those which you have access to via the API. The valid eval names are specified in the YAML files under `evals/registry/evals`, and their corresponding implementations can be found in `evals/elsuite`.
|
13 |
+
|
14 |
+
These CLIs can accept various flags to modify their default behavior. For example:
|
15 |
+
- If you wish to log to a Snowflake database (which you have already set up as described in the [README](../README.md)), add `--no-local-run`.
|
16 |
+
- By default, logging locally or to Snowflake will write to `tmp/evallogs`, and you can change this by setting a different `--record_path`.
|
17 |
+
|
18 |
+
You can run `oaieval --help` to see a full list of CLI options.
|
19 |
+
|
20 |
+
## Running an eval set
|
21 |
+
|
22 |
+
```sh
|
23 |
+
oaievalset gpt-3.5-turbo test
|
24 |
+
```
|
25 |
+
|
26 |
+
Similarly, `oaievalset` also expects a model name and an eval set name, for which the valid options are specified in the YAML files under `evals/registry/eval_sets`.
|
27 |
+
|
28 |
+
By default we run with 10 threads, and each thread times out and restarts after 40 seconds. You can configure this, e.g.,
|
29 |
+
|
30 |
+
```sh
|
31 |
+
EVALS_THREADS=42 EVALS_THREAD_TIMEOUT=600 oaievalset gpt-3.5-turbo test
|
32 |
+
```
|
33 |
+
Running with more threads will make the eval faster, though keep in mind the costs and your [rate limits](https://platform.openai.com/docs/guides/rate-limits/overview). Running with a higher thread timeout may be necessary if you expect each sample to take a long time, e.g., the data contain long prompts that elicit long responses from the model.
|
34 |
+
|
35 |
+
If you have to stop your run or your run crashes, we've got you covered! `oaievalset` records the evals that finished in `/tmp/oaievalset/{model}.{eval_set}.progress.txt`. You can simply rerun the command to pick up where you left off. If you want to run the eval set starting from the beginning, delete this progress file.
|
36 |
+
|
37 |
+
Unfortunately, you can't resume a single eval from the middle. You'll have to restart from the beginning, so try to keep your individual evals quick to run.
|
evals/evals/__init__.py
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from .api import check_sampled_text, completion_query, sample_freeform
|
2 |
+
from .base import ModelSpec, ModelSpecs
|
3 |
+
from .data import get_csv, get_json, get_jsonl, get_jsonls, get_lines, iter_jsonls
|
4 |
+
from .eval import Eval
|
evals/evals/api.py
ADDED
@@ -0,0 +1,263 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"""
|
2 |
+
This file provides common interfaces and utilities used by eval creators to
|
3 |
+
sample from models and process the results.
|
4 |
+
"""
|
5 |
+
|
6 |
+
import logging
|
7 |
+
from typing import Callable, Optional, Union
|
8 |
+
|
9 |
+
from evals.base import ModelSpec
|
10 |
+
from evals.prompt.base import (
|
11 |
+
ChatCompletionPrompt,
|
12 |
+
CompletionPrompt,
|
13 |
+
OpenAICreateChatPrompt,
|
14 |
+
OpenAICreatePrompt,
|
15 |
+
Prompt,
|
16 |
+
)
|
17 |
+
from evals.record import record_match, record_sampling
|
18 |
+
from evals.utils.api_utils import (
|
19 |
+
openai_chat_completion_create_retrying,
|
20 |
+
openai_completion_create_retrying,
|
21 |
+
agi_completion_create_retrying,
|
22 |
+
)
|
23 |
+
|
24 |
+
logger = logging.getLogger(__name__)
|
25 |
+
|
26 |
+
|
27 |
+
def completion_query(
|
28 |
+
model_spec: ModelSpec,
|
29 |
+
prompt: Union[OpenAICreatePrompt, OpenAICreateChatPrompt, Prompt],
|
30 |
+
**kwargs,
|
31 |
+
) -> tuple[dict, Union[OpenAICreatePrompt, OpenAICreateChatPrompt], dict]:
|
32 |
+
"""
|
33 |
+
Query the API for a completion.
|
34 |
+
|
35 |
+
ARGS
|
36 |
+
====
|
37 |
+
`model_spec`: `ModelSpec` containing model details to use in the query.
|
38 |
+
This should be the dict returned by `registry.get_model()`.
|
39 |
+
If `model_spec` is not provided, we use the default model that was
|
40 |
+
intialized at the beginning of the run.
|
41 |
+
`prompt`: Either a `Prompt` object or a raw prompt that will get wrapped in
|
42 |
+
the approriate `Prompt` class.
|
43 |
+
`kwargs`: Other arguments passed to the API.
|
44 |
+
|
45 |
+
RETURNS
|
46 |
+
=======
|
47 |
+
The result of the API call.
|
48 |
+
The prompt that was fed into the API call as a str.
|
49 |
+
A dict containing metadata about the query.
|
50 |
+
"""
|
51 |
+
if not isinstance(prompt, Prompt):
|
52 |
+
assert (
|
53 |
+
isinstance(prompt, str)
|
54 |
+
or (isinstance(prompt, list) and all(isinstance(token, int) for token in prompt))
|
55 |
+
or (isinstance(prompt, list) and all(isinstance(token, str) for token in prompt))
|
56 |
+
or (isinstance(prompt, list) and all(isinstance(msg, dict) for msg in prompt))
|
57 |
+
), f"Got type {type(prompt)}, with val {type(prompt[0])} for prompt, expected str or list[int] or list[str] or list[dict[str, str]]"
|
58 |
+
|
59 |
+
if model_spec.is_chat:
|
60 |
+
prompt = ChatCompletionPrompt(
|
61 |
+
raw_prompt=prompt,
|
62 |
+
)
|
63 |
+
else:
|
64 |
+
prompt = CompletionPrompt(
|
65 |
+
raw_prompt=prompt,
|
66 |
+
)
|
67 |
+
|
68 |
+
openai_create_prompt: Union[
|
69 |
+
OpenAICreatePrompt, OpenAICreateChatPrompt
|
70 |
+
] = prompt.to_openai_create_prompt()
|
71 |
+
|
72 |
+
extra_args = {
|
73 |
+
key: model_spec.extra_options.get(key, kwargs.get(key))
|
74 |
+
for key in set(kwargs) | set(model_spec.extra_options)
|
75 |
+
}
|
76 |
+
|
77 |
+
if model_spec.is_agi:
|
78 |
+
result = agi_completion_create_retrying(
|
79 |
+
model=model_spec.model,
|
80 |
+
api_base=model_spec.api_base,
|
81 |
+
messages=openai_create_prompt,
|
82 |
+
**extra_args,
|
83 |
+
)
|
84 |
+
elif model_spec.is_chat:
|
85 |
+
result = openai_chat_completion_create_retrying(
|
86 |
+
model=model_spec.model,
|
87 |
+
api_base=model_spec.api_base,
|
88 |
+
api_key=model_spec.api_key,
|
89 |
+
messages=openai_create_prompt,
|
90 |
+
**extra_args,
|
91 |
+
)
|
92 |
+
else:
|
93 |
+
result = openai_completion_create_retrying(
|
94 |
+
model=model_spec.model,
|
95 |
+
api_base=model_spec.api_base,
|
96 |
+
api_key=model_spec.api_key,
|
97 |
+
prompt=openai_create_prompt,
|
98 |
+
**extra_args,
|
99 |
+
)
|
100 |
+
|
101 |
+
metadata = {}
|
102 |
+
if result:
|
103 |
+
metadata["completion_id"] = result.get("id", None)
|
104 |
+
metadata["model"] = result.get("model", None)
|
105 |
+
|
106 |
+
if model_spec.is_chat:
|
107 |
+
for choice in result["choices"]:
|
108 |
+
choice["text"] = choice["message"]["content"]
|
109 |
+
|
110 |
+
return result, openai_create_prompt, metadata
|
111 |
+
|
112 |
+
|
113 |
+
def check_sampled_text(
|
114 |
+
model_spec: ModelSpec,
|
115 |
+
prompt: Union[OpenAICreatePrompt, OpenAICreateChatPrompt, Prompt],
|
116 |
+
expected: Union[str, list[str], tuple[str]],
|
117 |
+
*,
|
118 |
+
options: Optional[list[str]] = None,
|
119 |
+
separator: Callable[[str], bool] = None,
|
120 |
+
) -> Optional[str]:
|
121 |
+
"""
|
122 |
+
Generates a completion using the prompt, checks whether the completion is
|
123 |
+
one of the expected completions, and then records the result.
|
124 |
+
|
125 |
+
ARGS
|
126 |
+
====
|
127 |
+
`model_spec`: See `completion_query`.
|
128 |
+
`prompt`: See `completion_query`.
|
129 |
+
`options`: The list of canonical options, defaults to `expected` if None.
|
130 |
+
The completion will be converted to one of these options.
|
131 |
+
`expected`: The desired completion or the list of desired completions.
|
132 |
+
`separator`: A callable which check the character sampled after the option
|
133 |
+
to see if it is a valid separator.
|
134 |
+
|
135 |
+
RETURNS
|
136 |
+
=======
|
137 |
+
The option that was picked, i.e., matched the completion, or None.
|
138 |
+
"""
|
139 |
+
if isinstance(expected, tuple):
|
140 |
+
expected = list(expected)
|
141 |
+
elif not isinstance(expected, list):
|
142 |
+
expected = [expected]
|
143 |
+
if options is None:
|
144 |
+
options = expected
|
145 |
+
|
146 |
+
result, actual_prompt, metadata = completion_query(
|
147 |
+
prompt=prompt,
|
148 |
+
temperature=0.0,
|
149 |
+
model_spec=model_spec,
|
150 |
+
)
|
151 |
+
choice = result["choices"][0]
|
152 |
+
|
153 |
+
sampled = choice["text"].strip() if model_spec.strip_completion else choice["text"]
|
154 |
+
|
155 |
+
picked = None
|
156 |
+
for option in options:
|
157 |
+
if not sampled.startswith(option):
|
158 |
+
continue
|
159 |
+
if (
|
160 |
+
separator is not None
|
161 |
+
and len(sampled) > len(option)
|
162 |
+
and not separator(sampled[len(option)])
|
163 |
+
):
|
164 |
+
continue
|
165 |
+
picked = option
|
166 |
+
break
|
167 |
+
|
168 |
+
result = {
|
169 |
+
"prompt": actual_prompt,
|
170 |
+
"sampled": sampled,
|
171 |
+
"options": options,
|
172 |
+
"picked": picked,
|
173 |
+
}
|
174 |
+
match = picked in expected
|
175 |
+
result["expected"] = expected
|
176 |
+
result["match"] = match
|
177 |
+
result["metadata"] = metadata
|
178 |
+
record_sampling(**result)
|
179 |
+
record_match(match, expected=expected, picked=picked, sampled=sampled)
|
180 |
+
return picked
|
181 |
+
|
182 |
+
|
183 |
+
def sample_freeform(
|
184 |
+
model_spec: ModelSpec,
|
185 |
+
prompt: Union[OpenAICreatePrompt, OpenAICreateChatPrompt, Prompt],
|
186 |
+
*,
|
187 |
+
temperature: float = 1.0,
|
188 |
+
top_p: float = 0.9,
|
189 |
+
max_tokens: int = 512,
|
190 |
+
stop: Optional[str] = None,
|
191 |
+
n_samples: int = None,
|
192 |
+
return_logprobs: bool = False,
|
193 |
+
**kwargs,
|
194 |
+
) -> Union[str, list[str], dict]:
|
195 |
+
"""
|
196 |
+
Samples a freeform response from the specified model, records the sampling,
|
197 |
+
and returns the sampled text.
|
198 |
+
|
199 |
+
ARGS
|
200 |
+
====
|
201 |
+
`model_spec`: See `completion_query`.
|
202 |
+
`prompt`: See `completion_query`.
|
203 |
+
`temperature`: Passed to `openai.Completion.create`.
|
204 |
+
`top_p`: Passed to `openai.Completion.create`.
|
205 |
+
`max_tokens`: Passed to `openai.Completion.create`.
|
206 |
+
`stop`: Passed to `openai.Completion.create`.
|
207 |
+
`n_samples`: The number of samples to generate (1 if None).
|
208 |
+
`return_logprobs`: If True, returns the tokens and corresponding logprobs
|
209 |
+
in addition to the sampled text.
|
210 |
+
`kwargs`: See `completion_query`.
|
211 |
+
|
212 |
+
RETURNS
|
213 |
+
=======
|
214 |
+
If `return_logprobs` is True, returns a dict with the sampled text, tokens,
|
215 |
+
and corresponding logprobs. If `n_samples` is None, the outer list is
|
216 |
+
removed from all values.
|
217 |
+
Otherwise, returns the sampled text, or a list of sampled texts if
|
218 |
+
`n_samples` is not None.
|
219 |
+
"""
|
220 |
+
response, actual_prompt, metadata = completion_query(
|
221 |
+
prompt=prompt,
|
222 |
+
temperature=temperature,
|
223 |
+
top_p=top_p,
|
224 |
+
max_tokens=max_tokens,
|
225 |
+
stop=stop,
|
226 |
+
n=(1 if n_samples is None else n_samples),
|
227 |
+
model_spec=model_spec,
|
228 |
+
headers={},
|
229 |
+
**kwargs,
|
230 |
+
)
|
231 |
+
sampled = [choice["text"] for choice in response["choices"]]
|
232 |
+
if n_samples is None:
|
233 |
+
sampled = sampled[0]
|
234 |
+
record_sampling(prompt=actual_prompt, sampled=sampled, metadata=metadata)
|
235 |
+
|
236 |
+
if return_logprobs:
|
237 |
+
assert not model_spec.is_chat, "logprobs only works for non-chat models"
|
238 |
+
assert not kwargs.get("logprobs") is None
|
239 |
+
|
240 |
+
def _maybe_tokens(logprobs: Optional[dict]) -> Optional[list[str]]:
|
241 |
+
return logprobs["tokens"] if logprobs is not None else None
|
242 |
+
|
243 |
+
def _maybe_logprobs(logprobs: Optional[dict]) -> Optional[list[float]]:
|
244 |
+
return logprobs["token_logprobs"] if logprobs is not None else None
|
245 |
+
|
246 |
+
def _maybe_top_logprobs(logprobs: Optional[dict]) -> Optional[list[dict[str, float]]]:
|
247 |
+
return [dict(x) for x in logprobs["top_logprobs"]] if logprobs is not None else None
|
248 |
+
|
249 |
+
tokens = [_maybe_tokens(choice["logprobs"]) for choice in response["choices"]]
|
250 |
+
logprobs = [_maybe_logprobs(choice["logprobs"]) for choice in response["choices"]]
|
251 |
+
top_logprobs = [_maybe_top_logprobs(choice["logprobs"]) for choice in response["choices"]]
|
252 |
+
if n_samples is None:
|
253 |
+
tokens = tokens[0]
|
254 |
+
logprobs = logprobs[0]
|
255 |
+
top_logprobs = top_logprobs[0]
|
256 |
+
return {
|
257 |
+
"text": sampled,
|
258 |
+
"tokens": tokens,
|
259 |
+
"logprobs": logprobs,
|
260 |
+
"top_logprobs": top_logprobs,
|
261 |
+
}
|
262 |
+
|
263 |
+
return sampled
|
evals/evals/base.py
ADDED
@@ -0,0 +1,153 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"""
|
2 |
+
This file defines the base specifications for models, evals, and runs. Running
|
3 |
+
evals and most development work should not require familiarity with this file.
|
4 |
+
"""
|
5 |
+
import base64
|
6 |
+
import datetime
|
7 |
+
import os
|
8 |
+
from typing import TYPE_CHECKING, Any, Dict, Mapping, Optional, Sequence
|
9 |
+
|
10 |
+
if TYPE_CHECKING:
|
11 |
+
from dataclasses import dataclass
|
12 |
+
else:
|
13 |
+
from pydantic.dataclasses import dataclass
|
14 |
+
|
15 |
+
|
16 |
+
@dataclass
|
17 |
+
class ModelSpec:
|
18 |
+
"""
|
19 |
+
Specification for a model.
|
20 |
+
"""
|
21 |
+
|
22 |
+
name: str
|
23 |
+
model: Optional[str] = None
|
24 |
+
api_base: Optional[str] = None
|
25 |
+
|
26 |
+
is_chat: bool = False
|
27 |
+
is_agi: bool = False
|
28 |
+
|
29 |
+
encoding: Optional[str] = None
|
30 |
+
organization: Optional[str] = None
|
31 |
+
api_key: Optional[str] = None
|
32 |
+
extra_options: Optional[Mapping[str, Any]] = None
|
33 |
+
metadata: Optional[Mapping[str, Any]] = None
|
34 |
+
headers: Optional[Mapping[str, Any]] = None
|
35 |
+
strip_completion: bool = True
|
36 |
+
n_ctx: Optional[int] = None
|
37 |
+
format: Optional[str] = None
|
38 |
+
key: Optional[str] = None
|
39 |
+
group: Optional[str] = None
|
40 |
+
|
41 |
+
def __post_init__(self):
|
42 |
+
if self.extra_options is None:
|
43 |
+
self.extra_options = {}
|
44 |
+
if self.headers is None:
|
45 |
+
self.headers = {}
|
46 |
+
|
47 |
+
if self.model is None:
|
48 |
+
raise ValueError(f"Must specify a model")
|
49 |
+
|
50 |
+
|
51 |
+
@dataclass
|
52 |
+
class BaseEvalSpec:
|
53 |
+
"""
|
54 |
+
Specification for a base eval.
|
55 |
+
"""
|
56 |
+
|
57 |
+
id: Optional[str] = None
|
58 |
+
metrics: Optional[Sequence[str]] = None
|
59 |
+
description: Optional[str] = None
|
60 |
+
disclaimer: Optional[str] = None
|
61 |
+
|
62 |
+
"""
|
63 |
+
True if higher values are better, False if lower values are better.
|
64 |
+
This should really be part of a metric, but it's easier to put it here.
|
65 |
+
"""
|
66 |
+
higher_is_better: bool = True
|
67 |
+
|
68 |
+
key: Optional[str] = None
|
69 |
+
group: Optional[str] = None
|
70 |
+
|
71 |
+
|
72 |
+
@dataclass
|
73 |
+
class EvalSpec:
|
74 |
+
"""
|
75 |
+
Specification for an eval.
|
76 |
+
"""
|
77 |
+
|
78 |
+
cls: str
|
79 |
+
args: Optional[Dict[str, Any]] = None
|
80 |
+
key: Optional[str] = None
|
81 |
+
group: Optional[str] = None
|
82 |
+
|
83 |
+
|
84 |
+
@dataclass
|
85 |
+
class EvalSetSpec:
|
86 |
+
"""
|
87 |
+
Specification for an eval set.
|
88 |
+
"""
|
89 |
+
|
90 |
+
evals: Sequence[str]
|
91 |
+
key: Optional[str] = None
|
92 |
+
group: Optional[str] = None
|
93 |
+
|
94 |
+
|
95 |
+
@dataclass
|
96 |
+
class ModelSpecs:
|
97 |
+
completions_: Optional[Sequence[ModelSpec]] = None
|
98 |
+
embedding_: Optional[ModelSpec] = None
|
99 |
+
ranking_: Optional[ModelSpec] = None
|
100 |
+
|
101 |
+
@property
|
102 |
+
def embedding(self) -> ModelSpec:
|
103 |
+
if self.embedding_ is None:
|
104 |
+
raise ValueError("Embedding model was not specified")
|
105 |
+
return self.embedding_
|
106 |
+
|
107 |
+
@property
|
108 |
+
def ranking(self) -> ModelSpec:
|
109 |
+
if self.ranking_ is None:
|
110 |
+
raise ValueError("Ranking model was not specified")
|
111 |
+
return self.ranking_
|
112 |
+
|
113 |
+
@property
|
114 |
+
def completion(self) -> ModelSpec:
|
115 |
+
if self.completions_ is None:
|
116 |
+
raise ValueError("Completion model was not specified")
|
117 |
+
return self.completions_[0]
|
118 |
+
|
119 |
+
@property
|
120 |
+
def completions(self) -> Sequence[ModelSpec]:
|
121 |
+
if self.completions_ is None:
|
122 |
+
raise ValueError("Completion model was not specified")
|
123 |
+
return self.completions_
|
124 |
+
|
125 |
+
@property
|
126 |
+
def names(self) -> dict[str, Sequence[str]]:
|
127 |
+
dict = {}
|
128 |
+
if self.completions_ is not None:
|
129 |
+
dict["completions"] = [model.name for model in self.completions_]
|
130 |
+
if self.embedding_ is not None:
|
131 |
+
dict["embedding"] = [self.embedding_.name]
|
132 |
+
if self.ranking_ is not None:
|
133 |
+
dict["ranking"] = [self.ranking_.name]
|
134 |
+
return dict
|
135 |
+
|
136 |
+
|
137 |
+
@dataclass
|
138 |
+
class RunSpec:
|
139 |
+
model_name: str
|
140 |
+
model_names: dict[str, Sequence[str]]
|
141 |
+
eval_name: str
|
142 |
+
base_eval: str
|
143 |
+
split: str
|
144 |
+
run_config: Dict[str, Any]
|
145 |
+
created_by: str
|
146 |
+
run_id: str = None
|
147 |
+
created_at: str = None
|
148 |
+
|
149 |
+
def __post_init__(self):
|
150 |
+
now = datetime.datetime.utcnow()
|
151 |
+
rand_suffix = base64.b32encode(os.urandom(5)).decode("ascii")
|
152 |
+
self.run_id = now.strftime("%y%m%d%H%M%S") + rand_suffix
|
153 |
+
self.created_at = str(now)
|
evals/evals/cli/oaieval.py
ADDED
@@ -0,0 +1,274 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"""
|
2 |
+
This file defines the `oaieval` CLI for running evals.
|
3 |
+
"""
|
4 |
+
import argparse
|
5 |
+
import logging
|
6 |
+
import shlex
|
7 |
+
import sys
|
8 |
+
from functools import cached_property
|
9 |
+
from typing import Any, Mapping, Optional
|
10 |
+
|
11 |
+
import openai
|
12 |
+
|
13 |
+
import evals
|
14 |
+
import evals.api
|
15 |
+
import evals.base
|
16 |
+
import evals.record
|
17 |
+
from evals.base import ModelSpec, ModelSpecs
|
18 |
+
from evals.registry import Registry
|
19 |
+
|
20 |
+
logger = logging.getLogger(__name__)
|
21 |
+
|
22 |
+
|
23 |
+
def _purple(str):
|
24 |
+
return f"\033[1;35m{str}\033[0m"
|
25 |
+
|
26 |
+
|
27 |
+
def get_parser() -> argparse.ArgumentParser:
|
28 |
+
parser = argparse.ArgumentParser(description="Run evals through the API")
|
29 |
+
parser.add_argument("model", type=str, help="Name of a completion model.")
|
30 |
+
parser.add_argument("eval", type=str, help="Name of an eval. See registry.")
|
31 |
+
parser.add_argument("--embedding_model", type=str, default="")
|
32 |
+
parser.add_argument("--ranking_model", type=str, default="")
|
33 |
+
parser.add_argument("--extra_eval_params", type=str, default="")
|
34 |
+
parser.add_argument("--modelspec_extra_options", type=str, default="")
|
35 |
+
parser.add_argument("--max_samples", type=int, default=None)
|
36 |
+
parser.add_argument("--cache", action=argparse.BooleanOptionalAction, default=True)
|
37 |
+
parser.add_argument("--visible", action=argparse.BooleanOptionalAction, default=None)
|
38 |
+
parser.add_argument("--seed", type=int, default=20220722)
|
39 |
+
parser.add_argument("--user", type=str, default="")
|
40 |
+
parser.add_argument("--record_path", type=str, default=None)
|
41 |
+
parser.add_argument(
|
42 |
+
"--log_to_file", type=str, default=None, help="Log to a file instead of stdout"
|
43 |
+
)
|
44 |
+
parser.add_argument("--debug", action=argparse.BooleanOptionalAction, default=False)
|
45 |
+
parser.add_argument("--local-run", action=argparse.BooleanOptionalAction, default=True)
|
46 |
+
parser.add_argument("--dry-run", action=argparse.BooleanOptionalAction, default=False)
|
47 |
+
parser.add_argument("--dry-run-logging", action=argparse.BooleanOptionalAction, default=True)
|
48 |
+
return parser
|
49 |
+
|
50 |
+
|
51 |
+
def parse_extra_eval_params(param_str: Optional[str]) -> Mapping[str, Any]:
|
52 |
+
"""Parse a string of the form "key1=value1,key2=value2" into a dict."""
|
53 |
+
if not param_str:
|
54 |
+
return {}
|
55 |
+
|
56 |
+
def to_number(x):
|
57 |
+
try:
|
58 |
+
return int(x)
|
59 |
+
except:
|
60 |
+
pass
|
61 |
+
try:
|
62 |
+
return float(x)
|
63 |
+
except:
|
64 |
+
pass
|
65 |
+
return x
|
66 |
+
|
67 |
+
str_dict = dict(kv.split("=") for kv in param_str.split(","))
|
68 |
+
return {k: to_number(v) for k, v in str_dict.items()}
|
69 |
+
|
70 |
+
|
71 |
+
def n_ctx_from_model_name(model_name: str) -> Optional[int]:
|
72 |
+
"""Returns n_ctx for a given API model name. Model list last updated 2023-03-14."""
|
73 |
+
# note that for most models, the max tokens is n_ctx + 1
|
74 |
+
DICT_OF_N_CTX_BY_MODEL_NAME_PREFIX: dict[str, int] = {
|
75 |
+
"dummy-": 2048,
|
76 |
+
"gpt-3.5-turbo-": 4096,
|
77 |
+
"gpt-4-": 8192,
|
78 |
+
"gpt-4-32k-": 32768,
|
79 |
+
"agi-":128,
|
80 |
+
}
|
81 |
+
DICT_OF_N_CTX_BY_MODEL_NAME: dict[str, int] = {
|
82 |
+
"ada": 2048,
|
83 |
+
"text-ada-001": 2048,
|
84 |
+
"babbage": 2048,
|
85 |
+
"text-babbage-001": 2048,
|
86 |
+
"curie": 2048,
|
87 |
+
"text-curie-001": 2048,
|
88 |
+
"davinci": 2048,
|
89 |
+
"text-davinci-001": 2048,
|
90 |
+
"code-davinci-002": 8000,
|
91 |
+
"text-davinci-002": 4096,
|
92 |
+
"text-davinci-003": 4096,
|
93 |
+
"gpt-3.5-turbo": 4096,
|
94 |
+
"gpt-3.5-turbo-0301": 4096,
|
95 |
+
"gpt-4": 8192,
|
96 |
+
"gpt-4-0314": 8192,
|
97 |
+
"gpt-4-32k": 32768,
|
98 |
+
"gpt-4-32k-0314": 32768,
|
99 |
+
"agi-7B": 128,
|
100 |
+
"agi-13B": 128,
|
101 |
+
"agi-17B": 128,
|
102 |
+
"agi-30B": 128,
|
103 |
+
"agi-65B": 128,
|
104 |
+
}
|
105 |
+
# first, look for a prefix match
|
106 |
+
for model_prefix, n_ctx in DICT_OF_N_CTX_BY_MODEL_NAME_PREFIX.items():
|
107 |
+
if model_name.startswith(model_prefix):
|
108 |
+
return n_ctx
|
109 |
+
# otherwise, look for an exact match and return None if not found
|
110 |
+
return DICT_OF_N_CTX_BY_MODEL_NAME.get(model_name, None)
|
111 |
+
|
112 |
+
|
113 |
+
class ModelResolver:
|
114 |
+
# This is a temporary method to identify which models are chat models.
|
115 |
+
# Eventually, the OpenAI API should expose this information directly.
|
116 |
+
CHAT_MODELS = {
|
117 |
+
"gpt-3.5-turbo",
|
118 |
+
"gpt-3.5-turbo-0301",
|
119 |
+
"gpt-4",
|
120 |
+
"gpt-4-0314",
|
121 |
+
"gpt-4-32k",
|
122 |
+
"gpt-4-32k-0314",
|
123 |
+
"dummy-chat",
|
124 |
+
"agi-7B",
|
125 |
+
"agi-13B",
|
126 |
+
"agi-17B",
|
127 |
+
"agi-30B",
|
128 |
+
"agi-65B",
|
129 |
+
}
|
130 |
+
|
131 |
+
AGI_MODELS = {
|
132 |
+
"agi-7B",
|
133 |
+
"agi-13B",
|
134 |
+
"agi-17B",
|
135 |
+
"agi-30B",
|
136 |
+
"agi-65B",
|
137 |
+
}
|
138 |
+
|
139 |
+
AGI_MODEL_IDS = [model for model in AGI_MODELS]
|
140 |
+
|
141 |
+
DUMMY_MODELS = {
|
142 |
+
"dummy-chat",
|
143 |
+
"dummy-completion",
|
144 |
+
}
|
145 |
+
|
146 |
+
def resolve(self, name: str) -> ModelSpec:
|
147 |
+
if name in self.DUMMY_MODELS:
|
148 |
+
result = ModelSpec(name=name, model=name, is_chat=(name in self.CHAT_MODELS))
|
149 |
+
return result
|
150 |
+
|
151 |
+
if name in self.api_model_ids:
|
152 |
+
result = ModelSpec(
|
153 |
+
name=name,
|
154 |
+
model=name,
|
155 |
+
is_chat=(name in self.CHAT_MODELS),
|
156 |
+
is_agi=(name in self.AGI_MODELS),
|
157 |
+
n_ctx=n_ctx_from_model_name(name),
|
158 |
+
)
|
159 |
+
return result
|
160 |
+
|
161 |
+
raise ValueError(f"Couldn't find model: {name}")
|
162 |
+
|
163 |
+
@cached_property
|
164 |
+
def api_model_ids(self):
|
165 |
+
return([m["id"] for m in openai.Model.list()["data"]] + self.AGI_MODEL_IDS)
|
166 |
+
|
167 |
+
|
168 |
+
def run(args, model_resolver: ModelResolver, registry: Optional[Registry] = None):
|
169 |
+
if args.debug:
|
170 |
+
logging.getLogger().setLevel(logging.DEBUG)
|
171 |
+
|
172 |
+
visible = args.visible if args.visible is not None else (args.max_samples is None)
|
173 |
+
|
174 |
+
if args.max_samples is not None:
|
175 |
+
evals.eval.set_max_samples(args.max_samples)
|
176 |
+
|
177 |
+
registry = registry or Registry()
|
178 |
+
eval_spec = registry.get_eval(args.eval)
|
179 |
+
assert (
|
180 |
+
eval_spec is not None
|
181 |
+
), f"Eval {args.eval} not found. Available: {list(sorted(registry._evals.keys()))}"
|
182 |
+
|
183 |
+
def get_model(name: str) -> ModelSpec:
|
184 |
+
return model_resolver.resolve(name)
|
185 |
+
|
186 |
+
completion_model_specs = [get_model(model) for model in args.model.split(",")]
|
187 |
+
|
188 |
+
for spec in completion_model_specs:
|
189 |
+
spec.extra_options = parse_extra_eval_params(args.modelspec_extra_options)
|
190 |
+
|
191 |
+
model_specs = ModelSpecs(
|
192 |
+
completions_=completion_model_specs,
|
193 |
+
embedding_=get_model(args.embedding_model) if args.embedding_model else None,
|
194 |
+
ranking_=get_model(args.ranking_model) if args.ranking_model else None,
|
195 |
+
)
|
196 |
+
|
197 |
+
run_config = {
|
198 |
+
"model_specs": model_specs,
|
199 |
+
"eval_spec": eval_spec,
|
200 |
+
"seed": args.seed,
|
201 |
+
"max_samples": args.max_samples,
|
202 |
+
"command": " ".join(map(shlex.quote, sys.argv)),
|
203 |
+
"initial_settings": {
|
204 |
+
"visible": visible,
|
205 |
+
},
|
206 |
+
}
|
207 |
+
|
208 |
+
model_name = model_specs.completions_[0].name if len(model_specs.completions_) > 0 else "n/a"
|
209 |
+
eval_name = eval_spec.key
|
210 |
+
run_spec = evals.base.RunSpec(
|
211 |
+
model_name=model_name,
|
212 |
+
model_names=model_specs.names,
|
213 |
+
eval_name=eval_name,
|
214 |
+
base_eval=eval_name.split(".")[0],
|
215 |
+
split=eval_name.split(".")[1],
|
216 |
+
run_config=run_config,
|
217 |
+
created_by=args.user,
|
218 |
+
)
|
219 |
+
if args.record_path is None:
|
220 |
+
record_path = f"/tmp/evallogs/{run_spec.run_id}_{args.model}_{args.eval}.jsonl"
|
221 |
+
else:
|
222 |
+
record_path = args.record_path
|
223 |
+
if args.dry_run:
|
224 |
+
recorder = evals.record.DummyRecorder(run_spec=run_spec, log=args.dry_run_logging)
|
225 |
+
elif args.local_run:
|
226 |
+
recorder = evals.record.LocalRecorder(record_path, run_spec=run_spec)
|
227 |
+
else:
|
228 |
+
recorder = evals.record.Recorder(record_path, run_spec=run_spec)
|
229 |
+
|
230 |
+
api_extra_options = {}
|
231 |
+
if not args.cache:
|
232 |
+
api_extra_options["cache_level"] = 0
|
233 |
+
|
234 |
+
run_url = f"{run_spec.run_id}"
|
235 |
+
logger.info(_purple(f"Run started: {run_url}"))
|
236 |
+
|
237 |
+
extra_eval_params = parse_extra_eval_params(args.extra_eval_params)
|
238 |
+
|
239 |
+
eval_class = registry.get_class(eval_spec)
|
240 |
+
eval = eval_class(
|
241 |
+
model_specs=model_specs,
|
242 |
+
seed=args.seed,
|
243 |
+
name=eval_name,
|
244 |
+
registry=registry,
|
245 |
+
**extra_eval_params,
|
246 |
+
)
|
247 |
+
result = eval.run(recorder)
|
248 |
+
recorder.record_final_report(result)
|
249 |
+
|
250 |
+
if not (args.dry_run or args.local_run):
|
251 |
+
logger.info(_purple(f"Run completed: {run_url}"))
|
252 |
+
|
253 |
+
logger.info("Final report:")
|
254 |
+
for key, value in result.items():
|
255 |
+
logger.info(f"{key}: {value}")
|
256 |
+
return run_spec.run_id
|
257 |
+
|
258 |
+
|
259 |
+
def main():
|
260 |
+
parser = get_parser()
|
261 |
+
args = parser.parse_args(sys.argv[1:])
|
262 |
+
logging.basicConfig(
|
263 |
+
format="[%(asctime)s] [%(filename)s:%(lineno)d] %(message)s",
|
264 |
+
level=logging.INFO,
|
265 |
+
filename=args.log_to_file if args.log_to_file else None,
|
266 |
+
)
|
267 |
+
logging.getLogger("openai").setLevel(logging.WARN)
|
268 |
+
if hasattr(openai.error, "set_display_cause"):
|
269 |
+
openai.error.set_display_cause()
|
270 |
+
run(args, model_resolver=ModelResolver())
|
271 |
+
|
272 |
+
|
273 |
+
if __name__ == "__main__":
|
274 |
+
main()
|
evals/evals/cli/oaievalset.py
ADDED
@@ -0,0 +1,105 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"""
|
2 |
+
This file defines the `oaievalset` CLI for running eval sets.
|
3 |
+
"""
|
4 |
+
import argparse
|
5 |
+
import json
|
6 |
+
import subprocess
|
7 |
+
from pathlib import Path
|
8 |
+
from typing import Optional
|
9 |
+
|
10 |
+
from evals.registry import Registry
|
11 |
+
|
12 |
+
Task = list[str]
|
13 |
+
|
14 |
+
|
15 |
+
class Progress:
|
16 |
+
def __init__(self, file: str) -> None:
|
17 |
+
self.file = Path(file)
|
18 |
+
self.completed: list[Task] = []
|
19 |
+
|
20 |
+
def load(self) -> bool:
|
21 |
+
if not self.file.exists():
|
22 |
+
return False
|
23 |
+
|
24 |
+
with self.file.open() as f:
|
25 |
+
for line in f:
|
26 |
+
self.completed.append(json.loads(line))
|
27 |
+
return len(self.completed) > 0
|
28 |
+
|
29 |
+
def add(self, item: Task) -> None:
|
30 |
+
self.completed.append(item)
|
31 |
+
self.save()
|
32 |
+
|
33 |
+
def save(self) -> None:
|
34 |
+
self.file.parent.mkdir(parents=True, exist_ok=True)
|
35 |
+
with self.file.open("w") as f:
|
36 |
+
for item in self.completed:
|
37 |
+
f.write(json.dumps(item) + "\n")
|
38 |
+
print(highlight(f"Saved progress to {self.file}"))
|
39 |
+
|
40 |
+
|
41 |
+
def highlight(str: str) -> str:
|
42 |
+
return f"\033[1;32m>>> {str}\033[0m"
|
43 |
+
|
44 |
+
|
45 |
+
def get_parser() -> argparse.ArgumentParser:
|
46 |
+
parser = argparse.ArgumentParser(description="Run eval sets through the API")
|
47 |
+
parser.add_argument("model", type=str, help="Name of a completion model.")
|
48 |
+
parser.add_argument("eval_set", type=str, help="Name of eval set. See registry.")
|
49 |
+
parser.add_argument(
|
50 |
+
"--resume",
|
51 |
+
action=argparse.BooleanOptionalAction,
|
52 |
+
default=True,
|
53 |
+
help="Resume from last checkpoint.",
|
54 |
+
)
|
55 |
+
parser.add_argument(
|
56 |
+
"--exit-on-error",
|
57 |
+
action=argparse.BooleanOptionalAction,
|
58 |
+
default=True,
|
59 |
+
help="Exit if any oaieval command fails.",
|
60 |
+
)
|
61 |
+
return parser
|
62 |
+
|
63 |
+
|
64 |
+
def run(args, unknown_args, registry: Optional[Registry] = None) -> None:
|
65 |
+
registry = registry or Registry()
|
66 |
+
commands: list[Task] = []
|
67 |
+
eval_set = registry.get_eval_set(args.eval_set)
|
68 |
+
for eval in registry.get_evals(eval_set.evals):
|
69 |
+
command = ["oaieval", args.model, eval.key] + unknown_args
|
70 |
+
if command in commands:
|
71 |
+
continue
|
72 |
+
commands.append(command)
|
73 |
+
num_evals = len(commands)
|
74 |
+
|
75 |
+
progress = Progress(f"/tmp/oaievalset/{args.model}.{args.eval_set}.progress.txt")
|
76 |
+
if args.resume and progress.load():
|
77 |
+
print(f"Loaded progress from {progress.file}")
|
78 |
+
print(f"{len(progress.completed)}/{len(commands)} evals already completed:")
|
79 |
+
for item in progress.completed:
|
80 |
+
print(" " + " ".join(item))
|
81 |
+
|
82 |
+
commands = [c for c in commands if c not in progress.completed]
|
83 |
+
command_strs = [" ".join(cmd) for cmd in commands]
|
84 |
+
print("Going to run the following commands:")
|
85 |
+
for command_str in command_strs:
|
86 |
+
print(" " + command_str)
|
87 |
+
|
88 |
+
num_already_completed = num_evals - len(commands)
|
89 |
+
for idx, command in enumerate(commands):
|
90 |
+
real_idx = idx + num_already_completed
|
91 |
+
print(highlight("Running command: " + " ".join(command) + f" ({real_idx+1}/{num_evals})"))
|
92 |
+
subprocess.run(command, stdout=subprocess.PIPE, check=args.exit_on_error)
|
93 |
+
progress.add(command)
|
94 |
+
|
95 |
+
print(highlight("All done!"))
|
96 |
+
|
97 |
+
|
98 |
+
def main() -> None:
|
99 |
+
parser = get_parser()
|
100 |
+
args, unknown_args = parser.parse_known_args()
|
101 |
+
run(args, unknown_args)
|
102 |
+
|
103 |
+
|
104 |
+
if __name__ == "__main__":
|
105 |
+
main()
|
evals/evals/data.py
ADDED
@@ -0,0 +1,189 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"""
|
2 |
+
This file defines utilities for working with data and files of various types.
|
3 |
+
"""
|
4 |
+
import csv
|
5 |
+
import dataclasses
|
6 |
+
import gzip
|
7 |
+
import itertools
|
8 |
+
import json
|
9 |
+
import logging
|
10 |
+
import os
|
11 |
+
import urllib
|
12 |
+
from collections.abc import Iterator
|
13 |
+
from functools import partial
|
14 |
+
from typing import Any, Sequence, Union
|
15 |
+
|
16 |
+
import blobfile as bf
|
17 |
+
import lz4.frame
|
18 |
+
import pydantic
|
19 |
+
import pyzstd
|
20 |
+
|
21 |
+
logger = logging.getLogger(__name__)
|
22 |
+
|
23 |
+
|
24 |
+
def gzip_open(filename: str, mode: str = "rb", openhook: Any = open) -> gzip.GzipFile:
|
25 |
+
"""Wrap the given openhook in gzip."""
|
26 |
+
if mode and "b" not in mode:
|
27 |
+
mode += "b"
|
28 |
+
|
29 |
+
return gzip.GzipFile(fileobj=openhook(filename, mode), mode=mode)
|
30 |
+
|
31 |
+
|
32 |
+
def lz4_open(filename: str, mode: str = "rb", openhook: Any = open) -> lz4.frame.LZ4FrameFile:
|
33 |
+
if mode and "b" not in mode:
|
34 |
+
mode += "b"
|
35 |
+
|
36 |
+
return lz4.frame.LZ4FrameFile(openhook(filename, mode), mode=mode)
|
37 |
+
|
38 |
+
|
39 |
+
def zstd_open(filename: str, mode: str = "rb", openhook: Any = open) -> pyzstd.ZstdFile:
|
40 |
+
if mode and "b" not in mode:
|
41 |
+
mode += "b"
|
42 |
+
|
43 |
+
return pyzstd.ZstdFile(openhook(filename, mode), mode=mode)
|
44 |
+
|
45 |
+
|
46 |
+
def open_by_file_pattern(filename: str, mode: str = "r", **kwargs: Any) -> Any:
|
47 |
+
"""Can read/write to files on gcs/local with or without gzipping. If file
|
48 |
+
is stored on gcs, streams with blobfile. Otherwise use vanilla python open. If
|
49 |
+
filename endswith gz, then zip/unzip contents on the fly (note that gcs paths and
|
50 |
+
gzip are compatible)"""
|
51 |
+
open_fn = partial(bf.BlobFile, **kwargs)
|
52 |
+
try:
|
53 |
+
if filename.endswith(".gz"):
|
54 |
+
return gzip_open(filename, openhook=open_fn, mode=mode)
|
55 |
+
elif filename.endswith(".lz4"):
|
56 |
+
return lz4_open(filename, openhook=open_fn, mode=mode)
|
57 |
+
elif filename.endswith(".zst"):
|
58 |
+
return zstd_open(filename, openhook=open_fn, mode=mode)
|
59 |
+
else:
|
60 |
+
scheme = urllib.parse.urlparse(filename).scheme
|
61 |
+
if scheme == "" or scheme == "file":
|
62 |
+
return open_fn(
|
63 |
+
os.path.join(
|
64 |
+
os.path.dirname(os.path.abspath(__file__)), "registry", "data", filename
|
65 |
+
),
|
66 |
+
mode=mode,
|
67 |
+
)
|
68 |
+
else:
|
69 |
+
return open_fn(filename, mode=mode)
|
70 |
+
except Exception as e:
|
71 |
+
raise RuntimeError(f"Failed to open: {filename}") from e
|
72 |
+
|
73 |
+
|
74 |
+
def _get_jsonl_file(path):
|
75 |
+
logger.info(f"Fetching {path}")
|
76 |
+
with open_by_file_pattern(path, mode="r") as f:
|
77 |
+
return list(map(json.loads, f.readlines()))
|
78 |
+
|
79 |
+
|
80 |
+
def _get_json_file(path):
|
81 |
+
logger.info(f"Fetching {path}")
|
82 |
+
with open_by_file_pattern(path, mode="r") as f:
|
83 |
+
return json.loads(f.read())
|
84 |
+
|
85 |
+
|
86 |
+
def _stream_jsonl_file(path) -> Iterator:
|
87 |
+
logger.info(f"Streaming {path}")
|
88 |
+
with bf.BlobFile(path, "r", streaming=True) as f:
|
89 |
+
for line in f:
|
90 |
+
yield json.loads(line)
|
91 |
+
|
92 |
+
|
93 |
+
def get_lines(path) -> list[dict]:
|
94 |
+
"""
|
95 |
+
Get a list of lines from a file.
|
96 |
+
"""
|
97 |
+
with open_by_file_pattern(path, mode="r") as f:
|
98 |
+
return f.readlines()
|
99 |
+
|
100 |
+
|
101 |
+
def get_jsonl(path: str) -> list[dict]:
|
102 |
+
"""
|
103 |
+
Extract json lines from the given path.
|
104 |
+
If the path is a directory, look in subpaths recursively.
|
105 |
+
|
106 |
+
Return all lines from all jsonl files as a single list.
|
107 |
+
"""
|
108 |
+
if bf.isdir(path):
|
109 |
+
result = []
|
110 |
+
for filename in bf.listdir(path):
|
111 |
+
if filename.endswith(".jsonl"):
|
112 |
+
result += get_jsonl(os.path.join(path, filename))
|
113 |
+
return result
|
114 |
+
return _get_jsonl_file(path)
|
115 |
+
|
116 |
+
|
117 |
+
def get_jsonls(paths: Sequence[str], line_limit=None) -> list[dict]:
|
118 |
+
return list(iter_jsonls(paths, line_limit))
|
119 |
+
|
120 |
+
|
121 |
+
def get_json(path) -> dict:
|
122 |
+
if bf.isdir(path):
|
123 |
+
raise ValueError("Path is a directory, only files are supported")
|
124 |
+
return _get_json_file(path)
|
125 |
+
|
126 |
+
|
127 |
+
def iter_jsonls(paths: Union[str, list[str]], line_limit=None) -> Iterator[dict]:
|
128 |
+
"""
|
129 |
+
For each path in the input, iterate over the jsonl files in that path.
|
130 |
+
Look in subdirectories recursively.
|
131 |
+
|
132 |
+
Use an iterator to conserve memory.
|
133 |
+
"""
|
134 |
+
if type(paths) == str:
|
135 |
+
paths = [paths]
|
136 |
+
|
137 |
+
def _iter():
|
138 |
+
for path in paths:
|
139 |
+
if bf.isdir(path):
|
140 |
+
for filename in bf.listdir(path):
|
141 |
+
if filename.endswith(".jsonl"):
|
142 |
+
yield from iter_jsonls([os.path.join(path, filename)])
|
143 |
+
else:
|
144 |
+
yield from _stream_jsonl_file(path)
|
145 |
+
|
146 |
+
return itertools.islice(_iter(), line_limit)
|
147 |
+
|
148 |
+
|
149 |
+
def get_csv(path, fieldnames=None):
|
150 |
+
with bf.BlobFile(path, "r", cache_dir="/tmp/bf_cache", streaming=False) as f:
|
151 |
+
reader = csv.DictReader(f, fieldnames=fieldnames)
|
152 |
+
return [row for row in reader]
|
153 |
+
|
154 |
+
|
155 |
+
def _to_py_types(o: Any) -> Any:
|
156 |
+
if isinstance(o, dict):
|
157 |
+
return {k: _to_py_types(v) for k, v in o.items()}
|
158 |
+
if isinstance(o, list):
|
159 |
+
return [_to_py_types(v) for v in o]
|
160 |
+
|
161 |
+
if dataclasses.is_dataclass(o):
|
162 |
+
return _to_py_types(dataclasses.asdict(o))
|
163 |
+
|
164 |
+
# pydantic data classes
|
165 |
+
if isinstance(o, pydantic.BaseModel):
|
166 |
+
return json.loads(o.json())
|
167 |
+
|
168 |
+
return o
|
169 |
+
|
170 |
+
|
171 |
+
class EnhancedJSONEncoder(json.JSONEncoder):
|
172 |
+
def default(self, o: Any) -> str:
|
173 |
+
return _to_py_types(o)
|
174 |
+
|
175 |
+
|
176 |
+
def jsondumps(o: Any, ensure_ascii: bool = False, **kwargs: Any) -> str:
|
177 |
+
return json.dumps(o, cls=EnhancedJSONEncoder, ensure_ascii=ensure_ascii, **kwargs)
|
178 |
+
|
179 |
+
|
180 |
+
def jsondump(o: Any, fp: Any, ensure_ascii: bool = False, **kwargs: Any) -> None:
|
181 |
+
json.dump(o, fp, cls=EnhancedJSONEncoder, ensure_ascii=ensure_ascii, **kwargs)
|
182 |
+
|
183 |
+
|
184 |
+
def jsonloads(s: str, **kwargs: Any) -> Any:
|
185 |
+
return json.loads(s, **kwargs)
|
186 |
+
|
187 |
+
|
188 |
+
def jsonload(fp: Any, **kwargs: Any) -> Any:
|
189 |
+
return json.load(fp, **kwargs)
|
evals/evals/elsuite/basic/fuzzy_match.py
ADDED
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import evals
|
2 |
+
import numpy as np
|
3 |
+
from evals.elsuite import utils
|
4 |
+
from evals.record import RecorderBase
|
5 |
+
|
6 |
+
|
7 |
+
class FuzzyMatch(evals.Eval):
|
8 |
+
def __init__(
|
9 |
+
self,
|
10 |
+
model_specs: evals.ModelSpecs,
|
11 |
+
samples_jsonl: str,
|
12 |
+
*args,
|
13 |
+
max_tokens: int = 500,
|
14 |
+
**kwargs,
|
15 |
+
):
|
16 |
+
super().__init__(model_specs, *args, **kwargs)
|
17 |
+
self.max_tokens = max_tokens
|
18 |
+
self.samples_jsonl = samples_jsonl
|
19 |
+
|
20 |
+
def eval_sample(self, test_sample, rng):
|
21 |
+
prompt, correct_answers = test_sample["input"], test_sample["ideal"]
|
22 |
+
generated_answer = evals.sample_freeform(
|
23 |
+
self.model_spec,
|
24 |
+
prompt,
|
25 |
+
temperature=0.0,
|
26 |
+
max_tokens=16,
|
27 |
+
)
|
28 |
+
matches = [
|
29 |
+
utils.fuzzy_match(generated_answer, correct_answer)
|
30 |
+
for correct_answer in correct_answers
|
31 |
+
]
|
32 |
+
evals.record.record_match(
|
33 |
+
True in matches,
|
34 |
+
expected=correct_answers,
|
35 |
+
picked=[generated_answer for i in range(len(correct_answers)) if matches[i]],
|
36 |
+
)
|
37 |
+
evals.record.record_metrics(
|
38 |
+
accuracy=float(True in matches),
|
39 |
+
f1_score=utils.f1_score(generated_answer, correct_answers),
|
40 |
+
)
|
41 |
+
|
42 |
+
def run(self, recorder: RecorderBase):
|
43 |
+
samples = evals.get_jsonl(self.samples_jsonl)
|
44 |
+
self.eval_all_samples(recorder, samples)
|
45 |
+
|
46 |
+
return {
|
47 |
+
"accuracy": np.mean(recorder.get_scores("accuracy")),
|
48 |
+
"f1_score": np.mean(recorder.get_scores("f1_score")),
|
49 |
+
}
|
evals/evals/elsuite/basic/includes.py
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from typing import Any
|
2 |
+
|
3 |
+
import evals
|
4 |
+
import evals.elsuite.utils
|
5 |
+
import evals.metrics
|
6 |
+
import numpy as np
|
7 |
+
|
8 |
+
|
9 |
+
class Includes(evals.Eval):
|
10 |
+
def __init__(
|
11 |
+
self,
|
12 |
+
model_specs: evals.ModelSpecs,
|
13 |
+
samples_jsonl: str,
|
14 |
+
*args,
|
15 |
+
max_tokens: int = 500,
|
16 |
+
**kwargs,
|
17 |
+
):
|
18 |
+
super().__init__(model_specs, *args, **kwargs)
|
19 |
+
self.max_tokens = max_tokens
|
20 |
+
self.samples_jsonl = samples_jsonl
|
21 |
+
|
22 |
+
def eval_sample(self, sample: Any, *_):
|
23 |
+
sampled = evals.sample_freeform(
|
24 |
+
self.model_spec, sample["input"], max_tokens=self.max_tokens
|
25 |
+
)
|
26 |
+
includes_answer = any(
|
27 |
+
[evals.elsuite.utils.get_answer(sampled, ref) for ref in sample["ideal"]]
|
28 |
+
)
|
29 |
+
evals.record.record_metrics(accuracy=float(includes_answer))
|
30 |
+
return includes_answer
|
31 |
+
|
32 |
+
def run(self, recorder):
|
33 |
+
samples = evals.get_jsonl(self.samples_jsonl)
|
34 |
+
self.eval_all_samples(recorder, samples)
|
35 |
+
events = recorder.get_scores("accuracy")
|
36 |
+
return {
|
37 |
+
"accuracy": np.mean(events),
|
38 |
+
}
|
evals/evals/elsuite/basic/match.py
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from typing import Any
|
2 |
+
|
3 |
+
import evals
|
4 |
+
import evals.metrics
|
5 |
+
from evals.prompt.base import is_chat_prompt
|
6 |
+
|
7 |
+
|
8 |
+
class Match(evals.Eval):
|
9 |
+
def __init__(
|
10 |
+
self,
|
11 |
+
model_specs: evals.ModelSpecs,
|
12 |
+
samples_jsonl: str,
|
13 |
+
*args,
|
14 |
+
max_tokens: int = 500,
|
15 |
+
num_few_shot: int = 0,
|
16 |
+
few_shot_jsonl: str = None,
|
17 |
+
**kwargs,
|
18 |
+
):
|
19 |
+
super().__init__(model_specs, *args, **kwargs)
|
20 |
+
self.max_tokens = max_tokens
|
21 |
+
self.samples_jsonl = samples_jsonl
|
22 |
+
self.num_few_shot = num_few_shot
|
23 |
+
if self.num_few_shot > 0:
|
24 |
+
assert few_shot_jsonl is not None, "few shot requires few shot sample dataset"
|
25 |
+
self.few_shot_jsonl = few_shot_jsonl
|
26 |
+
self.few_shot = evals.get_jsonl(self.few_shot_jsonl)
|
27 |
+
|
28 |
+
def eval_sample(self, sample: Any, *_):
|
29 |
+
prompt = sample["input"]
|
30 |
+
if self.num_few_shot > 0:
|
31 |
+
assert is_chat_prompt(sample["input"]), "few shot requires chat prompt"
|
32 |
+
prompt = sample["input"][:-1]
|
33 |
+
for s in self.few_shot[: self.num_few_shot]:
|
34 |
+
prompt += s["sample"]
|
35 |
+
prompt += sample["input"][-1:]
|
36 |
+
|
37 |
+
return evals.check_sampled_text(self.model_spec, prompt, expected=sample["ideal"])
|
38 |
+
|
39 |
+
def run(self, recorder):
|
40 |
+
samples = evals.get_jsonl(self.samples_jsonl)
|
41 |
+
self.eval_all_samples(recorder, samples)
|
42 |
+
events = recorder.get_events("match")
|
43 |
+
return {
|
44 |
+
"accuracy": evals.metrics.get_accuracy(events),
|
45 |
+
}
|
evals/evals/elsuite/modelgraded/classify.py
ADDED
@@ -0,0 +1,356 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"""
|
2 |
+
Generic eval that uses a prompt + classification.
|
3 |
+
"""
|
4 |
+
import copy
|
5 |
+
import itertools
|
6 |
+
import logging
|
7 |
+
import string
|
8 |
+
from collections import Counter
|
9 |
+
from random import Random
|
10 |
+
from typing import Callable, Iterable, Optional, Union
|
11 |
+
|
12 |
+
import openai
|
13 |
+
|
14 |
+
import evals
|
15 |
+
import evals.record
|
16 |
+
from evals.base import ModelSpec
|
17 |
+
from evals.elsuite.utils import PromptFn, format_necessary, scrub_formatting_from_prompt
|
18 |
+
|
19 |
+
INVALID_STR = "__invalid__"
|
20 |
+
CHOICE_KEY = "choice"
|
21 |
+
MATCH_FNS = {
|
22 |
+
"include": lambda x, y: float(x in y),
|
23 |
+
"exact": lambda x, y: float(x == y),
|
24 |
+
"endswith": lambda x, y: x.endswith(y),
|
25 |
+
"starts_or_endswith": lambda x, y: x.startswith(y) or x.endswith(y),
|
26 |
+
}
|
27 |
+
|
28 |
+
ANSWER_PROMPTS = {
|
29 |
+
# e.g. "Yes"
|
30 |
+
"classify": "Answer the question by printing only a single choice from {choices} (without quotes or punctuation) corresponding to the correct answer with no other text.".strip(),
|
31 |
+
# e.g. "Yes\n The reasons are: ..."
|
32 |
+
"classify_cot": "First, answer by printing a single choice from {choices} (without quotes or punctuation) corresponding to the correct answer. Then, from the next line, explain your reasonings step by step.".strip(),
|
33 |
+
# e.g. "Let's think step by step. ...\nYes"
|
34 |
+
"cot_classify": """
|
35 |
+
First, write out in a step by step manner your reasoning to be sure that your conclusion is correct. Avoid simply stating the correct answer at the outset. Then print only a single choice from {choices} (without quotes or punctuation) on its own line corresponding to the correct answer. At the end, repeat just the answer by itself on a new line.
|
36 |
+
|
37 |
+
Reasoning:""".strip(),
|
38 |
+
"cot_classify_jp": """
|
39 |
+
まず、一歩一歩あなたの推論を書き出してください。単に正しい答えを最初に述べることを避けてください。次に、{choices}(引用符や句読点なし)から正しい答えに対応する1つの選択肢を単独の行に書きだしてください。最後に、答えだけを新しい行に繰り返してください。
|
40 |
+
|
41 |
+
推論:
|
42 |
+
""".strip(),
|
43 |
+
}
|
44 |
+
|
45 |
+
|
46 |
+
def choice_to_str(choice_strings: Iterable[str]) -> str:
|
47 |
+
"""Return a string of choices, e.g. '"Yes" or "No" or "Maybe"'."""
|
48 |
+
return " or ".join(f'"{choice}"' for choice in choice_strings)
|
49 |
+
|
50 |
+
|
51 |
+
def get_choice(text: str, eval_type: str, match_fn: Callable, choice_strings: Iterable[str]) -> str:
|
52 |
+
"""Clean the answer string to a choice string to one of choice_strings. Return '__invalid__.' if no match."""
|
53 |
+
lines = text.strip().split("\n")
|
54 |
+
if eval_type.startswith("cot_classify"):
|
55 |
+
lines = lines[::-1] # reverse lines
|
56 |
+
for line in lines:
|
57 |
+
line = line.strip()
|
58 |
+
line = "".join(c for c in line if c not in string.punctuation)
|
59 |
+
if not line:
|
60 |
+
continue
|
61 |
+
for choice in choice_strings:
|
62 |
+
if match_fn(line, choice):
|
63 |
+
return choice
|
64 |
+
return INVALID_STR
|
65 |
+
|
66 |
+
|
67 |
+
def expand_args_dict(args_dict):
|
68 |
+
"""Expand a dict of dicts, with namings.
|
69 |
+
|
70 |
+
args_dict = {
|
71 |
+
"a": {"a1": 1, "a2": 2},
|
72 |
+
"b": {"b1": 3, "b2": 4},
|
73 |
+
}
|
74 |
+
expand_args_dict(args_dict) = {
|
75 |
+
"a=a1:b=b1": {"a": ("a1", 1), "b": ("b1", 3)},
|
76 |
+
"a=a1:b=b2": {"a": ("a1", 1), "b": ("b2", 4)},
|
77 |
+
...}
|
78 |
+
"""
|
79 |
+
args_dict = {k: list(v.items()) for k, v in args_dict.items()}
|
80 |
+
keys = list(args_dict.keys())
|
81 |
+
values = list(args_dict.values())
|
82 |
+
new_values = [dict(zip(keys, v)) for v in itertools.product(*values)]
|
83 |
+
new_names = [":".join([f"{k}={v[0]}" for k, v in sorted(d.items())]) for d in new_values]
|
84 |
+
return dict(zip(new_names, new_values))
|
85 |
+
|
86 |
+
|
87 |
+
class ModelBasedClassify(evals.Eval):
|
88 |
+
invalid_request_during_completion = 0
|
89 |
+
invalid_request_during_evaluation = 0
|
90 |
+
|
91 |
+
def __init__(
|
92 |
+
self,
|
93 |
+
model_specs: evals.ModelSpecs,
|
94 |
+
samples_jsonl: str,
|
95 |
+
modelgraded_spec: str,
|
96 |
+
*args,
|
97 |
+
match_fn: str = "starts_or_endswith",
|
98 |
+
max_tokens: int = 1024,
|
99 |
+
multicomp_n: Union[int, str] = 1,
|
100 |
+
multicomp_temperature: float = 0.4,
|
101 |
+
samples_renamings: Optional[dict[str, str]] = None,
|
102 |
+
eval_type: Optional[str] = None,
|
103 |
+
metaeval: bool = False,
|
104 |
+
modelgraded_spec_args: Optional[dict[str, dict[str, str]]] = None,
|
105 |
+
**kwargs,
|
106 |
+
):
|
107 |
+
super().__init__(model_specs, *args, **kwargs)
|
108 |
+
n_models = len(self.model_specs.completions)
|
109 |
+
self.max_tokens = max_tokens
|
110 |
+
self.samples_jsonl = samples_jsonl
|
111 |
+
self.match_fn = MATCH_FNS[match_fn]
|
112 |
+
self.metaeval = metaeval
|
113 |
+
if multicomp_n == "from_models":
|
114 |
+
assert n_models > 1, f"multicomp_n='from_models' but only 1 model is specified."
|
115 |
+
self.multicomp_n = n_models
|
116 |
+
else:
|
117 |
+
assert isinstance(
|
118 |
+
multicomp_n, int
|
119 |
+
), f"multicomp_n={multicomp_n} must be an int or 'from_models'."
|
120 |
+
self.multicomp_n = multicomp_n
|
121 |
+
self.multicomp_temperature = multicomp_temperature
|
122 |
+
self.samples_renamings = samples_renamings or {}
|
123 |
+
|
124 |
+
# check if multiple models are specified
|
125 |
+
if len(self.model_specs.completions) > 1:
|
126 |
+
assert (
|
127 |
+
self.multicomp_n == n_models
|
128 |
+
), f"multicomp_n={self.multicomp_n} must be equal to the number of models={len(self.model_specs.completions)} if multiple models are specified."
|
129 |
+
|
130 |
+
if self.model_spec.name == "dummy-completion" or self.model_spec.name == "dummy-chat":
|
131 |
+
self.eval_modelspec = self.model_spec
|
132 |
+
else:
|
133 |
+
self.eval_modelspec = ModelSpec(
|
134 |
+
name="gpt-3.5-turbo", model="gpt-3.5-turbo", is_chat=True
|
135 |
+
)
|
136 |
+
|
137 |
+
"""import prompt and set attributes"""
|
138 |
+
modelgraded_specs = self.registry.get_modelgraded_spec(modelgraded_spec)
|
139 |
+
modelgraded_specs = copy.deepcopy(modelgraded_specs) # since pop() is used
|
140 |
+
|
141 |
+
# 'choice_strings' is a list of strings that specifies the possible choices
|
142 |
+
self.choice_strings = modelgraded_specs.pop("choice_strings")
|
143 |
+
if self.choice_strings == "from_n":
|
144 |
+
self.choice_strings = [str(i + 1) for i in range(self.multicomp_n)]
|
145 |
+
elif self.choice_strings == "from_n_abc":
|
146 |
+
self.choice_strings = [string.ascii_lowercase[i % 26] for i in range(self.multicomp_n)]
|
147 |
+
elif self.choice_strings == "from_n_ABC":
|
148 |
+
self.choice_strings = [string.ascii_uppercase[i % 26] for i in range(self.multicomp_n)]
|
149 |
+
# make sure each choice doesn't contain any punctuation
|
150 |
+
for s in self.choice_strings:
|
151 |
+
assert not any(c in s for c in string.punctuation), f"{s} contains punctuation"
|
152 |
+
# (optional) 'choice_scores' is a dict that specifies the score for each choice string
|
153 |
+
# if 'choice_scores' is specified, 'scores/' are computed and added to metrics
|
154 |
+
self.choice_scores = modelgraded_specs.pop("choice_scores", {})
|
155 |
+
if self.choice_scores == "from_strings":
|
156 |
+
self.choice_scores = {c: float(c) for c in self.choice_strings}
|
157 |
+
assert all(
|
158 |
+
isinstance(v, (int, float)) for v in self.choice_scores.values()
|
159 |
+
), f"choice_scores must be a dict of floats, not {self.choice_scores}"
|
160 |
+
|
161 |
+
# (optional) 'eval_type' is a string that specifies the type of classification algorithm
|
162 |
+
# - "classify": only answer
|
163 |
+
# - "cot_classify": reason then answer (chain-of-thought) <- most recommended
|
164 |
+
# - "classify_cot": answer then reason (explanation)
|
165 |
+
# if 'eval_type' is not supplied from modelgraded_specs, then it must be supplied as an argument.
|
166 |
+
# - Importantly, it also assumes the answer prompt needs to be appended to the prompt.
|
167 |
+
self.eval_type = modelgraded_specs.pop("eval_type", None)
|
168 |
+
if not self.eval_type:
|
169 |
+
append_answer_prompt = True # append answer prompt to prompt
|
170 |
+
assert eval_type, "eval_type must be specified, in modelgraded_spec or as an argument"
|
171 |
+
self.eval_type = eval_type
|
172 |
+
else:
|
173 |
+
assert (
|
174 |
+
not eval_type
|
175 |
+
), f"eval_type must be unspecified, if it is specified in modelgraded_spec"
|
176 |
+
append_answer_prompt = False
|
177 |
+
|
178 |
+
# 'prompt' is a string that specifies the model-graded evaluation
|
179 |
+
prompt = modelgraded_specs.pop("prompt")
|
180 |
+
assert isinstance(prompt, str), f"prompt must be a string, not {type(prompt)}"
|
181 |
+
if append_answer_prompt:
|
182 |
+
prompt += "\n\n" + ANSWER_PROMPTS[self.eval_type].format(
|
183 |
+
choices=choice_to_str(self.choice_strings)
|
184 |
+
)
|
185 |
+
self.prompt = [{"role": "user", "content": prompt}]
|
186 |
+
|
187 |
+
# 'input_outputs' is a dict that specifies the input and output keys in the sample
|
188 |
+
# output key is the model's raw response to input key. These are used for filling 'prompt' template.
|
189 |
+
self.input_outputs = modelgraded_specs.pop("input_outputs")
|
190 |
+
assert isinstance(
|
191 |
+
self.input_outputs, dict
|
192 |
+
), f"input_outputs must be a dict, not {type(self.input_outputs)}"
|
193 |
+
|
194 |
+
# (optional) 'args' is a dict of dicts that specifies additional arguments for 'prompt'
|
195 |
+
# each value in 'args_dict' essentially defines a separate modelgraded classification eval and has own metrics!
|
196 |
+
# if 'modelgraded_spec_args' is specified in eval YAML, it is merged with 'args_dict'
|
197 |
+
self.args_dict = modelgraded_specs.pop("args", {})
|
198 |
+
self.args_dict.update(modelgraded_spec_args or {})
|
199 |
+
if self.args_dict:
|
200 |
+
self.expanded_args_dict = expand_args_dict(self.args_dict)
|
201 |
+
else:
|
202 |
+
self.expanded_args_dict = {}
|
203 |
+
|
204 |
+
# (optional) 'completion_sample_templates'
|
205 |
+
# each key must be one of 'input_outputs'.values(). If 'multicomp_n' > 1, this template is filled 'multicomp_n' times
|
206 |
+
# and the concatenated result is passed to 'prompt' template.
|
207 |
+
self.completion_sample_templates = modelgraded_specs.pop("completion_sample_templates", {})
|
208 |
+
assert all(
|
209 |
+
k in self.input_outputs.values() for k in self.completion_sample_templates
|
210 |
+
), f"all {self.completion_sample_templates.keys()} must be in {self.input_outputs.values()}, "
|
211 |
+
if self.multicomp_n > 1:
|
212 |
+
assert (
|
213 |
+
self.completion_sample_templates
|
214 |
+
), "completion_sample_templates must be specified if multicomp_n > 1"
|
215 |
+
|
216 |
+
# since we accept optional args, we need to check that all args are used
|
217 |
+
for key in ("key", "group"):
|
218 |
+
modelgraded_specs.pop(key, None)
|
219 |
+
assert not modelgraded_specs, f"Unused args: {modelgraded_specs}. Typo in YAML?"
|
220 |
+
|
221 |
+
def eval_sample(self, test_sample: dict, rng: Random) -> None:
|
222 |
+
"""Evaluate a single sample.
|
223 |
+
|
224 |
+
Recorded metrics are always: one of the self.choice_strings, or "__invalid__".
|
225 |
+
"""
|
226 |
+
if self.samples_renamings:
|
227 |
+
test_sample = {self.samples_renamings.get(k, k): v for k, v in test_sample.items()}
|
228 |
+
if self.multicomp_n > 1:
|
229 |
+
test_sample["n"] = self.multicomp_n
|
230 |
+
completions = {}
|
231 |
+
if self.metaeval:
|
232 |
+
# assert outputs exist in the data
|
233 |
+
for v in self.input_outputs.values():
|
234 |
+
assert v in test_sample, f"Missing output '{v}' in sample {test_sample.keys()}"
|
235 |
+
completions[v] = test_sample[v]
|
236 |
+
# remove outputs from the data
|
237 |
+
test_sample = {
|
238 |
+
k: v for k, v in test_sample.items() if k not in list(self.input_outputs.values())
|
239 |
+
}
|
240 |
+
for k in self.input_outputs:
|
241 |
+
test_sample[k] = scrub_formatting_from_prompt(test_sample[k])
|
242 |
+
|
243 |
+
if not self.metaeval:
|
244 |
+
try:
|
245 |
+
for k, v in self.input_outputs.items():
|
246 |
+
if self.multicomp_n > 1 and v in self.completion_sample_templates:
|
247 |
+
completion = ""
|
248 |
+
completion_i_template = self.completion_sample_templates[v]
|
249 |
+
for i in range(self.multicomp_n):
|
250 |
+
if len(self.model_specs.completions) > 1:
|
251 |
+
# use a separate model for each completion
|
252 |
+
model_spec = self.model_specs.completions[i]
|
253 |
+
else:
|
254 |
+
# use the single model for all completions
|
255 |
+
model_spec = self.model_spec
|
256 |
+
get_input_completion = PromptFn(
|
257 |
+
test_sample[k],
|
258 |
+
model_spec=model_spec,
|
259 |
+
max_tokens=self.max_tokens,
|
260 |
+
temperature=self.multicomp_temperature,
|
261 |
+
)
|
262 |
+
completion_i, _ = get_input_completion()
|
263 |
+
completion += format_necessary(
|
264 |
+
completion_i_template,
|
265 |
+
i=i + 1,
|
266 |
+
i_abc=string.ascii_lowercase[i % 26],
|
267 |
+
i_ABC=string.ascii_uppercase[i % 26],
|
268 |
+
output=completion_i,
|
269 |
+
n=self.multicomp_n,
|
270 |
+
)
|
271 |
+
else:
|
272 |
+
get_input_completion = PromptFn(
|
273 |
+
test_sample[k],
|
274 |
+
model_spec=self.model_spec,
|
275 |
+
max_tokens=self.max_tokens,
|
276 |
+
)
|
277 |
+
completion, _ = get_input_completion()
|
278 |
+
completions[v] = completion
|
279 |
+
except openai.error.InvalidRequestError:
|
280 |
+
self.invalid_request_during_completion += 1
|
281 |
+
return
|
282 |
+
|
283 |
+
try:
|
284 |
+
metrics = {}
|
285 |
+
evaluate = PromptFn(
|
286 |
+
self.prompt,
|
287 |
+
model_spec=self.eval_modelspec,
|
288 |
+
max_tokens=self.max_tokens,
|
289 |
+
)
|
290 |
+
eval_kwargs = dict(**completions, **test_sample)
|
291 |
+
if self.expanded_args_dict and len(self.expanded_args_dict) > 1:
|
292 |
+
args_dict = self.expanded_args_dict
|
293 |
+
elif self.expanded_args_dict and len(self.expanded_args_dict) == 1:
|
294 |
+
# if there is only one combination, don't bother with the metric name
|
295 |
+
args_dict = {CHOICE_KEY: v for v in self.expanded_args_dict.values()}
|
296 |
+
else:
|
297 |
+
args_dict = {CHOICE_KEY: {}}
|
298 |
+
for metric, args in args_dict.items():
|
299 |
+
args = {k: v[1] for k, v in args.items()}
|
300 |
+
evaluation, _ = evaluate(**args, **eval_kwargs)
|
301 |
+
choice = get_choice(evaluation, self.eval_type, self.match_fn, self.choice_strings)
|
302 |
+
if choice == INVALID_STR:
|
303 |
+
logging.warn(
|
304 |
+
f"Choices {self.choice_strings} not parsable for {self.eval_type}: {evaluation}"
|
305 |
+
)
|
306 |
+
metrics[metric] = choice
|
307 |
+
if self.metaeval:
|
308 |
+
assert (
|
309 |
+
metric in test_sample
|
310 |
+
), f"Missing label for metric '{metric}' in sample {test_sample.keys()}"
|
311 |
+
metrics[metric + "_metascore"] = choice == test_sample[metric]
|
312 |
+
|
313 |
+
except openai.error.InvalidRequestError:
|
314 |
+
self.invalid_request_during_evaluation += 1
|
315 |
+
return
|
316 |
+
|
317 |
+
evals.record.record_metrics(**metrics)
|
318 |
+
|
319 |
+
return choice
|
320 |
+
|
321 |
+
def run(self, recorder):
|
322 |
+
samples = evals.get_jsonl(self.samples_jsonl)
|
323 |
+
|
324 |
+
self.eval_all_samples(recorder, samples)
|
325 |
+
all_sample_metrics = recorder.get_metrics()
|
326 |
+
|
327 |
+
record_metrics = {}
|
328 |
+
if self.expanded_args_dict and len(self.expanded_args_dict) > 1:
|
329 |
+
metrics = sorted(self.expanded_args_dict)
|
330 |
+
else:
|
331 |
+
metrics = [CHOICE_KEY]
|
332 |
+
for metric in metrics:
|
333 |
+
chosen = [m[metric] for m in all_sample_metrics if metric in m]
|
334 |
+
# if there is a best choice, compute the score
|
335 |
+
if self.choice_scores:
|
336 |
+
# assumption: each INVALID_STR contributes the lowest score
|
337 |
+
lowest_score = min(self.choice_scores.values())
|
338 |
+
scores = [
|
339 |
+
self.choice_scores[choice] if choice != INVALID_STR else lowest_score
|
340 |
+
for choice in chosen
|
341 |
+
]
|
342 |
+
record_metrics[f"score/{metric}"] = sum(scores) / len(all_sample_metrics)
|
343 |
+
# compute the counts and ratios
|
344 |
+
counts = dict(Counter(chosen))
|
345 |
+
missing_samples = len(all_sample_metrics) - len(chosen)
|
346 |
+
if missing_samples:
|
347 |
+
counts["__missing_samples__"] = missing_samples
|
348 |
+
record_metrics.update({f"counts/{metric}/{k}": v for k, v in counts.items()})
|
349 |
+
if self.metaeval:
|
350 |
+
metascores = [m[metric + "_metascore"] for m in all_sample_metrics if metric in m]
|
351 |
+
record_metrics[f"metascore/{metric}"] = sum(metascores) / len(all_sample_metrics)
|
352 |
+
|
353 |
+
record_metrics["invalid_request_during_completion"] = self.invalid_request_during_completion
|
354 |
+
record_metrics["invalid_request_during_evaluation"] = self.invalid_request_during_evaluation
|
355 |
+
|
356 |
+
return record_metrics
|
evals/evals/elsuite/translate.py
ADDED
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from typing import Any
|
2 |
+
|
3 |
+
from sacrebleu.metrics.bleu import BLEU
|
4 |
+
|
5 |
+
import evals
|
6 |
+
import evals.metrics
|
7 |
+
from evals.prompt.base import is_chat_prompt
|
8 |
+
|
9 |
+
|
10 |
+
class Translate(evals.Eval):
|
11 |
+
def __init__(
|
12 |
+
self,
|
13 |
+
model_specs: evals.ModelSpecs,
|
14 |
+
samples_jsonl: str,
|
15 |
+
*args,
|
16 |
+
max_tokens: int = 500,
|
17 |
+
num_few_shot: int = 0,
|
18 |
+
few_shot_jsonl: str = None,
|
19 |
+
**kwargs,
|
20 |
+
):
|
21 |
+
super().__init__(model_specs, *args, **kwargs)
|
22 |
+
self.max_tokens = max_tokens
|
23 |
+
self.samples_jsonl = samples_jsonl
|
24 |
+
|
25 |
+
self.num_few_shot = num_few_shot
|
26 |
+
if self.num_few_shot > 0:
|
27 |
+
assert few_shot_jsonl is not None, "few shot requires few shot sample dataset"
|
28 |
+
self.few_shot_jsonl = few_shot_jsonl
|
29 |
+
self.few_shot = evals.get_jsonl(self.few_shot_jsonl)
|
30 |
+
|
31 |
+
self.bleu = BLEU(effective_order=True)
|
32 |
+
|
33 |
+
def eval_sample(self, sample: Any, *_):
|
34 |
+
prompt = sample["input"]
|
35 |
+
expected = sample["ideal"]
|
36 |
+
if self.num_few_shot > 0:
|
37 |
+
assert is_chat_prompt(sample["input"]), "few shot requires chat prompt"
|
38 |
+
prompt = sample["input"][:-1]
|
39 |
+
for s in self.few_shot[: self.num_few_shot]:
|
40 |
+
prompt += s["sample"]
|
41 |
+
prompt += sample["input"][-1:]
|
42 |
+
|
43 |
+
if isinstance(expected, tuple):
|
44 |
+
expected = list(expected)
|
45 |
+
elif not isinstance(expected, list):
|
46 |
+
expected = [expected]
|
47 |
+
|
48 |
+
sampled = evals.sample_freeform(self.model_spec, prompt, max_tokens=self.max_tokens)
|
49 |
+
|
50 |
+
score = None
|
51 |
+
if expected is not None:
|
52 |
+
score = self.bleu.sentence_score(sampled, expected).score
|
53 |
+
evals.record.record_metrics(sacrebleu_sentence_score=score)
|
54 |
+
|
55 |
+
match = score > 30
|
56 |
+
|
57 |
+
if score is not None:
|
58 |
+
evals.record.record_match(
|
59 |
+
match, expected=expected, sampled=sampled, sacrebleu_sentence_score=score
|
60 |
+
)
|
61 |
+
return match
|
62 |
+
|
63 |
+
def run(self, recorder):
|
64 |
+
samples = evals.get_jsonl(self.samples_jsonl)
|
65 |
+
self.eval_all_samples(recorder, samples)
|
66 |
+
events = recorder.get_events("match")
|
67 |
+
|
68 |
+
sampled = list(map(lambda e: e.data["sampled"], events))
|
69 |
+
expected = list(map(lambda e: e.data["expected"], events))
|
70 |
+
sacrebleu_score = BLEU().corpus_score(sampled, [expected]).score
|
71 |
+
|
72 |
+
return {
|
73 |
+
"accuracy": evals.metrics.get_accuracy(events),
|
74 |
+
"sacrebleu_score": sacrebleu_score,
|
75 |
+
}
|
evals/evals/elsuite/utils.py
ADDED
@@ -0,0 +1,140 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import copy
|
2 |
+
import re
|
3 |
+
import string
|
4 |
+
from collections import Counter, defaultdict
|
5 |
+
|
6 |
+
from evals.api import sample_freeform
|
7 |
+
from evals.prompt.base import chat_prompt_to_text_prompt, is_chat_prompt
|
8 |
+
|
9 |
+
|
10 |
+
def get_answer(text, answer_prompt):
|
11 |
+
idx = text.rfind(answer_prompt)
|
12 |
+
if idx == -1:
|
13 |
+
return None
|
14 |
+
return text[idx + len(answer_prompt) :]
|
15 |
+
|
16 |
+
|
17 |
+
def get_consensus(answers):
|
18 |
+
counts = defaultdict(int)
|
19 |
+
for answer in answers:
|
20 |
+
counts[answer] += 1
|
21 |
+
counts[None] = 0
|
22 |
+
return max(counts, key=counts.get)
|
23 |
+
|
24 |
+
|
25 |
+
def normalize(s: str) -> str:
|
26 |
+
"""Lower text and remove punctuation, articles and extra whitespace."""
|
27 |
+
s = s.split("\n")[0]
|
28 |
+
s = s.lower()
|
29 |
+
exclude = set(string.punctuation)
|
30 |
+
s = "".join(char for char in s if char not in exclude)
|
31 |
+
s = re.sub(r"\b(a|an|the)\b", " ", s)
|
32 |
+
s = " ".join(s.split())
|
33 |
+
return s
|
34 |
+
|
35 |
+
|
36 |
+
def fuzzy_match(s1: str, s2: str) -> bool:
|
37 |
+
s1 = normalize(s1)
|
38 |
+
s2 = normalize(s2)
|
39 |
+
|
40 |
+
if s1 == "" or s2 == "":
|
41 |
+
return s1 == s2
|
42 |
+
|
43 |
+
return s1 in s2 or s2 in s1
|
44 |
+
|
45 |
+
|
46 |
+
def get_scores_from_text(text: str) -> dict:
|
47 |
+
pattern = r"## (.+?)\n.+?(\d)/5"
|
48 |
+
matches = re.findall(pattern, text, re.DOTALL)
|
49 |
+
return {k: int(v) for k, v in dict(matches).items()}
|
50 |
+
|
51 |
+
|
52 |
+
def get_yesno_from_text(text: str) -> dict:
|
53 |
+
pattern = r"## (.+?)\n.+?([yn])"
|
54 |
+
matches = re.findall(pattern, text, re.DOTALL)
|
55 |
+
return {k: v for k, v in dict(matches).items()}
|
56 |
+
|
57 |
+
|
58 |
+
def get_letter_from_data(data: str) -> str:
|
59 |
+
last_y = (data.rfind("y"), "y")
|
60 |
+
last_n = (data.rfind("n"), "n")
|
61 |
+
char = max(last_y, last_n)[1]
|
62 |
+
return char
|
63 |
+
|
64 |
+
|
65 |
+
def f1_score(prediction: str, answers: list[str]) -> float:
|
66 |
+
def _f1_score(prediction: str, ground_truth: str):
|
67 |
+
prediction_tokens = normalize(prediction).split()
|
68 |
+
ground_truth_tokens = normalize(ground_truth).split()
|
69 |
+
common = Counter(prediction_tokens) & Counter(ground_truth_tokens)
|
70 |
+
num_same = sum(common.values())
|
71 |
+
if num_same == 0:
|
72 |
+
return 0
|
73 |
+
precision = 1.0 * num_same / len(prediction_tokens)
|
74 |
+
recall = 1.0 * num_same / len(ground_truth_tokens)
|
75 |
+
f1 = (2 * precision * recall) / (precision + recall)
|
76 |
+
return f1
|
77 |
+
|
78 |
+
return max([_f1_score(prediction, answer) for answer in answers])
|
79 |
+
|
80 |
+
|
81 |
+
def scrub_formatting_from_prompt(prompt):
|
82 |
+
scrubbed_prompt = copy.copy(prompt)
|
83 |
+
|
84 |
+
if is_chat_prompt(prompt):
|
85 |
+
for i, msg in enumerate(scrubbed_prompt):
|
86 |
+
if "content" in msg:
|
87 |
+
scrubbed_prompt[i]["content"] = msg["content"].replace("{", "{{").replace("}", "}}")
|
88 |
+
else:
|
89 |
+
scrubbed_prompt = scrubbed_prompt.replace("{", "{{").replace("}", "}}")
|
90 |
+
return scrubbed_prompt
|
91 |
+
|
92 |
+
|
93 |
+
def format_necessary(template: str, **kwargs: dict[str, str]) -> str:
|
94 |
+
"""Format a template string with only necessary kwargs."""
|
95 |
+
keys = [k[1] for k in string.Formatter().parse(template) if k[1]]
|
96 |
+
assert all(k in kwargs for k in keys), f"Required: {keys}, got: {sorted(kwargs)}"
|
97 |
+
cur_keys = {k: kwargs[k] for k in keys}
|
98 |
+
return template.format(**cur_keys)
|
99 |
+
|
100 |
+
|
101 |
+
class PromptFn:
|
102 |
+
"""Wrap calls to model with prompt"""
|
103 |
+
|
104 |
+
def __init__(self, prompt, model_spec, max_tokens, temperature=0, completion_kwargs=None):
|
105 |
+
self.prompt = prompt
|
106 |
+
self.max_tokens = max_tokens
|
107 |
+
self.model_spec = model_spec
|
108 |
+
self.temperature = temperature
|
109 |
+
self.completion_kwargs = completion_kwargs or {}
|
110 |
+
|
111 |
+
def __call__(self, **kwargs):
|
112 |
+
# if any input kwargs is chat prompt, convert to text prompt
|
113 |
+
kwargs = {
|
114 |
+
k: chat_prompt_to_text_prompt(v, render_for_completion=False)
|
115 |
+
if is_chat_prompt(v)
|
116 |
+
else v
|
117 |
+
for k, v in kwargs.items()
|
118 |
+
}
|
119 |
+
if is_chat_prompt(self.prompt):
|
120 |
+
prompt = []
|
121 |
+
for msg in self.prompt:
|
122 |
+
formatted_msg = copy.copy(msg)
|
123 |
+
if "content" in formatted_msg:
|
124 |
+
formatted_msg["content"] = format_necessary(formatted_msg["content"], **kwargs)
|
125 |
+
prompt.append(formatted_msg)
|
126 |
+
else:
|
127 |
+
# Prompt is a string
|
128 |
+
prompt = format_necessary(self.prompt, **kwargs)
|
129 |
+
|
130 |
+
completion = sample_freeform(
|
131 |
+
self.model_spec,
|
132 |
+
prompt,
|
133 |
+
max_tokens=self.max_tokens,
|
134 |
+
temperature=self.temperature,
|
135 |
+
top_p=1,
|
136 |
+
frequency_penalty=0,
|
137 |
+
presence_penalty=0,
|
138 |
+
**self.completion_kwargs,
|
139 |
+
)
|
140 |
+
return completion, prompt
|
evals/evals/eval.py
ADDED
@@ -0,0 +1,155 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"""
|
2 |
+
This file defines the base class for evals.
|
3 |
+
"""
|
4 |
+
import abc
|
5 |
+
import asyncio
|
6 |
+
import concurrent.futures
|
7 |
+
import logging
|
8 |
+
import os
|
9 |
+
import random
|
10 |
+
from multiprocessing.pool import ThreadPool
|
11 |
+
from typing import Any, Awaitable, Callable, Dict, List, Optional, Tuple
|
12 |
+
|
13 |
+
from tqdm import tqdm
|
14 |
+
|
15 |
+
from .base import ModelSpec, ModelSpecs
|
16 |
+
from .record import RecorderBase
|
17 |
+
from .registry import Registry
|
18 |
+
|
19 |
+
logger = logging.getLogger(__name__)
|
20 |
+
|
21 |
+
|
22 |
+
SHUFFLE_SEED = 123
|
23 |
+
_MAX_SAMPLES = None
|
24 |
+
|
25 |
+
|
26 |
+
def _index_samples(samples: List[Any]) -> List[Tuple[Any, int]]:
|
27 |
+
"""Shuffle `samples` and pair each sample with its index."""
|
28 |
+
indices = list(range(len(samples)))
|
29 |
+
random.Random(SHUFFLE_SEED).shuffle(indices)
|
30 |
+
if _MAX_SAMPLES is not None:
|
31 |
+
indices = indices[:_MAX_SAMPLES]
|
32 |
+
logger.info(f"Evaluating {len(indices)} samples")
|
33 |
+
work_items = [(samples[i], i) for i in indices]
|
34 |
+
return work_items
|
35 |
+
|
36 |
+
|
37 |
+
def set_max_samples(max_samples: int):
|
38 |
+
global _MAX_SAMPLES
|
39 |
+
_MAX_SAMPLES = max_samples
|
40 |
+
|
41 |
+
|
42 |
+
class Eval(abc.ABC):
|
43 |
+
"""
|
44 |
+
Evaluation classes generally should override two methods:
|
45 |
+
`eval_sample`: Takes in a test sample and a random number generator and
|
46 |
+
records the metrics of interest.
|
47 |
+
`run`: Takes in a recorder and runs the evaluation. Generally, most `run`
|
48 |
+
methods will follow this same pattern: loading the data, calling
|
49 |
+
`eval_all_samples`, and aggregating the recorded results.
|
50 |
+
"""
|
51 |
+
|
52 |
+
def __init__(
|
53 |
+
self,
|
54 |
+
model_specs: ModelSpecs,
|
55 |
+
seed: int = 20220722,
|
56 |
+
name: str = "no_name_eval.default",
|
57 |
+
registry: Optional[Registry] = None,
|
58 |
+
):
|
59 |
+
splits = name.split(".")
|
60 |
+
if len(splits) < 2:
|
61 |
+
raise ValueError(f"Eval name must at least have <base_eval>.<split>. Got name {name}")
|
62 |
+
|
63 |
+
self.model_specs = model_specs
|
64 |
+
self.seed = seed
|
65 |
+
self.name = name
|
66 |
+
self.registry = registry or Registry()
|
67 |
+
|
68 |
+
def eval_sample(self, sample: Any, rng: random.Random):
|
69 |
+
raise NotImplementedError()
|
70 |
+
|
71 |
+
@classmethod
|
72 |
+
def create_and_run(cls, model_specs: ModelSpecs, *args, **kwargs) -> Dict[str, float]:
|
73 |
+
logging.info(f"Running {cls.__name__} with {model_specs}, args: {args}, kwargs: {kwargs}")
|
74 |
+
return cls(model_specs).run(*args, **kwargs)
|
75 |
+
|
76 |
+
@property
|
77 |
+
def model_spec(self) -> ModelSpec:
|
78 |
+
"""Helper for more ergonomic access to a single model."""
|
79 |
+
return self.model_specs.completion
|
80 |
+
|
81 |
+
@abc.abstractmethod
|
82 |
+
def run(self, recorder: RecorderBase) -> Dict[str, float]:
|
83 |
+
"""Run the evaluation with the corresponding recorder."""
|
84 |
+
raise NotImplementedError()
|
85 |
+
|
86 |
+
async def async_eval_all_samples(
|
87 |
+
self,
|
88 |
+
eval_fn: Callable[[Tuple[Any, int]], Awaitable[Tuple[int, Any]]],
|
89 |
+
samples: List[Any],
|
90 |
+
concurrency: int = 32,
|
91 |
+
show_progress: bool = True,
|
92 |
+
):
|
93 |
+
work_items = _index_samples(samples)
|
94 |
+
semaphore = asyncio.Semaphore(concurrency)
|
95 |
+
|
96 |
+
async def eval_fn_with_semaphore(args):
|
97 |
+
async with semaphore:
|
98 |
+
return await eval_fn(args)
|
99 |
+
|
100 |
+
futures = [asyncio.ensure_future(eval_fn_with_semaphore(args)) for args in work_items]
|
101 |
+
|
102 |
+
for future in tqdm(
|
103 |
+
asyncio.as_completed(futures), total=len(samples), disable=not show_progress
|
104 |
+
):
|
105 |
+
await future
|
106 |
+
|
107 |
+
def eval_all_samples(
|
108 |
+
self,
|
109 |
+
recorder: RecorderBase,
|
110 |
+
samples,
|
111 |
+
show_progress=True,
|
112 |
+
):
|
113 |
+
"""
|
114 |
+
Evaluate all provided samples in parallel.
|
115 |
+
"""
|
116 |
+
work_items = _index_samples(samples)
|
117 |
+
threads = int(os.environ.get("EVALS_THREADS", "10"))
|
118 |
+
show_progress = bool(os.environ.get("EVALS_SHOW_EVAL_PROGRESS", show_progress))
|
119 |
+
timeout = float(os.environ.get("EVALS_THREAD_TIMEOUT", "40"))
|
120 |
+
|
121 |
+
def eval_sample(args):
|
122 |
+
"""
|
123 |
+
Evaluate a single sample.
|
124 |
+
"""
|
125 |
+
sample, idx = args
|
126 |
+
base_name, split = self.name.split(".")[0:2]
|
127 |
+
sample_id = f"{base_name}.{split}.{idx}"
|
128 |
+
with recorder.as_default_recorder(sample_id):
|
129 |
+
recorder.record_raw(sample)
|
130 |
+
seed = f"{sample_id}:{self.seed}".encode("utf-8")
|
131 |
+
rng = random.Random(seed)
|
132 |
+
return idx, self.eval_sample(sample, rng)
|
133 |
+
|
134 |
+
def worker_thread(args):
|
135 |
+
"""
|
136 |
+
Worker thread for evaluating a single sample.
|
137 |
+
"""
|
138 |
+
while True:
|
139 |
+
executor = concurrent.futures.ThreadPoolExecutor(max_workers=1)
|
140 |
+
future = executor.submit(eval_sample, args=args)
|
141 |
+
try:
|
142 |
+
result = future.result(timeout=timeout)
|
143 |
+
return result
|
144 |
+
except concurrent.futures.TimeoutError as e:
|
145 |
+
executor.shutdown(wait=False)
|
146 |
+
|
147 |
+
with ThreadPool(threads) as pool:
|
148 |
+
if os.environ.get("EVALS_SEQUENTIAL", "0") in {"1", "true", "yes"}:
|
149 |
+
logger.info(f"Running in sequential mode!")
|
150 |
+
iter = map(eval_sample, work_items)
|
151 |
+
else:
|
152 |
+
logger.info(f"Running in threaded mode with {threads} threads!")
|
153 |
+
iter = pool.imap_unordered(worker_thread, work_items)
|
154 |
+
idx_and_result = list(tqdm(iter, total=len(work_items), disable=not show_progress))
|
155 |
+
return [r for _, r in sorted(idx_and_result)]
|
evals/evals/formatting.py
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"""
|
2 |
+
This file defines utilities for adding multiple choice questions to prompts.
|
3 |
+
"""
|
4 |
+
import random
|
5 |
+
from typing import Optional
|
6 |
+
|
7 |
+
|
8 |
+
def make_abc(answers, *, correct_idx=0, shuffle=True, rng: Optional[random.Random] = None):
|
9 |
+
"""
|
10 |
+
ARGS
|
11 |
+
====
|
12 |
+
`answers`: A sequence of strings, each of which is an answer choice.
|
13 |
+
`correct_idx`: The integer index of the correct answer.
|
14 |
+
`shuffle`: If True, shuffle the answer choices in the returned string.
|
15 |
+
`rng`: If `shuffle` is True, this is the random number generator to use.
|
16 |
+
|
17 |
+
RETURNS
|
18 |
+
=======
|
19 |
+
A tuple of (options, correct_answer) where `options` is a string of
|
20 |
+
newline-separated answer choices (e.g., "A) blah") and `correct_answer` is
|
21 |
+
the correct answer as a single character (e.g., "A").
|
22 |
+
"""
|
23 |
+
|
24 |
+
p = list(range(len(answers)))
|
25 |
+
if shuffle:
|
26 |
+
if rng is None:
|
27 |
+
raise ValueError("shuffle=True requires rng")
|
28 |
+
rng.shuffle(p)
|
29 |
+
options = ""
|
30 |
+
for i, j in enumerate(p):
|
31 |
+
if i > 0:
|
32 |
+
options += "\n"
|
33 |
+
options += chr(ord("A") + i) + ") " + answers[j]
|
34 |
+
return options, chr(ord("A") + p.index(correct_idx))
|
evals/evals/metrics.py
ADDED
@@ -0,0 +1,76 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"""
|
2 |
+
This file defines various common metrics of interest.
|
3 |
+
"""
|
4 |
+
import random
|
5 |
+
from typing import Optional, Sequence, Set
|
6 |
+
|
7 |
+
import numpy as np
|
8 |
+
|
9 |
+
from evals.record import Event
|
10 |
+
|
11 |
+
|
12 |
+
def get_accuracy(events: Sequence[Event]) -> float:
|
13 |
+
num_correct = 0
|
14 |
+
num_total = 0
|
15 |
+
for event in events:
|
16 |
+
num_total += 1
|
17 |
+
num_correct += int(event.data["correct"])
|
18 |
+
if num_total == 0:
|
19 |
+
return float("nan")
|
20 |
+
else:
|
21 |
+
return num_correct / num_total
|
22 |
+
|
23 |
+
|
24 |
+
def get_bootstrap_accuracy_std(events: Sequence[Event], num_samples: int = 1000):
|
25 |
+
vals = [m.data["correct"] for m in events]
|
26 |
+
return np.std([np.mean(random.sample(vals, len(vals) // 2)) for _ in range(1000)])
|
27 |
+
|
28 |
+
|
29 |
+
def get_confusion_matrix(
|
30 |
+
matches: Sequence[Event], class_labels: Optional[Set] = None
|
31 |
+
) -> np.ndarray:
|
32 |
+
labels = set()
|
33 |
+
for match in matches:
|
34 |
+
labels.add(match.data["expected"])
|
35 |
+
if class_labels is None:
|
36 |
+
labels = {label: i for i, label in enumerate(sorted(labels))}
|
37 |
+
else:
|
38 |
+
assert labels.issubset(class_labels)
|
39 |
+
labels = {label: i for i, label in enumerate(class_labels)}
|
40 |
+
result = np.zeros((len(labels), len(labels) + 1), dtype=int)
|
41 |
+
for match in matches:
|
42 |
+
i = labels[match.data["expected"]]
|
43 |
+
j = labels.get(match.data["picked"], len(labels))
|
44 |
+
result[i, j] += 1
|
45 |
+
return result
|
46 |
+
|
47 |
+
|
48 |
+
def compute_matthew_corr(confusion_matrix):
|
49 |
+
assert confusion_matrix.shape == (2, 3), f"Got shape: {confusion_matrix.shape}"
|
50 |
+
r = confusion_matrix[:, :2]
|
51 |
+
r[:, 0] += confusion_matrix[:, 2]
|
52 |
+
return (r[1, 1] * r[0, 0] - r[1, 0] * r[0, 1]) / np.sqrt(
|
53 |
+
r[1, :].sum() * r[0, :].sum() * r[:, 0].sum() * r[:, 1].sum()
|
54 |
+
)
|
55 |
+
|
56 |
+
|
57 |
+
def compute_precision(confusion_matrix, idx=0):
|
58 |
+
return confusion_matrix[idx, idx] / confusion_matrix[:, idx].sum()
|
59 |
+
|
60 |
+
|
61 |
+
def compute_recall(confusion_matrix, idx=0):
|
62 |
+
return confusion_matrix[idx, idx] / confusion_matrix[idx, :].sum()
|
63 |
+
|
64 |
+
|
65 |
+
def compute_f_score(confusion_matrix, idx=0, beta=1.0):
|
66 |
+
precision = compute_precision(confusion_matrix, idx=idx)
|
67 |
+
recall = compute_recall(confusion_matrix, idx=idx)
|
68 |
+
return (1 + beta**2) * (precision * recall) / (beta**2 * precision + recall)
|
69 |
+
|
70 |
+
|
71 |
+
def compute_averaged_f_score(confusion_matrix, beta=1.0, average="macro"):
|
72 |
+
assert average in ["macro"]
|
73 |
+
f_scores = []
|
74 |
+
for i in range(confusion_matrix.shape[0]):
|
75 |
+
f_scores.append(compute_f_score(confusion_matrix, idx=i, beta=beta))
|
76 |
+
return np.array(f_scores).mean()
|
evals/evals/prompt/base.py
ADDED
@@ -0,0 +1,118 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"""
|
2 |
+
This file defines the classes for how to manage prompts for different types of
|
3 |
+
models, i.e., "chat models" vs. "non chat models".
|
4 |
+
"""
|
5 |
+
import logging
|
6 |
+
import threading
|
7 |
+
from abc import ABC, abstractmethod
|
8 |
+
from dataclasses import dataclass
|
9 |
+
from typing import Dict, List, Union
|
10 |
+
|
11 |
+
logger = logging.getLogger(__name__)
|
12 |
+
ENCODER_LOCK = threading.Lock()
|
13 |
+
|
14 |
+
# This is an approximation to the type accepted as the `prompt` field to `openai.Completion.create` calls
|
15 |
+
OpenAICreatePrompt = Union[str, list[str], list[int], list[list[int]]]
|
16 |
+
|
17 |
+
# This is the type accepted as the `prompt` field to `openai.ChatCompletion.create` calls
|
18 |
+
OpenAIChatMessage = Dict[str, str] # A message is a dictionary with "role" and "content" keys
|
19 |
+
OpenAICreateChatPrompt = List[OpenAIChatMessage] # A chat log is a list of messages
|
20 |
+
|
21 |
+
|
22 |
+
def chat_prompt_to_text_prompt(
|
23 |
+
prompt: OpenAICreateChatPrompt, render_for_completion: bool = True
|
24 |
+
) -> str:
|
25 |
+
"""
|
26 |
+
Render a chat prompt as a text prompt. User and assistant messages are separated by newlines
|
27 |
+
and prefixed with "User: " and "Assistant: ", respectively, unless there is only one message.
|
28 |
+
System messages have no prefix.
|
29 |
+
"""
|
30 |
+
assert is_chat_prompt(prompt), f"Expected a chat prompt, got {prompt}"
|
31 |
+
chat_to_prefixes = {
|
32 |
+
# roles
|
33 |
+
"system": "",
|
34 |
+
# names
|
35 |
+
"example_user": "User: ",
|
36 |
+
"example_assistant": "Assistant: ",
|
37 |
+
}
|
38 |
+
|
39 |
+
# For a single message, be it system, user, or assistant, just return the message
|
40 |
+
if len(prompt) == 1:
|
41 |
+
return prompt[0]["content"]
|
42 |
+
|
43 |
+
text = ""
|
44 |
+
for msg in prompt:
|
45 |
+
role = msg["name"] if "name" in msg else msg["role"]
|
46 |
+
prefix = chat_to_prefixes.get(role, role.capitalize() + ": ")
|
47 |
+
content = msg["content"]
|
48 |
+
text += f"{prefix}{content}\n"
|
49 |
+
if render_for_completion:
|
50 |
+
text += "Assistant: "
|
51 |
+
return text.lstrip()
|
52 |
+
|
53 |
+
|
54 |
+
def text_prompt_to_chat_prompt(prompt: str, role: str = "system") -> OpenAICreateChatPrompt:
|
55 |
+
assert isinstance(prompt, str), f"Expected a text prompt, got {prompt}"
|
56 |
+
return [
|
57 |
+
{"role": role, "content": prompt},
|
58 |
+
]
|
59 |
+
|
60 |
+
|
61 |
+
@dataclass
|
62 |
+
class Prompt(ABC):
|
63 |
+
"""
|
64 |
+
A `Prompt` encapsulates everything required to present the `raw_prompt` in different formats,
|
65 |
+
e.g., a normal unadorned format vs. a chat format.
|
66 |
+
"""
|
67 |
+
|
68 |
+
@abstractmethod
|
69 |
+
def to_openai_create_prompt(self):
|
70 |
+
"""
|
71 |
+
Return the actual data to be passed as the `prompt` field to either `openai.ChatCompletion.create`,
|
72 |
+
if the model is a chat model, or `openai.Completion.create` otherwise.
|
73 |
+
See the above types to see what each API call is able to handle.
|
74 |
+
"""
|
75 |
+
|
76 |
+
|
77 |
+
def is_chat_prompt(prompt: Prompt) -> bool:
|
78 |
+
return isinstance(prompt, list) and all(isinstance(msg, dict) for msg in prompt)
|
79 |
+
|
80 |
+
|
81 |
+
@dataclass
|
82 |
+
class CompletionPrompt(Prompt):
|
83 |
+
"""
|
84 |
+
A `Prompt` object that wraps prompts to be compatible with non chat models, which use `openai.Completion.create`.
|
85 |
+
"""
|
86 |
+
|
87 |
+
raw_prompt: Union[OpenAICreatePrompt, OpenAICreateChatPrompt]
|
88 |
+
|
89 |
+
def _render_chat_prompt_as_text(self, prompt: OpenAICreateChatPrompt) -> OpenAICreatePrompt:
|
90 |
+
return chat_prompt_to_text_prompt(prompt)
|
91 |
+
|
92 |
+
def to_openai_create_prompt(self) -> OpenAICreatePrompt:
|
93 |
+
if is_chat_prompt(self.raw_prompt):
|
94 |
+
return self._render_chat_prompt_as_text(self.raw_prompt)
|
95 |
+
return self.raw_prompt
|
96 |
+
|
97 |
+
|
98 |
+
@dataclass
|
99 |
+
class ChatCompletionPrompt(Prompt):
|
100 |
+
"""
|
101 |
+
A `Prompt` object that wraps prompts to be compatible with chat models, which use `openai.ChatCompletion.create`.
|
102 |
+
|
103 |
+
The format expected by chat models is a list of messages, where each message is a dict with "role" and "content" keys.
|
104 |
+
"""
|
105 |
+
|
106 |
+
raw_prompt: Union[OpenAICreatePrompt, OpenAICreateChatPrompt]
|
107 |
+
|
108 |
+
def _render_text_as_chat_prompt(self, prompt: str) -> OpenAICreateChatPrompt:
|
109 |
+
"""
|
110 |
+
Render a text string as a chat prompt. The default option we adopt here is to simply take the full prompt
|
111 |
+
and treat it as a system message.
|
112 |
+
"""
|
113 |
+
return text_prompt_to_chat_prompt(prompt)
|
114 |
+
|
115 |
+
def to_openai_create_prompt(self) -> OpenAICreateChatPrompt:
|
116 |
+
if is_chat_prompt(self.raw_prompt):
|
117 |
+
return self.raw_prompt
|
118 |
+
return self._render_text_as_chat_prompt(self.raw_prompt)
|
evals/evals/record.py
ADDED
@@ -0,0 +1,480 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"""
|
2 |
+
This file defines the recorder classes which log eval results in different ways,
|
3 |
+
such as to a local JSON file or to a remote Snowflake database.
|
4 |
+
|
5 |
+
If you would like to implement a custom recorder, you can see how the
|
6 |
+
`LocalRecorder` and `Recorder` classes inherit from the `RecorderBase` class and
|
7 |
+
override certain methods.
|
8 |
+
"""
|
9 |
+
import atexit
|
10 |
+
import contextlib
|
11 |
+
import dataclasses
|
12 |
+
import logging
|
13 |
+
import threading
|
14 |
+
import time
|
15 |
+
from contextvars import ContextVar
|
16 |
+
from datetime import datetime, timezone
|
17 |
+
from typing import Any, List, Optional, Sequence
|
18 |
+
|
19 |
+
import blobfile as bf
|
20 |
+
|
21 |
+
import evals
|
22 |
+
from evals.base import RunSpec
|
23 |
+
from evals.data import jsondumps
|
24 |
+
from evals.utils.misc import t
|
25 |
+
from evals.utils.snowflake import SnowflakeConnection
|
26 |
+
|
27 |
+
logger = logging.getLogger(__name__)
|
28 |
+
|
29 |
+
MIN_FLUSH_EVENTS = 100
|
30 |
+
MAX_SNOWFLAKE_BYTES = 16 * 10**6
|
31 |
+
MIN_FLUSH_SECONDS = 10
|
32 |
+
|
33 |
+
_default_recorder: ContextVar[Optional["RecorderBase"]] = ContextVar(
|
34 |
+
"default_recorder", default=None
|
35 |
+
)
|
36 |
+
|
37 |
+
|
38 |
+
def default_recorder() -> Optional["RecorderBase"]:
|
39 |
+
return _default_recorder.get()
|
40 |
+
|
41 |
+
|
42 |
+
@dataclasses.dataclass
|
43 |
+
class Event:
|
44 |
+
run_id: str
|
45 |
+
event_id: int
|
46 |
+
sample_id: Optional[str]
|
47 |
+
type: str
|
48 |
+
data: dict
|
49 |
+
created_by: str
|
50 |
+
created_at: str
|
51 |
+
|
52 |
+
|
53 |
+
class RecorderBase:
|
54 |
+
"""
|
55 |
+
The standard events for which recording methods are provided are:
|
56 |
+
- `match`: A match or non match, as specified by the `correct` bool, between
|
57 |
+
the `expected` and `picked` results.
|
58 |
+
- `embedding`: An embedding of the `prompt` of type `embedding_type`.
|
59 |
+
- `sampling`: What was `sampled` from the model given the input `prompt`.
|
60 |
+
- `cond_logp`: The conditional log probability, as `logp`, of the
|
61 |
+
`completion` from the model given the input `prompt`.
|
62 |
+
- `pick_option`: The option `picked` by the model out of the valid `options`
|
63 |
+
given the input `prompt`.
|
64 |
+
- `raw`: A raw sample specified by the `data`.
|
65 |
+
- `metrics`: A set of metrics specified by the `kwargs`.
|
66 |
+
- `error`: An `error` along with an accompanying `msg`.
|
67 |
+
- `extra`: Any extra `data` of interest to be recorded.
|
68 |
+
For these events, helper methods are defined at the bottom of this file.
|
69 |
+
More generally, you can record any event by calling `record_event` with the
|
70 |
+
event `type` and `data`.
|
71 |
+
Finally, you can also record a final report using `record_final_report`.
|
72 |
+
"""
|
73 |
+
|
74 |
+
def __init__(
|
75 |
+
self,
|
76 |
+
run_spec: evals.base.RunSpec,
|
77 |
+
) -> None:
|
78 |
+
self._sample_id: ContextVar[Optional[int]] = ContextVar("_sample_id", default=None)
|
79 |
+
self.run_spec = run_spec
|
80 |
+
self._events: List[Event] = []
|
81 |
+
self._last_flush_time = time.time()
|
82 |
+
self._flushes_done = 0
|
83 |
+
self._written_events = 0
|
84 |
+
self._flushes_started = 0
|
85 |
+
self._event_lock = threading.Lock()
|
86 |
+
atexit.register(self.flush_events)
|
87 |
+
|
88 |
+
@contextlib.contextmanager
|
89 |
+
def as_default_recorder(self, sample_id: str):
|
90 |
+
sample_id_token = self._sample_id.set(sample_id)
|
91 |
+
default_recorder_token = _default_recorder.set(self)
|
92 |
+
yield
|
93 |
+
_default_recorder.reset(default_recorder_token)
|
94 |
+
self._sample_id.reset(sample_id_token)
|
95 |
+
|
96 |
+
def current_sample_id(self) -> Optional[str]:
|
97 |
+
return self._sample_id.get()
|
98 |
+
|
99 |
+
def get_events(self, type: str) -> Sequence[Event]:
|
100 |
+
with self._event_lock:
|
101 |
+
return [event for event in self._events if event.type == type]
|
102 |
+
|
103 |
+
def get_metrics(self):
|
104 |
+
return list(map(lambda x: x.data, self.get_events("metrics")))
|
105 |
+
|
106 |
+
def get_scores(self, key: str):
|
107 |
+
return list(map(lambda e: e.data[key], self.get_events("metrics")))
|
108 |
+
|
109 |
+
def _create_event(self, type, data=None, sample_id=None):
|
110 |
+
if sample_id is None:
|
111 |
+
sample_id = self.current_sample_id()
|
112 |
+
if sample_id is None:
|
113 |
+
raise ValueError("No sample_id set! Either pass it in or use as_default_recorder!")
|
114 |
+
|
115 |
+
return Event(
|
116 |
+
run_id=self.run_spec.run_id,
|
117 |
+
event_id=len(self._events),
|
118 |
+
type=type,
|
119 |
+
sample_id=sample_id,
|
120 |
+
data=data,
|
121 |
+
created_by=self.run_spec.created_by,
|
122 |
+
created_at=str(datetime.now(timezone.utc)),
|
123 |
+
)
|
124 |
+
|
125 |
+
def _flush_events_internal(self, events_to_write: Sequence[Event]):
|
126 |
+
pass
|
127 |
+
|
128 |
+
def flush_events(self):
|
129 |
+
with self._event_lock:
|
130 |
+
if len(self._events) == self._written_events:
|
131 |
+
return
|
132 |
+
events_to_write = self._events[self._written_events :]
|
133 |
+
self._written_events = len(self._events)
|
134 |
+
self._flushes_started += 1
|
135 |
+
self._flush_events_internal(events_to_write)
|
136 |
+
|
137 |
+
def record_event(self, type, data=None, sample_id=None):
|
138 |
+
if sample_id is None:
|
139 |
+
sample_id = self.current_sample_id()
|
140 |
+
if sample_id is None:
|
141 |
+
raise ValueError("No sample_id set! Either pass it in or use as_default_recorder!")
|
142 |
+
|
143 |
+
with self._event_lock:
|
144 |
+
event = Event(
|
145 |
+
run_id=self.run_spec.run_id,
|
146 |
+
event_id=len(self._events),
|
147 |
+
type=type,
|
148 |
+
sample_id=sample_id,
|
149 |
+
data=data,
|
150 |
+
created_by=self.run_spec.created_by,
|
151 |
+
created_at=str(datetime.now(timezone.utc)),
|
152 |
+
)
|
153 |
+
self._events.append(event)
|
154 |
+
if (
|
155 |
+
self._flushes_done < self._flushes_started
|
156 |
+
or len(self._events) < self._written_events + MIN_FLUSH_EVENTS
|
157 |
+
or time.time() < self._last_flush_time + MIN_FLUSH_SECONDS
|
158 |
+
):
|
159 |
+
return
|
160 |
+
events_to_write = self._events[self._written_events :]
|
161 |
+
self._written_events = len(self._events)
|
162 |
+
self._flushes_started += 1
|
163 |
+
self._flush_events_internal(events_to_write)
|
164 |
+
|
165 |
+
def record_match(self, correct: bool, *, expected=None, picked=None, sample_id=None, **extra):
|
166 |
+
assert isinstance(
|
167 |
+
correct, bool
|
168 |
+
), f"correct must be a bool, but was a {type(correct)}: {correct}"
|
169 |
+
|
170 |
+
if isinstance(expected, list) and len(expected) == 1:
|
171 |
+
expected = expected[0]
|
172 |
+
data = {
|
173 |
+
"correct": bool(correct),
|
174 |
+
"expected": expected,
|
175 |
+
"picked": picked,
|
176 |
+
**extra,
|
177 |
+
}
|
178 |
+
self.record_event("match", data, sample_id=sample_id)
|
179 |
+
|
180 |
+
def record_embedding(self, prompt, embedding_type, sample_id=None, **extra):
|
181 |
+
data = {
|
182 |
+
"prompt": prompt,
|
183 |
+
"embedding_type": embedding_type,
|
184 |
+
**extra,
|
185 |
+
}
|
186 |
+
self.record_event("embedding", data, sample_id=sample_id)
|
187 |
+
|
188 |
+
def record_sampling(self, prompt, sampled, sample_id=None, **extra):
|
189 |
+
data = {
|
190 |
+
"prompt": prompt,
|
191 |
+
"sampled": sampled,
|
192 |
+
**extra,
|
193 |
+
}
|
194 |
+
self.record_event("sampling", data, sample_id=sample_id)
|
195 |
+
|
196 |
+
def record_cond_logp(self, prompt, completion, logp, sample_id=None, **extra):
|
197 |
+
data = {
|
198 |
+
"prompt": prompt,
|
199 |
+
"completion": completion,
|
200 |
+
"logp": logp,
|
201 |
+
**extra,
|
202 |
+
}
|
203 |
+
self.record_event("cond_logp", data, sample_id=sample_id)
|
204 |
+
|
205 |
+
def record_pick_option(self, prompt, options, picked, sample_id=None, **extra):
|
206 |
+
data = {
|
207 |
+
"prompt": prompt,
|
208 |
+
"options": options,
|
209 |
+
"picked": picked,
|
210 |
+
**extra,
|
211 |
+
}
|
212 |
+
self.record_event("pick_option", data, sample_id=sample_id)
|
213 |
+
|
214 |
+
def record_raw(self, data):
|
215 |
+
self.record_event("raw_sample", data)
|
216 |
+
|
217 |
+
def record_metrics(self, **kwargs):
|
218 |
+
self.record_event("metrics", kwargs)
|
219 |
+
|
220 |
+
def record_error(self, msg: str, error: Exception, **kwargs):
|
221 |
+
data = {
|
222 |
+
"type": type(error).__name__,
|
223 |
+
"message": str(error),
|
224 |
+
}
|
225 |
+
data.update(kwargs)
|
226 |
+
self.record_event("error", data)
|
227 |
+
|
228 |
+
def record_extra(self, data, sample_id=None):
|
229 |
+
self.record_event("extra", data, sample_id=sample_id)
|
230 |
+
|
231 |
+
def record_final_report(self, final_report: Any):
|
232 |
+
logging.info(f"Final report: {final_report}. Not writing anywhere.")
|
233 |
+
|
234 |
+
|
235 |
+
def _green(str):
|
236 |
+
return f"\033[1;32m{str}\033[0m"
|
237 |
+
|
238 |
+
|
239 |
+
def _red(str):
|
240 |
+
return f"\033[1;31m{str}\033[0m"
|
241 |
+
|
242 |
+
|
243 |
+
class DummyRecorder(RecorderBase):
|
244 |
+
"""
|
245 |
+
A "recorder" which only logs certain events to the console.
|
246 |
+
Can be used by passing `--dry-run` when invoking `oaieval`.
|
247 |
+
"""
|
248 |
+
|
249 |
+
def __init__(self, run_spec: RunSpec, log: bool = True):
|
250 |
+
super().__init__(run_spec)
|
251 |
+
self.log = log
|
252 |
+
|
253 |
+
def record_event(self, type, data, sample_id=None):
|
254 |
+
from evals.registry import registry
|
255 |
+
|
256 |
+
if self.run_spec is None:
|
257 |
+
return
|
258 |
+
|
259 |
+
base_eval_spec = registry.get_base_eval(self.run_spec.base_eval)
|
260 |
+
if base_eval_spec and len(base_eval_spec.metrics) >= 1:
|
261 |
+
primary_metric = base_eval_spec.metrics[0]
|
262 |
+
else:
|
263 |
+
primary_metric = "accuracy"
|
264 |
+
|
265 |
+
with self._event_lock:
|
266 |
+
event = self._create_event(type, data)
|
267 |
+
self._events.append(event)
|
268 |
+
|
269 |
+
msg = f"Not recording event: {event}"
|
270 |
+
|
271 |
+
if type == "match":
|
272 |
+
accuracy_good = (
|
273 |
+
primary_metric == "accuracy" or primary_metric.startswith("pass@")
|
274 |
+
) and (data.get("correct", False) or data.get("accuracy", 0) > 0.5)
|
275 |
+
f1_score_good = primary_metric == "f1_score" and data.get("f1_score", 0) > 0.5
|
276 |
+
if accuracy_good or f1_score_good:
|
277 |
+
msg = _green(msg)
|
278 |
+
else:
|
279 |
+
msg = _red(msg)
|
280 |
+
|
281 |
+
if self.log:
|
282 |
+
logging.info(msg)
|
283 |
+
|
284 |
+
|
285 |
+
class LocalRecorder(RecorderBase):
|
286 |
+
"""
|
287 |
+
A recorder which logs events to the specified JSON file.
|
288 |
+
This is the default recorder used by `oaieval`.
|
289 |
+
"""
|
290 |
+
|
291 |
+
def __init__(self, log_path: Optional[str], run_spec: RunSpec):
|
292 |
+
super().__init__(run_spec)
|
293 |
+
self.event_file_path = log_path
|
294 |
+
if log_path is not None:
|
295 |
+
with bf.BlobFile(log_path, "wb") as f:
|
296 |
+
f.write((jsondumps({"spec": dataclasses.asdict(run_spec)}) + "\n").encode("utf-8"))
|
297 |
+
|
298 |
+
def _flush_events_internal(self, events_to_write: Sequence[Event]):
|
299 |
+
start = time.time()
|
300 |
+
try:
|
301 |
+
lines = [jsondumps(event) + "\n" for event in events_to_write]
|
302 |
+
except TypeError as e:
|
303 |
+
logger.error(f"Failed to serialize events: {events_to_write}")
|
304 |
+
raise e
|
305 |
+
|
306 |
+
with bf.BlobFile(self.event_file_path, "ab") as f:
|
307 |
+
f.write(b"".join([l.encode("utf-8") for l in lines]))
|
308 |
+
|
309 |
+
logger.info(
|
310 |
+
f"Logged {len(lines)} rows of events to {self.event_file_path}: insert_time={t(time.time()-start)}"
|
311 |
+
)
|
312 |
+
|
313 |
+
self._last_flush_time = time.time()
|
314 |
+
self._flushes_done += 1
|
315 |
+
|
316 |
+
def record_final_report(self, final_report: Any):
|
317 |
+
with bf.BlobFile(self.event_file_path, "ab") as f:
|
318 |
+
f.write((jsondumps({"final_report": final_report}) + "\n").encode("utf-8"))
|
319 |
+
|
320 |
+
logging.info(f"Final report: {final_report}. Logged to {self.event_file_path}")
|
321 |
+
|
322 |
+
|
323 |
+
class Recorder(RecorderBase):
|
324 |
+
"""
|
325 |
+
A recorder which logs events to Snowflake.
|
326 |
+
Can be used by passing `--no-local-run` when invoking `oaieval`.
|
327 |
+
"""
|
328 |
+
|
329 |
+
def __init__(
|
330 |
+
self,
|
331 |
+
log_path: Optional[str],
|
332 |
+
run_spec: evals.base.RunSpec,
|
333 |
+
snowflake_connection: Optional[SnowflakeConnection] = None,
|
334 |
+
) -> None:
|
335 |
+
super().__init__(run_spec)
|
336 |
+
self.event_file_path = log_path
|
337 |
+
self._writing_lock = threading.Lock()
|
338 |
+
|
339 |
+
if snowflake_connection is None:
|
340 |
+
snowflake_connection = SnowflakeConnection()
|
341 |
+
self._conn = snowflake_connection
|
342 |
+
|
343 |
+
if log_path is not None:
|
344 |
+
with bf.BlobFile(log_path, "wb") as f:
|
345 |
+
f.write((jsondumps({"spec": dataclasses.asdict(run_spec)}) + "\n").encode("utf-8"))
|
346 |
+
|
347 |
+
query = """
|
348 |
+
INSERT ALL INTO runs (run_id, model_name, eval_name, base_eval, split, run_config, settings, created_by, created_at)
|
349 |
+
VALUES (%(run_id)s, %(model_name)s, %(eval_name)s, %(base_eval)s, %(split)s, run_config, settings, %(created_by)s, %(created_at)s)
|
350 |
+
SELECT PARSE_JSON(%(run_config)s) AS run_config, PARSE_JSON(%(settings)s) AS settings
|
351 |
+
"""
|
352 |
+
self._conn.robust_query(
|
353 |
+
command=query,
|
354 |
+
params={
|
355 |
+
"run_id": run_spec.run_id,
|
356 |
+
"model_name": jsondumps(run_spec.model_names),
|
357 |
+
"eval_name": run_spec.eval_name,
|
358 |
+
"base_eval": run_spec.base_eval,
|
359 |
+
"split": run_spec.split,
|
360 |
+
"run_config": jsondumps(run_spec.run_config),
|
361 |
+
"settings": jsondumps(run_spec.run_config.get("initial_settings", {})),
|
362 |
+
"created_by": run_spec.created_by,
|
363 |
+
"created_at": run_spec.created_at,
|
364 |
+
},
|
365 |
+
)
|
366 |
+
atexit.register(self.flush_events)
|
367 |
+
|
368 |
+
def _flush_events_internal(self, events_to_write: Sequence[Event]):
|
369 |
+
with self._writing_lock:
|
370 |
+
try:
|
371 |
+
lines = [jsondumps(event) + "\n" for event in events_to_write]
|
372 |
+
except TypeError as e:
|
373 |
+
logger.error(f"Failed to serialize events: {events_to_write}")
|
374 |
+
raise e
|
375 |
+
idx_l = 0
|
376 |
+
while idx_l < len(events_to_write):
|
377 |
+
total_bytes = 0
|
378 |
+
idx_r = idx_l
|
379 |
+
while (
|
380 |
+
idx_r < len(events_to_write)
|
381 |
+
and total_bytes + len(lines[idx_r]) < MAX_SNOWFLAKE_BYTES
|
382 |
+
):
|
383 |
+
total_bytes += len(lines[idx_r])
|
384 |
+
idx_r += 1
|
385 |
+
assert idx_r > idx_l
|
386 |
+
start = time.time()
|
387 |
+
buffer = [
|
388 |
+
(
|
389 |
+
event.run_id,
|
390 |
+
event.event_id,
|
391 |
+
event.sample_id,
|
392 |
+
event.type,
|
393 |
+
jsondumps(event.data),
|
394 |
+
event.created_by,
|
395 |
+
event.created_at,
|
396 |
+
)
|
397 |
+
for event in events_to_write[idx_l:idx_r]
|
398 |
+
]
|
399 |
+
query = """
|
400 |
+
INSERT INTO events (run_id, event_id, sample_id, type, data, created_by, created_at)
|
401 |
+
SELECT Column1 AS run_id, Column2 as event_id, Column3 AS sample_id, Column4 AS type, PARSE_JSON(Column5) AS data, Column6 AS created_by, Column7 AS created_at
|
402 |
+
FROM VALUES(%s, %s, %s, %s, %s, %s, %s)
|
403 |
+
"""
|
404 |
+
self._conn.robust_query(command=query, seqparams=buffer, many=True)
|
405 |
+
logger.info(
|
406 |
+
f"Logged {len(buffer)} rows of events to Snowflake: insert_time={t(time.time()-start)}"
|
407 |
+
)
|
408 |
+
idx_l = idx_r
|
409 |
+
|
410 |
+
with bf.BlobFile(self.event_file_path, "ab") as f:
|
411 |
+
f.write(b"".join([l.encode("utf-8") for l in lines]))
|
412 |
+
self._last_flush_time = time.time()
|
413 |
+
self._flushes_done += 1
|
414 |
+
|
415 |
+
def record_final_report(self, final_report: Any):
|
416 |
+
with self._writing_lock:
|
417 |
+
with bf.BlobFile(self.event_file_path, "ab") as f:
|
418 |
+
f.write((jsondumps({"final_report": final_report}) + "\n").encode("utf-8"))
|
419 |
+
query = """
|
420 |
+
UPDATE runs
|
421 |
+
SET final_report = PARSE_JSON(%(final_report)s)
|
422 |
+
WHERE run_id = %(run_id)s
|
423 |
+
"""
|
424 |
+
self._conn.robust_query(
|
425 |
+
command=query,
|
426 |
+
params={
|
427 |
+
"run_id": self.run_spec.run_id,
|
428 |
+
"final_report": jsondumps(final_report),
|
429 |
+
},
|
430 |
+
)
|
431 |
+
|
432 |
+
def record_event(self, type, data=None, sample_id=None):
|
433 |
+
# try to serialize data so we fail early!
|
434 |
+
_ = jsondumps(data)
|
435 |
+
return super().record_event(type, data, sample_id)
|
436 |
+
|
437 |
+
|
438 |
+
#########################################################################
|
439 |
+
### Helper methods which use the thread local global default recorder ###
|
440 |
+
#########################################################################
|
441 |
+
|
442 |
+
|
443 |
+
def current_sample_id() -> str:
|
444 |
+
return default_recorder().current_sample_id
|
445 |
+
|
446 |
+
|
447 |
+
def record_match(correct: bool, *, expected=None, picked=None, **extra):
|
448 |
+
return default_recorder().record_match(correct, expected=expected, picked=picked, **extra)
|
449 |
+
|
450 |
+
|
451 |
+
def record_embedding(prompt, embedding_type, **extra):
|
452 |
+
return default_recorder().record_embedding(prompt, embedding_type, **extra)
|
453 |
+
|
454 |
+
|
455 |
+
def record_sampling(prompt, sampled, **extra):
|
456 |
+
return default_recorder().record_sampling(prompt, sampled, **extra)
|
457 |
+
|
458 |
+
|
459 |
+
def record_cond_logp(prompt, completion, logp, **extra):
|
460 |
+
return default_recorder().record_cond_logp(prompt, completion, logp, **extra)
|
461 |
+
|
462 |
+
|
463 |
+
def record_pick_option(prompt, options, picked, **extra):
|
464 |
+
return default_recorder().record_pick_option(prompt, options, picked, **extra)
|
465 |
+
|
466 |
+
|
467 |
+
def record_raw(data):
|
468 |
+
return default_recorder().record_raw(data)
|
469 |
+
|
470 |
+
|
471 |
+
def record_metrics(**extra):
|
472 |
+
return default_recorder().record_metrics(**extra)
|
473 |
+
|
474 |
+
|
475 |
+
def record_error(msg: str, error: Exception = None, **extra):
|
476 |
+
return default_recorder().record_error(msg, error, **extra)
|
477 |
+
|
478 |
+
|
479 |
+
def record_extra(data):
|
480 |
+
return default_recorder().record_extra(data)
|
evals/evals/registry.py
ADDED
@@ -0,0 +1,174 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"""
|
2 |
+
Functions to handle registration of evals. To add a new eval to the registry,
|
3 |
+
add an entry in one of the YAML files in the `../registry` dir.
|
4 |
+
By convention, every eval name should start with {base_eval}.{split}.
|
5 |
+
"""
|
6 |
+
|
7 |
+
import difflib
|
8 |
+
import functools
|
9 |
+
import logging
|
10 |
+
import os
|
11 |
+
import re
|
12 |
+
from functools import partial
|
13 |
+
from pathlib import Path
|
14 |
+
from typing import Any, Iterator, Sequence, Type, Union
|
15 |
+
|
16 |
+
import yaml
|
17 |
+
|
18 |
+
from evals.base import BaseEvalSpec, EvalSetSpec, EvalSpec
|
19 |
+
from evals.utils.misc import make_object
|
20 |
+
|
21 |
+
logger = logging.getLogger(__name__)
|
22 |
+
|
23 |
+
DEFAULT_PATHS = [Path(__file__).parents[0].resolve() / "registry", Path.home() / ".evals"]
|
24 |
+
|
25 |
+
|
26 |
+
class Registry:
|
27 |
+
def __init__(self, registry_paths: Sequence[Union[str, Path]] = DEFAULT_PATHS):
|
28 |
+
self._registry_paths = [Path(p) if isinstance(p, str) else p for p in registry_paths]
|
29 |
+
|
30 |
+
def make_callable(self, spec):
|
31 |
+
return partial(make_object(spec.cls).create_and_run, **(spec.args or {}))
|
32 |
+
|
33 |
+
def get_class(self, spec: dict) -> Any:
|
34 |
+
return make_object(spec.cls, **(spec.args if spec.args else {}))
|
35 |
+
|
36 |
+
def _dereference(self, name: str, d: dict, object: str, type: Type) -> dict:
|
37 |
+
if not name in d:
|
38 |
+
return None
|
39 |
+
|
40 |
+
def get_alias():
|
41 |
+
if isinstance(d[name], str):
|
42 |
+
return d[name]
|
43 |
+
if isinstance(d[name], dict) and "id" in d[name]:
|
44 |
+
return d[name]["id"]
|
45 |
+
return None
|
46 |
+
|
47 |
+
logger.debug(f"Looking for {name}")
|
48 |
+
while True:
|
49 |
+
alias = get_alias()
|
50 |
+
|
51 |
+
if alias is None:
|
52 |
+
break
|
53 |
+
name = alias
|
54 |
+
|
55 |
+
spec = d[name]
|
56 |
+
|
57 |
+
try:
|
58 |
+
return type(**spec)
|
59 |
+
except TypeError as e:
|
60 |
+
raise TypeError(f"Error while processing {object} {name}: {e}")
|
61 |
+
|
62 |
+
def get_modelgraded_spec(self, name: str) -> dict[str, Any]:
|
63 |
+
assert name in self._modelgraded_specs, (
|
64 |
+
f"Modelgraded spec {name} not found. "
|
65 |
+
f"Closest matches: {difflib.get_close_matches(name, self._modelgraded_specs.keys(), n=5)}"
|
66 |
+
)
|
67 |
+
return self._modelgraded_specs[name]
|
68 |
+
|
69 |
+
def get_eval(self, name: str) -> EvalSpec:
|
70 |
+
return self._dereference(name, self._evals, "eval", EvalSpec)
|
71 |
+
|
72 |
+
def get_eval_set(self, name: str) -> EvalSetSpec:
|
73 |
+
return self._dereference(name, self._eval_sets, "eval set", EvalSetSpec)
|
74 |
+
|
75 |
+
def get_evals(self, patterns: Sequence[str]) -> Iterator[EvalSpec]:
|
76 |
+
# valid patterns: hello, hello.dev*, hello.dev.*-v1
|
77 |
+
def get_regexp(pattern):
|
78 |
+
pattern = pattern.replace(".", "\\.")
|
79 |
+
pattern = pattern.replace("*", ".*")
|
80 |
+
return re.compile(f"^{pattern}$")
|
81 |
+
|
82 |
+
regexps = list(map(get_regexp, patterns))
|
83 |
+
for name in self._evals:
|
84 |
+
# if any regexps match, return the name
|
85 |
+
if any(map(lambda regexp: regexp.match(name), regexps)):
|
86 |
+
yield self.get_eval(name)
|
87 |
+
|
88 |
+
def get_base_evals(self) -> list[BaseEvalSpec]:
|
89 |
+
base_evals = []
|
90 |
+
for name, spec in self._evals.items():
|
91 |
+
if name.count(".") == 0:
|
92 |
+
base_evals.append(self.get_base_eval(name))
|
93 |
+
return base_evals
|
94 |
+
|
95 |
+
def get_base_eval(self, name: str) -> BaseEvalSpec:
|
96 |
+
if not name in self._evals:
|
97 |
+
return None
|
98 |
+
|
99 |
+
spec_or_alias = self._evals[name]
|
100 |
+
if isinstance(spec_or_alias, dict):
|
101 |
+
spec = spec_or_alias
|
102 |
+
try:
|
103 |
+
return BaseEvalSpec(**spec)
|
104 |
+
except TypeError as e:
|
105 |
+
raise TypeError(f"Error while processing base eval {name}: {e}")
|
106 |
+
|
107 |
+
alias = spec_or_alias
|
108 |
+
return BaseEvalSpec(id=alias)
|
109 |
+
|
110 |
+
def _process_file(self, registry, path):
|
111 |
+
with open(path, "r") as f:
|
112 |
+
d = yaml.safe_load(f)
|
113 |
+
|
114 |
+
if d is None:
|
115 |
+
# no entries in the file
|
116 |
+
return
|
117 |
+
|
118 |
+
for name, spec in d.items():
|
119 |
+
assert name not in registry, f"duplicate entry: {name} from {path}"
|
120 |
+
if isinstance(spec, dict):
|
121 |
+
if "key" in spec:
|
122 |
+
raise ValueError(
|
123 |
+
f"key is a reserved keyword, but was used in {name} from {path}"
|
124 |
+
)
|
125 |
+
if "group" in spec:
|
126 |
+
raise ValueError(
|
127 |
+
f"group is a reserved keyword, but was used in {name} from {path}"
|
128 |
+
)
|
129 |
+
if "cls" in spec:
|
130 |
+
raise ValueError(
|
131 |
+
f"cls is a reserved keyword, but was used in {name} from {path}"
|
132 |
+
)
|
133 |
+
|
134 |
+
spec["key"] = name
|
135 |
+
spec["group"] = str(os.path.basename(path).split(".")[0])
|
136 |
+
if "class" in spec:
|
137 |
+
spec["cls"] = spec["class"]
|
138 |
+
del spec["class"]
|
139 |
+
registry[name] = spec
|
140 |
+
|
141 |
+
def _process_directory(self, registry, path):
|
142 |
+
files = Path(path).glob("*.yaml")
|
143 |
+
for file in files:
|
144 |
+
self._process_file(registry, file)
|
145 |
+
|
146 |
+
def _load_registry(self, paths):
|
147 |
+
"""Load registry from a list of paths.
|
148 |
+
|
149 |
+
Each path or yaml specifies a dictionary of name -> spec.
|
150 |
+
"""
|
151 |
+
registry = {}
|
152 |
+
for path in paths:
|
153 |
+
logging.info(f"Loading registry from {path}")
|
154 |
+
if os.path.exists(path):
|
155 |
+
if os.path.isdir(path):
|
156 |
+
self._process_directory(registry, path)
|
157 |
+
else:
|
158 |
+
self._process_file(registry, path)
|
159 |
+
return registry
|
160 |
+
|
161 |
+
@functools.cached_property
|
162 |
+
def _eval_sets(self):
|
163 |
+
return self._load_registry([p / "eval_sets" for p in self._registry_paths])
|
164 |
+
|
165 |
+
@functools.cached_property
|
166 |
+
def _evals(self):
|
167 |
+
return self._load_registry([p / "evals" for p in self._registry_paths])
|
168 |
+
|
169 |
+
@functools.cached_property
|
170 |
+
def _modelgraded_specs(self):
|
171 |
+
return self._load_registry([p / "modelgraded" for p in self._registry_paths])
|
172 |
+
|
173 |
+
|
174 |
+
registry = Registry()
|
evals/evals/registry/data/README.md
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
### Registry Data
|
2 |
+
|
3 |
+
The JSONL need to be pulled via `git-lfs` / downloaded to view.
|
4 |
+
|
5 |
+
Here are some example JSONLs for reference and how they are used in evals. See our [eval templates docs](../../../docs/eval-templates.md) for more details.
|
6 |
+
|
7 |
+
`test_match/samples.jsonl` In the associated eval from [`test-basic.yaml`](../evals/test-basic.yaml), we see this data is used in a `Match` class, which means we will check if a completion starts with the value for "ideal" key.
|
8 |
+
```json
|
9 |
+
{"input": [{"role": "system", "content": "Complete the phrase as concisely as possible."}, {"role": "user", "content": "Once upon a "}], "ideal": "time"}
|
10 |
+
{"input": [{"role": "system", "content": "Complete the phrase as concisely as possible."}, {"role": "user", "content": "The first US president was "}], "ideal": "George Washington"}
|
11 |
+
{"input": [{"role": "system", "content": "Complete the phrase as concisely as possible."}, {"role": "user", "content": "OpenAI was founded in 20"}], "ideal": "15"}
|
12 |
+
```
|
13 |
+
Another example of a Match eval is:
|
14 |
+
```json
|
15 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Spell this sentence backwards, character by character: We’ve trained a model called ChatGPT which interacts in a conversational way. The dialogue format makes it possible for ChatGPT to answer follow-up questions, admit its mistakes, challenge incorrect premises, and reject inappropriate requests."}], "ideal": ".stseuqer etairporppani tcejer dna ,sesimerp tcerrocni egnellahc ,sekatsim sti timda ,snoitseuq puwollof rewsna ot TPGtahC rof elbissop ti sekam tamrof eugolaid ehT .yaw lanoitasrevnoc a ni stcaretni hcihw TPGtahC dellac ledom a deniart ev’eW"}
|
16 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Spell this sentence backwards, character by character: Latencies will vary over time so we recommend benchmarking prior to making deployment decisions"}], "ideal": "snoisiced tnemyolped gnikam ot roirp gnikramhcneb dnemmocer ew os emit revo yrav lliw seicnetaL"}
|
17 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Spell this sentence backwards, character by character: Our mission is to ensure that artificial general intelligence—AI systems that are generally smarter than humans—benefits all of humanity."}], "ideal": ".ytinamuh fo lla stifeneb—snamuh naht retrams yllareneg era taht smetsys IA—ecnegilletni lareneg laicifitra taht erusne ot si noissim ruO"}
|
18 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Spell this sentence backwards, character by character: There are several things we think are important to do now to prepare for AGI."}], "ideal": ".IGA rof eraperp ot won od ot tnatropmi era kniht ew sgniht lareves era erehT"}
|
19 |
+
```
|
20 |
+
|
21 |
+
`test_fuzzy_match/samples.jsonl` In the associated eval from [`test-basic.yaml`](../evals/test-basic.yaml), we see this data is used in a `FuzzyMatch` class, which means we will check if a completion includes a normalized version of the "ideal" key or vice-versa.
|
22 |
+
```json
|
23 |
+
{"input": [{"role": "system", "content": "Answer the following questions as concisely as possible."}, {"role": "system", "content": "What's the capital of France?", "name": "example_user"}, {"role": "system", "content": "Paris", "name": "example_assistant"}, {"role": "system", "content": "What's 2+2?", "name": "example_user"}, {"role": "system", "content": "4", "name": "example_assistant"}, {"role": "user", "content": "Who is the girl who plays eleven in stranger things?"}], "ideal": ["Millie Bobby Brown"]}
|
24 |
+
{"input": [{"role": "system", "content": "Answer the following questions as concisely as possible."}, {"role": "system", "content": "What's the capital of France?", "name": "example_user"}, {"role": "system", "content": "Paris", "name": "example_assistant"}, {"role": "system", "content": "What's 2+2?", "name": "example_user"}, {"role": "system", "content": "4", "name": "example_assistant"}, {"role": "user", "content": "What season did derek die in grey's?"}], "ideal": ["Season 11", "11"]}
|
25 |
+
{"input": [{"role": "system", "content": "Answer the following questions as concisely as possible."}, {"role": "system", "content": "What's the capital of France?", "name": "example_user"}, {"role": "system", "content": "Paris", "name": "example_assistant"}, {"role": "system", "content": "What's 2+2?", "name": "example_user"}, {"role": "system", "content": "4", "name": "example_assistant"}, {"role": "user", "content": "Who played the girl elf in the hobbit?"}], "ideal": ["Evangeline Lilly"]}
|
26 |
+
```
|
27 |
+
|
28 |
+
`logic/samples.jsonl` In the associated eval from [`test-basic.yaml`](../evals/logic.yaml), we see this data is used with a `ModelBasedClassify` class with [`fact`](../modelgraded/fact.yaml) model-graded yaml, which will compare the factual content of the completion against a ground truth.
|
29 |
+
```json
|
30 |
+
{"input":[{"role":"system","content":"Solve the following logical puzzle. Carefully think step by step, and show your reasoning. If there is not enough information to solve the puzzle, conclude with 'There is not enough information.' There are five students, Anna, Bob and Cynthia, Dan and Eliza. They all tell the truth. Anna is taller than Cynthia. Bob says he's taller than Anna if and only if Eliza is the shortest. Cynthia is taller than Dan. Eliza is shorter than Dan. Who's the tallest in the group? Let's think step by step:"}],"ideal":"Anna > Cynthia > Dan > Eliza. But, based on Bob's statement, there are still two possibilities: 1. Bob is taller than Eliza, making Eliza the shortest, making Bob taller than Anna, making Bob the tallest. 2. Bob is shorter than Eliza: this would still be valid, as Eliza wouldn't be the shortest and therefore Bob isn't taller than Anna. And Anna would be the tallest. So there's not enough information"}
|
31 |
+
{"input":[{"role":"system","content":"Laura thinks that Jessica thinks that Angie is only 23 years old. Angie thinks Josie knows where Laura's mother is. Jessica thinks Laura was once an engineer. Josie thinks Laura is friendly. Based on the text, what thoughts do we know that Laura, Jessica, Angie, and Josie have?"}],"ideal":"Laura thinks: Jessica thinks Angie is only 23 years old. Jessica thinks: Laura was once an engineer. Angie thinks: Josie knows where Laura's mother is. Josie thinks: Laura is friendly."}
|
32 |
+
{"input":[{"role":"system","content":"At a party, there are 100 people. Some always lie and some always tell the truth. They all know which one of them is a truth-teller and which one is a liar. After the party, you ask each person how many truth-tellers they shook hands with. Each person gives a different answer, ranging from 0 to 99. How many were truth-tellers and how many were liars?"}],"ideal":"There is 1 truth-teller and 99 liars at the party."}
|
33 |
+
{"input":[{"role":"system","content":"Two people want to cross a river. The only way to get across is with a boat that they find on one side; but that boat can only take one person at a time. The boat cannot return on its own, and there are no ropes to haul it back, yet both persons manage to cross using the boat. How did they do it?"}],"ideal":"The people are on different sides of the river, so the person on the same side as the boat originally can cross first to bring the boat to the side with the other person, then that person can cross."}
|
34 |
+
{"input":[{"role":"system","content":"There are two men. One of them is wearing a red shirt, and the other is wearing a blue shirt. The two men are named Andrew and Bob, but we do not know which is Andrew and which is Bob. The guy in the blue shirt says, 'I am Andrew.' The guy in the red shirt says, 'I am Bob.' If we know that at least one of them lied, then what color shirt is Andrew wearing?"}],"ideal":"Andrew is wearing the red shirt."}
|
35 |
+
{"input":[{"role":"system","content":"Which word does NOT belong with the others? A. index B. glossary C. chapter D. book"}],"ideal":"D. book"}
|
36 |
+
{"input":[{"role":"system","content":"The day before yesterday, Chris was 7 years old. Next year he'll turn 10. How is this possible?"}],"ideal":"Assuming today is January 1st of any given year: Two days ago, on December 30th, Chris was 7 years old. On December 31st, Chris celebrated his 8th birthday. On December 31st of this year, Chris will celebrate his 9th birthday. By the end of this year, on December 31st, Chris will be 10 years old. Therefore, on January 1st of the following year, Chris will be 10 years old."}
|
37 |
+
{"input":[{"role":"system","content":"Inhabitants of an island lie consistently on Tuesdays, Thursdays, and Saturdays, and they tell the truth on the other four days of the week. You have forgotten what day of the week it is, so you ask a passerby. 'Saturday,' he answers. 'And what day will it be tomorrow?' you inquire. 'Wednesday,' he replies. Can you tell what day it is today?"}],"ideal":"Based on answer 1, today cannot be M, W, F, Su, or Sa (lying day). Based on answer 2, today cannot be M, W, F, Su, or Tu (lying day). So, today must be Thursday."}
|
38 |
+
{"input":[{"role":"system","content":"You are on an island populated by two tribes. Members of one tribe consistently lie. Members of the other tribe always tell the truth. Tribe members can recognize one another, but you can't tell them apart. You meet two people, C and D on the island. C says, 'Exactly one of us is from the liars tribe.' Which tribe is D from?"}],"ideal":"D is from the Liars tribe."}
|
39 |
+
{"input":[{"role":"system","content":"There are five people in a room. Each person will either always tell the truth or always tell a lie. Each person is asked the following question: How many liars are among you? The answers are: \"one\", \"two\", \"three\", \"four\", \"five\". How many liars are in the room?"}],"ideal":"There are four liars."}
|
40 |
+
```
|
41 |
+
|
42 |
+
### Dataset attributions
|
43 |
+
|
44 |
+
This work includes data from the Illinois Intentional Tort Qualitative Dataset, which was compiled by the Qualitative Reasoning Group at Northwestern University. The dataset is freely available under the Creative Commons Attribution 4.0 license from https://www.qrg.northwestern.edu/Resources/caselawcorpus.html
|
evals/evals/registry/data/aba_mrpc_true_false/samples.jsonl
ADDED
@@ -0,0 +1,110 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer with general experience not considered competent to handle a case involving a specialized field of law."}], "ideal": "False"}
|
2 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "Newly admitted lawyers cannot be as competent as practitioners with long experience."}], "ideal": "False"}
|
3 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "In an emergency, a lawyer is allowed to provide assistance in a matter even if they do not have the ordinarily required skill."}], "ideal": "True"}
|
4 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer must always prepare for legal problems with which they are not familiar by seeking special training."}], "ideal": "False"}
|
5 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer cannot accept representation if they do not currently possess the required level of competence."}], "ideal": "False"}
|
6 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "An attorney may consult with lawyers outside of the attorney's firm on the client's case without telling the client."}], "ideal": "False"}
|
7 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "An attorney may consult with lawyers inside of the attorney's firm on the client's case without telling the client."}], "ideal": "True"}
|
8 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "When lawyers from more than one law firm are providing legal services to a client on a particular matter, they do not need to consult with each other and the client about the scope of their respective representations."}], "ideal": "False"}
|
9 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "Maintaining competence does not require a lawyer to keep abreast of changes in the law and its practice."}], "ideal": "False"}
|
10 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer cannot ethically represent a client if they disagree with the client's political, economic, social or moral views related to the matter."}], "ideal": "False"}
|
11 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer may limit the scope of representation if it is reasonable and the client gives informed consent."}], "ideal": "True"}
|
12 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "In a criminal case, the lawyer has the final say in decisions regarding the client's plea, whether to waive jury trial, and whether the client will testify."}], "ideal": "False"}
|
13 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer can counsel a client to engage in conduct that the lawyer knows is criminal or fraudulent."}], "ideal": "False"}
|
14 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer can counsel a client regarding the consequences of conduct that the lawyer knows is criminal or fraudulent."}], "ideal": "True"}
|
15 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer's representation of a client does not imply endorsement of the client's views or activities."}], "ideal": "True"}
|
16 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer is allowed to draft and deliver documents that they know are fraudulent in order to assist their client."}], "ideal": "False"}
|
17 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "When a lawyer discovers that their client's ongoing conduct is criminal or fraudulent, the lawyer must report the client to the authorities."}], "ideal": "False"}
|
18 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer may provide limited representation to a client as long as the limitation is reasonable and the client is properly informed."}], "ideal": "True"}
|
19 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer is prohibited from discussing the legal consequences of a proposed course of conduct with a client if that conduct is clearly criminal."}], "ideal": "False"}
|
20 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "If a lawyer knows that a client expects assistance not permitted by the Rules of Professional Conduct, the lawyer must immediately withdraw from the representation."}], "ideal": "False"}
|
21 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer is permitted to charge a contingent fee in a domestic relations matter, where the payment is contingent upon the securing of a divorce or the amount of alimony or support, when the client is unable to pay otherwise."}], "ideal": "False"}
|
22 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer must communicate the scope of representation and the basis or rate of the fee and expenses to the client in writing before the representation commences in all cases."}], "ideal": "False"}
|
23 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer may charge a client an unreasonable fee or an unreasonable amount for expenses, as long as the client agrees to it."}], "ideal": "False"}
|
24 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer is permitted to enter into a fee arrangement that might induce the lawyer to curtail services for the client or perform them in a way contrary to the client's interest."}], "ideal": "False"}
|
25 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A contingent fee agreement must be orally agreed upon between the lawyer and client, stating the method by which the fee is to be determined."}], "ideal": "False"}
|
26 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer may accept property in payment for services, such as an ownership interest in an enterprise, without any limitations or restrictions."}], "ideal": "False"}
|
27 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer may divide a fee with another lawyer who is not in the same firm, even if the client does not agree to the arrangement."}], "ideal": "False"}
|
28 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer is required to return any unearned portion of a fee if the client fires them without warning."}], "ideal": "True"}
|
29 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer may charge a contingent fee for representing a defendant in a criminal case."}], "ideal": "False"}
|
30 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "When determining the reasonableness of a fee, factors such as the time and labor required, the novelty and difficulty of the questions involved, and the skill requisite to perform the legal service properly should be considered."}], "ideal": "True"}
|
31 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer is allowed to reveal information relating to the representation of a client if they believe it is necessary to prevent the client from committing a crime.."}], "ideal": "False"}
|
32 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer is allowed to reveal information relating to the representation of a client if they believe it is necessary to prevent the client from committing a crime that may result in financial injury to another person."}], "ideal": "True"}
|
33 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer is required to reveal information relating to the representation of a client if it is necessary to prevent the client from committing a crime that may result in financial injury to another person."}], "ideal": "False"}
|
34 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer may reveal information relating to the representation of a client to detect and resolve conflicts of interest arising from changes in the composition or ownership of a firm, even if the revealed information would compromise the attorney-client privilege."}], "ideal": "False"}
|
35 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer may disclose information relating to the representation of a client if the disclosure is impliedly authorized to carry out the representation."}], "ideal": "True"}
|
36 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer is prohibited from revealing any information relating to the representation of a client, regardless of the circumstances."}], "ideal": "False"}
|
37 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer may disclose information relating to the representation of a client to secure legal advice about the lawyer's compliance with the Rules of Professional Conduct."}], "ideal": "True"}
|
38 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer is allowed to reveal information relating to the representation of a client to establish a defense in a controversy between the lawyer and the client."}], "ideal": "True"}
|
39 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer must disclose unprotected information relating to the representation of a client, even if the disclosure could reasonably lead to the discovery of protected information by a third party."}], "ideal": "False"}
|
40 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer is allowed to disclose information relating to a client's representation to detect and resolve conflicts of interest without the client's consent."}], "ideal": "True"}
|
41 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer must take reasonable efforts to prevent unauthorized access to or disclosure of client information, even if the lawyer is not at fault for the unauthorized access or disclosure."}], "ideal": "True"}
|
42 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer is not required to take any special security measures when transmitting client information if the method of communication affords a reasonable expectation of privacy."}], "ideal": "True"}
|
43 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "The duty of confidentiality ends when the client-lawyer relationship is terminated."}], "ideal": "False"}
|
44 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer must always appeal an adverse ruling regarding disclosure of client information, regardless of the client's wishes."}], "ideal": "False"}
|
45 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer is permitted to disclose client information if a court or other tribunal orders the disclosure, even without the client's informed consent."}], "ideal": "True"}
|
46 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer may represent a client with a concurrent conflict of interest without obtaining informed consent from each affected client, as long as the lawyer reasonably believes they can provide competent and diligent representation."}], "ideal": "False"}
|
47 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer is allowed to represent a client if the representation involves asserting a claim by one client against another client represented by the same lawyer in the same litigation."}], "ideal": "False"}
|
48 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer may represent clients with economically adverse interests in unrelated matters without obtaining their informed consent."}], "ideal": "True"}
|
49 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer's duty of loyalty and independent judgment can be materially limited by responsibilities to a former client."}], "ideal": "True"}
|
50 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer is permitted to represent a client in a transaction where the lawyer's own conduct is in question, as long as the lawyer can provide competent and diligent representation."}], "ideal": "False"}
|
51 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer may engage in sexual relationships with a client if the relationship predates the formation of the client-lawyer relationship."}], "ideal": "True"}
|
52 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer who is closely related by blood or marriage to another lawyer may represent a client in a matter where the other lawyer represents another party, without obtaining informed consent from each client."}], "ideal": "False"}
|
53 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer may accept payment from a source other than the client if the client is informed and consents, and the arrangement does not compromise the lawyer's duty of loyalty or independent judgment."}], "ideal": "True"}
|
54 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A parent who pays for the lawyer's services on behalf of a child may direct or control some of the legal strategy decisions made."}], "ideal": "False"}
|
55 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the information provided about conflict of interest."}, {"role": "user", "content": "In all cases, clients can consent to a representation where a conflict of interest exists."}], "ideal": "False"}
|
56 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the information provided about conflict of interest."}, {"role": "user", "content": "Representation is prohibited if the lawyer cannot reasonably conclude that they will be able to provide competent and diligent representation."}], "ideal": "True"}
|
57 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the information provided about conflict of interest."}, {"role": "user", "content": "Informed consent requires the client to be aware of the possible effects on loyalty, confidentiality, and the attorney-client privilege when multiple clients are represented in a single matter."}], "ideal": "True"}
|
58 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the information provided about conflict of interest."}, {"role": "user", "content": "A client who has given consent to a conflict cannot revoke the consent or terminate the lawyer's representation at any time."}], "ideal": "False"}
|
59 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the information provided about conflict of interest."}, {"role": "user", "content": "A client who has given consent to a conflict cannot revoke the consent or terminate the lawyer's representation if the lawyer reasonably and honestly believes the timing would harm the client's interests."}], "ideal": "False"}
|
60 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the information provided about conflict of interest."}, {"role": "user", "content": "General and open-ended advance consent to future conflicts is considered effective."}], "ideal": "False"}
|
61 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the information provided about conflict of interest."}, {"role": "user", "content": "A lawyer may not take inconsistent legal positions in different tribunals at different times on behalf of different clients."}], "ideal": "False"}
|
62 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the information provided about conflict of interest."}, {"role": "user", "content": "A lawyer is required to obtain informed consent from a client, confirmed in writing, when there is a potential conflict of interest."}], "ideal": "False"}
|
63 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer is prohibited from representing multiple parties to a negotiation if their interests are fundamentally antagonistic to each other."}], "ideal": "True"}
|
64 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer can represent multiple clients with generally aligned interests even if there are some differences in interest among them."}], "ideal": "True"}
|
65 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer must always maintain impartiality between commonly represented clients."}], "ideal": "True"}
|
66 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "As between commonly represented clients, the attorney-client privilege does not attach."}], "ideal": "True"}
|
67 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer representing an organization also represents all of its affiliated organizations, such as parent and subsidiary companies."}], "ideal": "False"}
|
68 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer who is a member of a corporation's board of directors must resign from the board or cease acting as the corporation's lawyer when a conflict of interest arises."}], "ideal": "False"}
|
69 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "In common representation, if one client asks the lawyer not to disclose information relevant to the representation to the other client, the lawyer must withdraw from representing both clients."}], "ideal": "False"}
|
70 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer representing multiple clients in the same matter should consider the potential additional cost, embarrassment, and recrimination if the common representation fails."}], "ideal": "True"}
|
71 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "When seeking to establish or adjust a relationship between clients, the lawyer's role is that of partisanship normally expected in other circumstances."}], "ideal": "False"}
|
72 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "In a law firm, a lawyer's disqualification due to a personal interest will result in the disqualification of all other lawyers in the firm."}], "ideal": "False"}
|
73 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer who moves from one firm to another can be screened from participation in a matter, and the new firm can represent a client with adverse interests without obtaining the former client's informed consent."}], "ideal": "True"}
|
74 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A law firm is prohibited from representing a client with interests adverse to those of a client represented by a formerly associated lawyer."}], "ideal": "False"}
|
75 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A disqualification prescribed by Rule 1.10 may be waived by the affected client under the conditions stated in Rule 1.7."}], "ideal": "True"}
|
76 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer's disqualification based on prior work as a law student will result in the disqualification of all other lawyers in the firm."}], "ideal": "False"}
|
77 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "An attorney is allowed to touch and move contraband on behalf of the client."}], "ideal": "False"}
|
78 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "In ex parte proceedings, an attorney is not required to reveal information that may be harmful to their client's case."}], "ideal": "False"}
|
79 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A prosecutor is obligated to timely disclose favorable evidence to the defense, even if it is inadmissible or has no impact on the outcome of the case."}], "ideal": "True"}
|
80 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "It is acceptable for an attorney to communicate directly with a person who is represented by counsel on a specific matter without the consent of their counsel."}], "ideal": "False"}
|
81 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A prosecutor has a duty to protect the accused's right to counsel."}], "ideal": "True"}
|
82 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer can make false statements of fact to adversaries and third parties."}], "ideal": "False"}
|
83 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "An attorney must not act with the sole purpose of delaying, burdening, or embarrassing other parties while obtaining evidence."}], "ideal": "True"}
|
84 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "Lawyers are allowed to make out-of-court statements that are completely true, but that they reasonably should know have a substantial likelihood of materially prejudicing the case."}], "ideal": "False"}
|
85 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "It is acceptable for a prosecutor to make true comments that have a substantial likelihood of heightening public condemnation of the accused."}], "ideal": "False"}
|
86 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer must self-report when they know they have violated the rules of professional conduct."}], "ideal": "False"}
|
87 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "Attorneys have an affirmative duty to expedite cases and should not delay cases for their own personal gain or convenience."}], "ideal": "True"}
|
88 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A licensed attorney may practice law in a jurisdiction where they are not licensed in an emergency situation if it can avoid a substantial injustice."}], "ideal": "False"}
|
89 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "An attorney must report any attorney or judge's violation of the Rules if it raises a substantial question as to their honesty, trustworthiness, or fitness as a lawyer."}], "ideal": "True"}
|
90 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A subordinate lawyer who follows an order to take an action in violation of the Rules is not subject to discipline if the ethical responsibility is debatable."}], "ideal": "True"}
|
91 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "An attorney has no duty to follow valid procedural rules and court orders that they reasonably believe are defective or invalid."}], "ideal": "False"}
|
92 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "Attorneys must not engage in conduct involving dishonesty, fraud, deceit, or misrepresentation, even in their private business or personal life that is unrelated to the practice of law."}], "ideal": "True"}
|
93 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "It is permissible for an attorney to talk to members of the jury before or during a trial, so long as the discussion is not about the trial."}], "ideal": "False"}
|
94 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "An attorney may be disciplined for failing to prevent ethical violations of other members of their law firm."}], "ideal": "False"}
|
95 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer may sell certain cases of their law practice and retain others, depending on how valuable they are."}], "ideal": "False"}
|
96 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer who sells their entire practice may subsequently work as in-house counsel for a business."}], "ideal": "True"}
|
97 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "During the sale of a law practice, the seller must obtain client consent before sharing detailed information about a client's case with the potential buyer."}], "ideal": "True"}
|
98 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "If a client does not respond within 60 days after receiving notice of the proposed sale of their lawyer's practice, their consent to the transfer of their files is presumed."}], "ideal": "False"}
|
99 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "If a client does not respond within 90 days after receiving notice of the proposed sale of their lawyer's practice, their consent to the transfer of their files is presumed."}], "ideal": "True"}
|
100 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "It is a violation of the ABA Model Rules of Professional Conduct for a lawyer to sell only a specific area of their law practice."}], "ideal": "False"}
|
101 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer who sells an area of their practice must cease accepting any matters in that area, including as counsel or co-counsel, after the sale."}], "ideal": "True"}
|
102 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer selling their practice is allowed to share client confidences with the potential buyer without client consent during preliminary negotiations."}], "ideal": "True"}
|
103 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer is required to render pro bono legal services each year."}], "ideal": "False"}
|
104 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer should aspire to render at least 10 hours of pro bono legal services each year."}], "ideal": "False"}
|
105 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer should aspire to render at least 25 hours of pro bono legal services each year."}], "ideal": "False"}
|
106 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer should aspire to render at least 50 hours of pro bono legal services each year."}], "ideal": "True"}
|
107 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer should aspire to render at least 100 hours of pro bono legal services each year."}], "ideal": "False"}
|
108 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer shall not represent anyone in connection with a matter in which the lawyer participated personally and substantially as a judge or other adjudicative officer or law clerk to such a person or as an arbitrator, mediator or other third-party neutral, unless 3 years have passed after the laywer's last point of involvement."}], "ideal": "False"}
|
109 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer shall not represent anyone in connection with a matter in which the lawyer participated personally and substantially as a judge or other adjudicative officer or law clerk to such a person or as an arbitrator, mediator or other third-party neutral, unless 5 years have passed after the laywer's last point of involvement."}], "ideal": "False"}
|
110 |
+
{"input": [{"role": "system", "content": "You are LawStudentGPT. Answer the following True/False question according to the ABA Model Rules of Professional Conduct."}, {"role": "user", "content": "A lawyer shall not represent anyone in connection with a matter in which the lawyer participated personally and substantially as a judge or other adjudicative officer or law clerk to such a person or as an arbitrator, mediator or other third-party neutral, unless 10 years have passed after the laywer's last point of involvement."}], "ideal": "False"}
|
evals/evals/registry/data/actors-sequence/samples.jsonl
ADDED
@@ -0,0 +1,100 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MAMALAMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Arthur:3,Merlin:3+4,Arthur:7,Lancelot:0,Arthur:7,Merlin:5+6,Arthur:11,"}
|
2 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MAMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Arthur:3,Merlin:3+4,Arthur:7,"}
|
3 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLAMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Arthur:1,Merlin:1+2,Arthur:3,"}
|
4 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLAMMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Arthur:1,Merlin:1+2,Merlin:3+4,Arthur:7,"}
|
5 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LMLLLLLMLLAAMM. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Merlin:1+2,Lancelot:1,Lancelot:2,Lancelot:3,Lancelot:4,Lancelot:5,Merlin:3+4,Lancelot:6,Lancelot:7,Arthur:13,Arthur:4,Merlin:5+6,Merlin:7+8,"}
|
6 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MMMMMMAMMMMMMMALAMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Merlin:3+4,Merlin:5+6,Merlin:7+8,Merlin:9+10,Merlin:11+12,Arthur:3,Merlin:13+14,Merlin:15+16,Merlin:17+18,Merlin:19+20,Merlin:21+22,Merlin:23+24,Merlin:25+26,Arthur:8,Lancelot:0,Arthur:8,Merlin:27+28,Arthur:10,"}
|
7 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MAMAMAMAMAMAMAMAMAMAMAMAMAMALLLLMAMAMAMAMAMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Arthur:3,Merlin:3+4,Arthur:7,Merlin:5+6,Arthur:11,Merlin:7+8,Arthur:15,Merlin:9+10,Arthur:1,Merlin:11+12,Arthur:3,Merlin:13+14,Arthur:5,Merlin:15+16,Arthur:7,Merlin:17+18,Arthur:9,Merlin:19+20,Arthur:2,Merlin:21+22,Arthur:4,Merlin:23+24,Arthur:6,Merlin:25+26,Arthur:8,Merlin:27+28,Arthur:10,Lancelot:0,Lancelot:1,Lancelot:2,Lancelot:3,Merlin:29+30,Arthur:3,Merlin:31+32,Arthur:5,Merlin:33+34,Arthur:7,Merlin:35+36,Arthur:9,Merlin:37+38,Arthur:11,Merlin:39+40,Arthur:4,"}
|
8 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLLLLLLLAMLLLLLLLLA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Lancelot:2,Lancelot:3,Lancelot:4,Lancelot:5,Lancelot:6,Lancelot:7,Arthur:13,Merlin:1+2,Lancelot:8,Lancelot:9,Lancelot:10,Lancelot:11,Lancelot:12,Lancelot:13,Lancelot:14,Lancelot:15,Arthur:6,"}
|
9 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLALALALALALALALALALAMMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Arthur:1,Lancelot:2,Arthur:3,Lancelot:3,Arthur:6,Lancelot:4,Arthur:10,Lancelot:5,Arthur:5,Lancelot:6,Arthur:11,Lancelot:7,Arthur:8,Lancelot:8,Arthur:16,Lancelot:9,Arthur:15,Lancelot:10,Arthur:1,Merlin:1+2,Merlin:3+4,Arthur:7,"}
|
10 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LMMMLAALLALLAAALLLAAAALLLA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Merlin:1+2,Merlin:3+4,Merlin:5+6,Lancelot:1,Arthur:7,Arthur:8,Lancelot:2,Lancelot:3,Arthur:5,Lancelot:4,Lancelot:5,Arthur:9,Arthur:14,Arthur:5,Lancelot:6,Lancelot:7,Lancelot:8,Arthur:15,Arthur:6,Arthur:11,Arthur:2,Lancelot:9,Lancelot:10,Lancelot:11,Arthur:2,"}
|
11 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MMMAAAAAAAAAAAAA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Merlin:3+4,Merlin:5+6,Arthur:11,Arthur:2,Arthur:3,Arthur:5,Arthur:8,Arthur:13,Arthur:4,Arthur:7,Arthur:11,Arthur:2,Arthur:3,Arthur:5,Arthur:8,"}
|
12 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MAAAAAAAMAAAA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Arthur:3,Arthur:5,Arthur:8,Arthur:13,Arthur:4,Arthur:7,Arthur:11,Merlin:3+4,Arthur:7,Arthur:11,Arthur:2,Arthur:3,"}
|
13 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLAMAMMMMAAAAAA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Arthur:1,Merlin:1+2,Arthur:3,Merlin:3+4,Merlin:5+6,Merlin:7+8,Merlin:9+10,Arthur:1,Arthur:1,Arthur:2,Arthur:3,Arthur:5,Arthur:8,"}
|
14 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLAMMAMALLMMLLMMLLMMLLMMLL. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Arthur:1,Merlin:1+2,Merlin:3+4,Arthur:7,Merlin:5+6,Arthur:11,Lancelot:2,Lancelot:3,Merlin:7+8,Merlin:9+10,Lancelot:4,Lancelot:5,Merlin:11+12,Merlin:13+14,Lancelot:6,Lancelot:7,Merlin:15+16,Merlin:17+18,Lancelot:8,Lancelot:9,Merlin:19+20,Merlin:21+22,Lancelot:10,Lancelot:11,"}
|
15 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MMMLLAAMMLLAAMM. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Merlin:3+4,Merlin:5+6,Lancelot:0,Lancelot:1,Arthur:1,Arthur:2,Merlin:7+8,Merlin:9+10,Lancelot:2,Lancelot:3,Arthur:5,Arthur:8,Merlin:11+12,Merlin:13+14,"}
|
16 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MMMMMMAAAAAMALAMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Merlin:3+4,Merlin:5+6,Merlin:7+8,Merlin:9+10,Merlin:11+12,Arthur:3,Arthur:5,Arthur:8,Arthur:13,Arthur:4,Merlin:13+14,Arthur:5,Lancelot:0,Arthur:5,Merlin:15+16,Arthur:7,"}
|
17 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MAMALMAMALMAMAL. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Arthur:3,Merlin:3+4,Arthur:7,Lancelot:0,Merlin:5+6,Arthur:11,Merlin:7+8,Arthur:15,Lancelot:1,Merlin:9+10,Arthur:1,Merlin:11+12,Arthur:3,Lancelot:2,"}
|
18 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLLLLLLLLLL. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Lancelot:2,Lancelot:3,Lancelot:4,Lancelot:5,Lancelot:6,Lancelot:7,Lancelot:8,Lancelot:9,Lancelot:10,"}
|
19 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MMAAAAAAAAAAAAAAAAAAA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Merlin:3+4,Arthur:7,Arthur:11,Arthur:2,Arthur:3,Arthur:5,Arthur:8,Arthur:13,Arthur:4,Arthur:7,Arthur:11,Arthur:2,Arthur:3,Arthur:5,Arthur:8,Arthur:13,Arthur:4,Arthur:7,Arthur:11,Arthur:2,"}
|
20 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MMMMMMMMMMMMMMMMM. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Merlin:3+4,Merlin:5+6,Merlin:7+8,Merlin:9+10,Merlin:11+12,Merlin:13+14,Merlin:15+16,Merlin:17+18,Merlin:19+20,Merlin:21+22,Merlin:23+24,Merlin:25+26,Merlin:27+28,Merlin:29+30,Merlin:31+32,Merlin:33+34,"}
|
21 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MMMMMAMMMMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Merlin:3+4,Merlin:5+6,Merlin:7+8,Merlin:9+10,Arthur:1,Merlin:11+12,Merlin:13+14,Merlin:15+16,Merlin:17+18,Arthur:9,"}
|
22 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MAMMMMMAMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Arthur:3,Merlin:3+4,Merlin:5+6,Merlin:7+8,Merlin:9+10,Merlin:11+12,Arthur:3,Merlin:13+14,Arthur:5,"}
|
23 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLAAAAAAAMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Arthur:1,Arthur:2,Arthur:3,Arthur:5,Arthur:8,Arthur:13,Arthur:4,Merlin:1+2,Arthur:3,"}
|
24 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLLLLLLLLLLLLLAMMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Lancelot:2,Lancelot:3,Lancelot:4,Lancelot:5,Lancelot:6,Lancelot:7,Lancelot:8,Lancelot:9,Lancelot:10,Lancelot:11,Lancelot:12,Lancelot:13,Arthur:4,Merlin:1+2,Merlin:3+4,Arthur:7,"}
|
25 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLAAAMMMAMMLLAAMM. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Arthur:1,Arthur:2,Arthur:3,Merlin:1+2,Merlin:3+4,Merlin:5+6,Arthur:11,Merlin:7+8,Merlin:9+10,Lancelot:2,Lancelot:3,Arthur:5,Arthur:8,Merlin:11+12,Merlin:13+14,"}
|
26 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MMMAAMMMAAMAMALAMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Merlin:3+4,Merlin:5+6,Arthur:11,Arthur:2,Merlin:7+8,Merlin:9+10,Merlin:11+12,Arthur:3,Arthur:5,Merlin:13+14,Arthur:5,Merlin:15+16,Arthur:7,Lancelot:0,Arthur:7,Merlin:17+18,Arthur:9,"}
|
27 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MAMAMAMAMAMAMAMAMAMAMAMAMAMAMAMAMAMAMAMAL. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Arthur:3,Merlin:3+4,Arthur:7,Merlin:5+6,Arthur:11,Merlin:7+8,Arthur:15,Merlin:9+10,Arthur:1,Merlin:11+12,Arthur:3,Merlin:13+14,Arthur:5,Merlin:15+16,Arthur:7,Merlin:17+18,Arthur:9,Merlin:19+20,Arthur:2,Merlin:21+22,Arthur:4,Merlin:23+24,Arthur:6,Merlin:25+26,Arthur:8,Merlin:27+28,Arthur:10,Merlin:29+30,Arthur:3,Merlin:31+32,Arthur:5,Merlin:33+34,Arthur:7,Merlin:35+36,Arthur:9,Merlin:37+38,Arthur:11,Merlin:39+40,Arthur:4,Lancelot:0,"}
|
28 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MAMAL. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Arthur:3,Merlin:3+4,Arthur:7,Lancelot:0,"}
|
29 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MAMALLMAMALMAMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Arthur:3,Merlin:3+4,Arthur:7,Lancelot:0,Lancelot:1,Merlin:5+6,Arthur:11,Merlin:7+8,Arthur:15,Lancelot:2,Merlin:9+10,Arthur:1,Merlin:11+12,Arthur:3,"}
|
30 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MAMALMAMAMAMALMAMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Arthur:3,Merlin:3+4,Arthur:7,Lancelot:0,Merlin:5+6,Arthur:11,Merlin:7+8,Arthur:15,Merlin:9+10,Arthur:1,Merlin:11+12,Arthur:3,Lancelot:1,Merlin:13+14,Arthur:5,Merlin:15+16,Arthur:7,"}
|
31 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MAMALAMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Arthur:3,Merlin:3+4,Arthur:7,Lancelot:0,Arthur:7,Merlin:5+6,Arthur:11,"}
|
32 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LMMAMMLALMLAMLL. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Merlin:1+2,Merlin:3+4,Arthur:7,Merlin:5+6,Merlin:7+8,Lancelot:1,Arthur:9,Lancelot:2,Merlin:9+10,Lancelot:3,Arthur:3,Merlin:11+12,Lancelot:4,Lancelot:5,"}
|
33 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MAAAAMALMMLLML. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Arthur:3,Arthur:5,Arthur:8,Arthur:13,Merlin:3+4,Arthur:7,Lancelot:0,Merlin:5+6,Merlin:7+8,Lancelot:1,Lancelot:2,Merlin:9+10,Lancelot:3,"}
|
34 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MLMMM. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Lancelot:0,Merlin:3+4,Merlin:5+6,Merlin:7+8,"}
|
35 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLLLMLAALAALMLALLMMMLMLLMMMAAML. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Lancelot:2,Lancelot:3,Merlin:1+2,Lancelot:4,Arthur:6,Arthur:10,Lancelot:5,Arthur:5,Arthur:10,Lancelot:6,Merlin:3+4,Lancelot:7,Arthur:11,Lancelot:8,Lancelot:9,Merlin:5+6,Merlin:7+8,Merlin:9+10,Lancelot:10,Merlin:11+12,Lancelot:11,Lancelot:12,Merlin:13+14,Merlin:15+16,Merlin:17+18,Arthur:9,Arthur:17,Merlin:19+20,Lancelot:13,"}
|
36 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLLMLLLAMLLAMMALLMMMMMAMLLMAMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Lancelot:2,Merlin:1+2,Lancelot:3,Lancelot:4,Lancelot:5,Arthur:9,Merlin:3+4,Lancelot:6,Lancelot:7,Arthur:13,Merlin:5+6,Merlin:7+8,Arthur:15,Lancelot:8,Lancelot:9,Merlin:9+10,Merlin:11+12,Merlin:13+14,Merlin:15+16,Merlin:17+18,Arthur:9,Merlin:19+20,Lancelot:10,Lancelot:11,Merlin:21+22,Arthur:4,Merlin:23+24,Arthur:6,"}
|
37 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLAALALMLLALMLAMALALLAMLALMLA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Arthur:1,Arthur:2,Lancelot:2,Arthur:4,Lancelot:3,Merlin:1+2,Lancelot:4,Lancelot:5,Arthur:9,Lancelot:6,Merlin:3+4,Lancelot:7,Arthur:11,Merlin:5+6,Arthur:11,Lancelot:8,Arthur:9,Lancelot:9,Lancelot:10,Arthur:1,Merlin:7+8,Lancelot:11,Arthur:2,Lancelot:12,Merlin:9+10,Lancelot:13,Arthur:4,"}
|
38 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MLLAAMLMAMLAAAMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Lancelot:0,Lancelot:1,Arthur:1,Arthur:2,Merlin:3+4,Lancelot:2,Merlin:5+6,Arthur:11,Merlin:7+8,Lancelot:3,Arthur:11,Arthur:2,Arthur:3,Merlin:9+10,Arthur:1,"}
|
39 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LMMAMMLMALLMMAMMMLMMMAMLALAAL. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Merlin:1+2,Merlin:3+4,Arthur:7,Merlin:5+6,Merlin:7+8,Lancelot:1,Merlin:9+10,Arthur:1,Lancelot:2,Lancelot:3,Merlin:11+12,Merlin:13+14,Arthur:5,Merlin:15+16,Merlin:17+18,Merlin:19+20,Lancelot:4,Merlin:21+22,Merlin:23+24,Merlin:25+26,Arthur:8,Merlin:27+28,Lancelot:5,Arthur:13,Lancelot:6,Arthur:9,Arthur:15,Lancelot:7,"}
|
40 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LMLAMLLLMMALALLLLMMMALAAL. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Merlin:1+2,Lancelot:1,Arthur:3,Merlin:3+4,Lancelot:2,Lancelot:3,Lancelot:4,Merlin:5+6,Merlin:7+8,Arthur:15,Lancelot:5,Arthur:10,Lancelot:6,Lancelot:7,Lancelot:8,Lancelot:9,Merlin:9+10,Merlin:11+12,Merlin:13+14,Arthur:5,Lancelot:10,Arthur:1,Arthur:1,Lancelot:11,"}
|
41 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLMALLLMMLALAAAM. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Merlin:1+2,Arthur:3,Lancelot:2,Lancelot:3,Lancelot:4,Merlin:3+4,Merlin:5+6,Lancelot:5,Arthur:11,Lancelot:6,Arthur:7,Arthur:13,Arthur:4,Merlin:7+8,"}
|
42 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLAMMAAAMLLMAMLLMMLLMAM. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Arthur:1,Merlin:1+2,Merlin:3+4,Arthur:7,Arthur:11,Arthur:2,Merlin:5+6,Lancelot:2,Lancelot:3,Merlin:7+8,Arthur:15,Merlin:9+10,Lancelot:4,Lancelot:5,Merlin:11+12,Merlin:13+14,Lancelot:6,Lancelot:7,Merlin:15+16,Arthur:7,Merlin:17+18,"}
|
43 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LMALMALLLALALLMLLMMMALMLLMLLMAAL. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Merlin:1+2,Arthur:3,Lancelot:1,Merlin:3+4,Arthur:7,Lancelot:2,Lancelot:3,Lancelot:4,Arthur:7,Lancelot:5,Arthur:12,Lancelot:6,Lancelot:7,Merlin:5+6,Lancelot:8,Lancelot:9,Merlin:7+8,Merlin:9+10,Merlin:11+12,Arthur:3,Lancelot:10,Merlin:13+14,Lancelot:11,Lancelot:12,Merlin:15+16,Lancelot:13,Lancelot:14,Merlin:17+18,Arthur:9,Arthur:17,Lancelot:15,"}
|
44 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MMLLAMMMAMAALMMLL. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Merlin:3+4,Lancelot:0,Lancelot:1,Arthur:1,Merlin:5+6,Merlin:7+8,Merlin:9+10,Arthur:1,Merlin:11+12,Arthur:3,Arthur:5,Lancelot:2,Merlin:13+14,Merlin:15+16,Lancelot:3,Lancelot:4,"}
|
45 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLLALAMMMLLMLLMLLLMLMLMAA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Lancelot:2,Arthur:3,Lancelot:3,Arthur:6,Merlin:1+2,Merlin:3+4,Merlin:5+6,Lancelot:4,Lancelot:5,Merlin:7+8,Lancelot:6,Lancelot:7,Merlin:9+10,Lancelot:8,Lancelot:9,Lancelot:10,Merlin:11+12,Lancelot:11,Merlin:13+14,Lancelot:12,Merlin:15+16,Arthur:7,Arthur:13,"}
|
46 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MMAMMLMMLMLLMMMMAMLLAML. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Merlin:3+4,Arthur:7,Merlin:5+6,Merlin:7+8,Lancelot:0,Merlin:9+10,Merlin:11+12,Lancelot:1,Merlin:13+14,Lancelot:2,Lancelot:3,Merlin:15+16,Merlin:17+18,Merlin:19+20,Merlin:21+22,Arthur:4,Merlin:23+24,Lancelot:4,Lancelot:5,Arthur:9,Merlin:25+26,Lancelot:6,"}
|
47 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLM. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Merlin:1+2,"}
|
48 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LMMLLAALLAMALLLLAMMLALLAALMLML. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Merlin:1+2,Merlin:3+4,Lancelot:1,Lancelot:2,Arthur:3,Arthur:5,Lancelot:3,Lancelot:4,Arthur:7,Merlin:5+6,Arthur:11,Lancelot:5,Lancelot:6,Lancelot:7,Lancelot:8,Arthur:15,Merlin:7+8,Merlin:9+10,Lancelot:9,Arthur:9,Lancelot:10,Lancelot:11,Arthur:2,Arthur:3,Lancelot:12,Merlin:11+12,Lancelot:13,Merlin:13+14,Lancelot:14,"}
|
49 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLAAALLLM. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Arthur:1,Arthur:2,Arthur:3,Lancelot:2,Lancelot:3,Lancelot:4,Merlin:1+2,"}
|
50 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLAMLALLAMLAMAALMALLAALAMLLM. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Arthur:1,Merlin:1+2,Lancelot:2,Arthur:4,Lancelot:3,Lancelot:4,Arthur:7,Merlin:3+4,Lancelot:5,Arthur:9,Merlin:5+6,Arthur:11,Arthur:2,Lancelot:6,Merlin:7+8,Arthur:15,Lancelot:7,Lancelot:8,Arthur:15,Arthur:6,Lancelot:9,Arthur:15,Merlin:9+10,Lancelot:10,Lancelot:11,Merlin:11+12,"}
|
51 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLAAMMLAAMMMLLMM. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Arthur:1,Arthur:2,Merlin:1+2,Merlin:3+4,Lancelot:2,Arthur:6,Arthur:8,Merlin:5+6,Merlin:7+8,Merlin:9+10,Lancelot:3,Lancelot:4,Merlin:11+12,Merlin:13+14,"}
|
52 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Merlin:1+2,Arthur:3,"}
|
53 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLMLMAMLMLALALMLAMMLMLM. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Merlin:1+2,Lancelot:2,Merlin:3+4,Arthur:7,Merlin:5+6,Lancelot:3,Merlin:7+8,Lancelot:4,Arthur:12,Lancelot:5,Arthur:7,Lancelot:6,Merlin:9+10,Lancelot:7,Arthur:7,Merlin:11+12,Merlin:13+14,Lancelot:8,Merlin:15+16,Lancelot:9,Merlin:17+18,"}
|
54 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LMLMAMMMMLMMAAAMAAALMAAAMM. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Merlin:1+2,Lancelot:1,Merlin:3+4,Arthur:7,Merlin:5+6,Merlin:7+8,Merlin:9+10,Merlin:11+12,Lancelot:2,Merlin:13+14,Merlin:15+16,Arthur:7,Arthur:13,Arthur:4,Merlin:17+18,Arthur:9,Arthur:17,Arthur:8,Lancelot:3,Merlin:19+20,Arthur:2,Arthur:2,Arthur:4,Merlin:21+22,Merlin:23+24,"}
|
55 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LMM. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Merlin:1+2,Merlin:3+4,"}
|
56 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLMAAAMMLAAMLMAMLLMLALLLALLA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Merlin:1+2,Arthur:3,Arthur:5,Arthur:8,Merlin:3+4,Merlin:5+6,Lancelot:2,Arthur:8,Arthur:10,Merlin:7+8,Lancelot:3,Merlin:9+10,Arthur:1,Merlin:11+12,Lancelot:4,Lancelot:5,Merlin:13+14,Lancelot:6,Arthur:10,Lancelot:7,Lancelot:8,Lancelot:9,Arthur:17,Lancelot:10,Lancelot:11,Arthur:2,"}
|
57 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MMALMMLLLMLMMMLAL. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Merlin:3+4,Arthur:7,Lancelot:0,Merlin:5+6,Merlin:7+8,Lancelot:1,Lancelot:2,Lancelot:3,Merlin:9+10,Lancelot:4,Merlin:11+12,Merlin:13+14,Merlin:15+16,Lancelot:5,Arthur:11,Lancelot:6,"}
|
58 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LMMMAAL. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Merlin:1+2,Merlin:3+4,Merlin:5+6,Arthur:11,Arthur:2,Lancelot:1,"}
|
59 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MLLALAMAAALLALMMLLLMLMAAA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Lancelot:0,Lancelot:1,Arthur:1,Lancelot:2,Arthur:3,Merlin:3+4,Arthur:7,Arthur:11,Arthur:2,Lancelot:3,Lancelot:4,Arthur:7,Lancelot:5,Merlin:5+6,Merlin:7+8,Lancelot:6,Lancelot:7,Lancelot:8,Merlin:9+10,Lancelot:9,Merlin:11+12,Arthur:3,Arthur:5,Arthur:8,"}
|
60 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LMMLAMAAALMMMLALAALAMALLMAAMLMLM. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Merlin:1+2,Merlin:3+4,Lancelot:1,Arthur:5,Merlin:5+6,Arthur:11,Arthur:2,Arthur:3,Lancelot:2,Merlin:7+8,Merlin:9+10,Merlin:11+12,Lancelot:3,Arthur:5,Lancelot:4,Arthur:9,Arthur:13,Lancelot:5,Arthur:8,Merlin:13+14,Arthur:5,Lancelot:6,Lancelot:7,Merlin:15+16,Arthur:7,Arthur:13,Merlin:17+18,Lancelot:8,Merlin:19+20,Lancelot:9,Merlin:21+22,"}
|
61 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LMLLLLLLLAALLLLMMMMALLLAMMAAAAML. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Merlin:1+2,Lancelot:1,Lancelot:2,Lancelot:3,Lancelot:4,Lancelot:5,Lancelot:6,Lancelot:7,Arthur:13,Arthur:4,Lancelot:8,Lancelot:9,Lancelot:10,Lancelot:11,Merlin:3+4,Merlin:5+6,Merlin:7+8,Merlin:9+10,Arthur:1,Lancelot:12,Lancelot:13,Lancelot:14,Arthur:5,Merlin:11+12,Merlin:13+14,Arthur:5,Arthur:9,Arthur:14,Arthur:5,Merlin:15+16,Lancelot:15,"}
|
62 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: M. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,"}
|
63 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: M. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,"}
|
64 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MMLLL. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Merlin:3+4,Lancelot:0,Lancelot:1,Lancelot:2,"}
|
65 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLLMAALMMALLLMAAAAA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Lancelot:2,Merlin:1+2,Arthur:3,Arthur:5,Lancelot:3,Merlin:3+4,Merlin:5+6,Arthur:11,Lancelot:4,Lancelot:5,Lancelot:6,Merlin:7+8,Arthur:15,Arthur:6,Arthur:11,Arthur:2,Arthur:3,"}
|
66 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MAAAMLALLM. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Arthur:3,Arthur:5,Arthur:8,Merlin:3+4,Lancelot:0,Arthur:4,Lancelot:1,Lancelot:2,Merlin:5+6,"}
|
67 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLMMMMMMMLLLAMLMLMMLMMLL. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Merlin:1+2,Merlin:3+4,Merlin:5+6,Merlin:7+8,Merlin:9+10,Merlin:11+12,Merlin:13+14,Lancelot:2,Lancelot:3,Lancelot:4,Arthur:7,Merlin:15+16,Lancelot:5,Merlin:17+18,Lancelot:6,Merlin:19+20,Merlin:21+22,Lancelot:7,Merlin:23+24,Merlin:25+26,Lancelot:8,Lancelot:9,"}
|
68 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LMALLM. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Merlin:1+2,Arthur:3,Lancelot:1,Lancelot:2,Merlin:3+4,"}
|
69 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MALMLLMLAAMMMMMLLMAALMLLMMALA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Arthur:3,Lancelot:0,Merlin:3+4,Lancelot:1,Lancelot:2,Merlin:5+6,Lancelot:3,Arthur:9,Arthur:12,Merlin:7+8,Merlin:9+10,Merlin:11+12,Merlin:13+14,Merlin:15+16,Lancelot:4,Lancelot:5,Merlin:17+18,Arthur:9,Arthur:17,Lancelot:6,Merlin:19+20,Lancelot:7,Lancelot:8,Merlin:21+22,Merlin:23+24,Arthur:6,Lancelot:9,Arthur:15,"}
|
70 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MMLAMAML. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Merlin:3+4,Lancelot:0,Arthur:4,Merlin:5+6,Arthur:11,Merlin:7+8,Lancelot:1,"}
|
71 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MALLLAALMMMMLML. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Arthur:3,Lancelot:0,Lancelot:1,Lancelot:2,Arthur:3,Arthur:5,Lancelot:3,Merlin:3+4,Merlin:5+6,Merlin:7+8,Merlin:9+10,Lancelot:4,Merlin:11+12,Lancelot:5,"}
|
72 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Arthur:3,"}
|
73 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MLAALLLAL. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Lancelot:0,Arthur:2,Arthur:2,Lancelot:1,Lancelot:2,Lancelot:3,Arthur:5,Lancelot:4,"}
|
74 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLAML. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Arthur:1,Merlin:1+2,Lancelot:2,"}
|
75 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLMAAMALALAMAAAAL. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Merlin:1+2,Arthur:3,Arthur:5,Merlin:3+4,Arthur:7,Lancelot:2,Arthur:9,Lancelot:3,Arthur:12,Merlin:5+6,Arthur:11,Arthur:2,Arthur:3,Arthur:5,Lancelot:4,"}
|
76 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MLLMLLLAMAALLMAMLLMAALM. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Lancelot:0,Lancelot:1,Merlin:3+4,Lancelot:2,Lancelot:3,Lancelot:4,Arthur:7,Merlin:5+6,Arthur:11,Arthur:2,Lancelot:5,Lancelot:6,Merlin:7+8,Arthur:15,Merlin:9+10,Lancelot:7,Lancelot:8,Merlin:11+12,Arthur:3,Arthur:5,Lancelot:9,Merlin:13+14,"}
|
77 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLLLMLALLAAMMLLALML. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Lancelot:2,Lancelot:3,Merlin:1+2,Lancelot:4,Arthur:6,Lancelot:5,Lancelot:6,Arthur:11,Arthur:2,Merlin:3+4,Merlin:5+6,Lancelot:7,Lancelot:8,Arthur:15,Lancelot:9,Merlin:7+8,Lancelot:10,"}
|
78 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLMLMLALAMMAMALALAALMMALML. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Merlin:1+2,Lancelot:2,Merlin:3+4,Lancelot:3,Arthur:7,Lancelot:4,Arthur:11,Merlin:5+6,Merlin:7+8,Arthur:15,Merlin:9+10,Arthur:1,Lancelot:5,Arthur:6,Lancelot:6,Arthur:12,Arthur:3,Lancelot:7,Merlin:11+12,Merlin:13+14,Arthur:5,Lancelot:8,Merlin:15+16,Lancelot:9,"}
|
79 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LMMLALLLAALMMMALAAAA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Merlin:1+2,Merlin:3+4,Lancelot:1,Arthur:5,Lancelot:2,Lancelot:3,Lancelot:4,Arthur:7,Arthur:11,Lancelot:5,Merlin:5+6,Merlin:7+8,Merlin:9+10,Arthur:1,Lancelot:6,Arthur:7,Arthur:13,Arthur:4,Arthur:7,"}
|
80 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MLLLMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Lancelot:0,Lancelot:1,Lancelot:2,Merlin:3+4,Arthur:7,"}
|
81 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MAMAMMALLAAALMMLLLAALMALAMMMLA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Arthur:3,Merlin:3+4,Arthur:7,Merlin:5+6,Merlin:7+8,Arthur:15,Lancelot:0,Lancelot:1,Arthur:1,Arthur:2,Arthur:3,Lancelot:2,Merlin:9+10,Merlin:11+12,Lancelot:3,Lancelot:4,Lancelot:5,Arthur:9,Arthur:14,Lancelot:6,Merlin:13+14,Arthur:5,Lancelot:7,Arthur:12,Merlin:15+16,Merlin:17+18,Merlin:19+20,Lancelot:8,Arthur:8,"}
|
82 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLMMAMLLMMLALALLAMLALMALLALMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Merlin:1+2,Merlin:3+4,Arthur:7,Merlin:5+6,Lancelot:2,Lancelot:3,Merlin:7+8,Merlin:9+10,Lancelot:4,Arthur:4,Lancelot:5,Arthur:9,Lancelot:6,Lancelot:7,Arthur:13,Merlin:11+12,Lancelot:8,Arthur:10,Lancelot:9,Merlin:13+14,Arthur:5,Lancelot:10,Lancelot:11,Arthur:2,Lancelot:12,Merlin:15+16,Arthur:7,"}
|
83 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLLAAALML. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Lancelot:2,Arthur:3,Arthur:5,Arthur:8,Lancelot:3,Merlin:1+2,Lancelot:4,"}
|
84 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LMAMLAMAMALMAMAAA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Merlin:1+2,Arthur:3,Merlin:3+4,Lancelot:1,Arthur:5,Merlin:5+6,Arthur:11,Merlin:7+8,Arthur:15,Lancelot:2,Merlin:9+10,Arthur:1,Merlin:11+12,Arthur:3,Arthur:5,Arthur:8,"}
|
85 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MMAMMLLMMAAALAAM. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Merlin:3+4,Arthur:7,Merlin:5+6,Merlin:7+8,Lancelot:0,Lancelot:1,Merlin:9+10,Merlin:11+12,Arthur:3,Arthur:5,Arthur:8,Lancelot:2,Arthur:10,Arthur:1,Merlin:13+14,"}
|
86 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LMMLMLMAMAMLMLMLALMLAMMMLMMLL. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Merlin:1+2,Merlin:3+4,Lancelot:1,Merlin:5+6,Lancelot:2,Merlin:7+8,Arthur:15,Merlin:9+10,Arthur:1,Merlin:11+12,Lancelot:3,Merlin:13+14,Lancelot:4,Merlin:15+16,Lancelot:5,Arthur:11,Lancelot:6,Merlin:17+18,Lancelot:7,Arthur:15,Merlin:19+20,Merlin:21+22,Merlin:23+24,Lancelot:8,Merlin:25+26,Merlin:27+28,Lancelot:9,Lancelot:10,"}
|
87 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MLLAMALMMM. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Lancelot:0,Lancelot:1,Arthur:1,Merlin:3+4,Arthur:7,Lancelot:2,Merlin:5+6,Merlin:7+8,Merlin:9+10,"}
|
88 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LMMLLMMMAMMLML. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Merlin:1+2,Merlin:3+4,Lancelot:1,Lancelot:2,Merlin:5+6,Merlin:7+8,Merlin:9+10,Arthur:1,Merlin:11+12,Merlin:13+14,Lancelot:3,Merlin:15+16,Lancelot:4,"}
|
89 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MMMMMAAAALLALLMMMMMAMAALLLMMMAM. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Merlin:3+4,Merlin:5+6,Merlin:7+8,Merlin:9+10,Arthur:1,Arthur:1,Arthur:2,Arthur:3,Lancelot:0,Lancelot:1,Arthur:1,Lancelot:2,Lancelot:3,Merlin:11+12,Merlin:13+14,Merlin:15+16,Merlin:17+18,Merlin:19+20,Arthur:2,Merlin:21+22,Arthur:4,Arthur:6,Lancelot:4,Lancelot:5,Lancelot:6,Merlin:23+24,Merlin:25+26,Merlin:27+28,Arthur:10,Merlin:29+30,"}
|
90 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LMAAAMLMMMLLLMMAAAMAAALAMLL. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Merlin:1+2,Arthur:3,Arthur:5,Arthur:8,Merlin:3+4,Lancelot:1,Merlin:5+6,Merlin:7+8,Merlin:9+10,Lancelot:2,Lancelot:3,Lancelot:4,Merlin:11+12,Merlin:13+14,Arthur:5,Arthur:9,Arthur:14,Merlin:15+16,Arthur:7,Arthur:13,Arthur:4,Lancelot:5,Arthur:9,Merlin:17+18,Lancelot:6,Lancelot:7,"}
|
91 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LMLLLALLAAAMMALMLLAMAMAAL. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Merlin:1+2,Lancelot:1,Lancelot:2,Lancelot:3,Arthur:5,Lancelot:4,Lancelot:5,Arthur:9,Arthur:14,Arthur:5,Merlin:3+4,Merlin:5+6,Arthur:11,Lancelot:6,Merlin:7+8,Lancelot:7,Lancelot:8,Arthur:15,Merlin:9+10,Arthur:1,Merlin:11+12,Arthur:3,Arthur:5,Lancelot:9,"}
|
92 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LMAAMMMMMMAMMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Merlin:1+2,Arthur:3,Arthur:5,Merlin:3+4,Merlin:5+6,Merlin:7+8,Merlin:9+10,Merlin:11+12,Merlin:13+14,Arthur:5,Merlin:15+16,Merlin:17+18,Arthur:9,"}
|
93 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LMMMMAMALML. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Merlin:1+2,Merlin:3+4,Merlin:5+6,Merlin:7+8,Arthur:15,Merlin:9+10,Arthur:1,Lancelot:1,Merlin:11+12,Lancelot:2,"}
|
94 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LLMAMAMAMLLAMMAL. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Lancelot:1,Merlin:1+2,Arthur:3,Merlin:3+4,Arthur:7,Merlin:5+6,Arthur:11,Merlin:7+8,Lancelot:2,Lancelot:3,Arthur:5,Merlin:9+10,Merlin:11+12,Arthur:3,Lancelot:4,"}
|
95 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MLA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Lancelot:0,Arthur:2,"}
|
96 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: M. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,"}
|
97 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MLLLLMAAMMAAALALALAA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Lancelot:0,Lancelot:1,Lancelot:2,Lancelot:3,Merlin:3+4,Arthur:7,Arthur:11,Merlin:5+6,Merlin:7+8,Arthur:15,Arthur:6,Arthur:11,Lancelot:4,Arthur:5,Lancelot:5,Arthur:10,Lancelot:6,Arthur:6,Arthur:12,"}
|
98 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MMLMAMLAAMAMMMAALLLAMLALLAMMMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Merlin:3+4,Lancelot:0,Merlin:5+6,Arthur:11,Merlin:7+8,Lancelot:1,Arthur:9,Arthur:10,Merlin:9+10,Arthur:1,Merlin:11+12,Merlin:13+14,Merlin:15+16,Arthur:7,Arthur:13,Lancelot:2,Lancelot:3,Lancelot:4,Arthur:7,Merlin:17+18,Lancelot:5,Arthur:13,Lancelot:6,Lancelot:7,Arthur:13,Merlin:19+20,Merlin:21+22,Merlin:23+24,Arthur:6,"}
|
99 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: MAAALMMAAAMALAMALMLLAMM. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Merlin:1+2,Arthur:3,Arthur:5,Arthur:8,Lancelot:0,Merlin:3+4,Merlin:5+6,Arthur:11,Arthur:2,Arthur:3,Merlin:7+8,Arthur:15,Lancelot:1,Arthur:6,Merlin:9+10,Arthur:1,Lancelot:2,Merlin:11+12,Lancelot:3,Lancelot:4,Arthur:7,Merlin:13+14,Merlin:15+16,"}
|
100 |
+
{"input": [{"role": "system", "content": "This is an exchange between Merlin, Arthur and Lancelot. Merlin outputs short tests. First output is: '1+2', second is: '3+4', ... Arthur outputs the sum of last two digits that he had seen. Lancelot outputs an increasing integers number, starting from 0. The sequence in which the actors act: LMAMA. Output that exchange using the following syntax (including the trailing comma): Actor:<output>,..."}], "ideal": "Lancelot:0,Merlin:1+2,Arthur:3,Merlin:3+4,Arthur:7,"}
|
evals/evals/registry/data/anagrams/fewshot.jsonl
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{"sample":[{"role":"system","content":"cebyiilsatisc","name":"example_user"},{"role":"system","content":"accessibility","name":"example_assistant"}]}
|
2 |
+
{"sample":[{"role":"system","content":"mdoaoiotcnamc","name":"example_user"},{"role":"system","content":"accommodation","name":"example_assistant"}]}
|
3 |
+
{"sample":[{"role":"system","content":"tsiooamnacomcd","name":"example_user"},{"role":"system","content":"accommodations","name":"example_assistant"}]}
|
4 |
+
{"sample":[{"role":"system","content":"nycaoniapmgc","name":"example_user"},{"role":"system","content":"accompanying","name":"example_assistant"}]}
|
5 |
+
{"sample":[{"role":"system","content":"hedamccoslip","name":"example_user"},{"role":"system","content":"accomplished","name":"example_assistant"}]}
|
evals/evals/registry/data/anagrams/samples.jsonl
ADDED
@@ -0,0 +1,357 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"aotliibcyauntc"}],"ideal":"accountability"}
|
2 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"toetdaicnciar"}],"ideal":"accreditation"}
|
3 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"etmsnievahec"}],"ideal":"achievements"}
|
4 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"eadlwnekdcog"}],"ideal":"acknowledged"}
|
5 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"cnitaiiqouss"}],"ideal":"acquisitions"}
|
6 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"iolidnltadya"}],"ideal":"additionally"}
|
7 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"mideadetsrni"}],"ideal":"administered"}
|
8 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nidtiamrtsaoin"}],"ideal":"administration"}
|
9 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"adniesattmiivr"}],"ideal":"administrative"}
|
10 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"moirastidrant"}],"ideal":"administrator"}
|
11 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"aianrrmtstsdio"}],"ideal":"administrators"}
|
12 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"iemrentatsved"}],"ideal":"advertisement"}
|
13 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"dseamvresettni"}],"ideal":"advertisements"}
|
14 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"urgrticalalu"}],"ideal":"agricultural"}
|
15 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"lbctalaaihpe"}],"ideal":"alphabetical"}
|
16 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"itlleearvynta"}],"ideal":"alternatively"}
|
17 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"aisavteltnre"}],"ideal":"alternatives"}
|
18 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"onmuateecnnn"}],"ideal":"announcement"}
|
19 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"uctmnnneneaos"}],"ideal":"announcements"}
|
20 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tryolhapoong"}],"ideal":"anthropology"}
|
21 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"aoniscipaplt"}],"ideal":"applications"}
|
22 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"apmetintopns"}],"ideal":"appointments"}
|
23 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"apptaioecinr"}],"ideal":"appreciation"}
|
24 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"rpsprnoiaatpio"}],"ideal":"appropriations"}
|
25 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ptapimeyoaxlr"}],"ideal":"approximately"}
|
26 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"riclauehtacrt"}],"ideal":"architectural"}
|
27 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"etcucrrtiaeh"}],"ideal":"architecture"}
|
28 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nrmasantrege"}],"ideal":"arrangements"}
|
29 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"oossicasnita"}],"ideal":"associations"}
|
30 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ohtinitnatcuea"}],"ideal":"authentication"}
|
31 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"hotnzaatoiiur"}],"ideal":"authorization"}
|
32 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ilclyaoamttau"}],"ideal":"automatically"}
|
33 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"vtiiillyabaa"}],"ideal":"availability"}
|
34 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"boihirbcaplgi"}],"ideal":"bibliographic"}
|
35 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"lrabobiphyig"}],"ideal":"bibliography"}
|
36 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"idoiteivsryb"}],"ideal":"biodiversity"}
|
37 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nooycheotilgb"}],"ideal":"biotechnology"}
|
38 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"anotabdigscr"}],"ideal":"broadcasting"}
|
39 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nauillstcaoc"}],"ideal":"calculations"}
|
40 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"iatnenclocla"}],"ideal":"cancellation"}
|
41 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"sepaciilbtia"}],"ideal":"capabilities"}
|
42 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"urldoccaasariv"}],"ideal":"cardiovascular"}
|
43 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"setiefacitcr"}],"ideal":"certificates"}
|
44 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tniirocaiftce"}],"ideal":"certification"}
|
45 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"omsipicphnah"}],"ideal":"championship"}
|
46 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"iphnhscomaips"}],"ideal":"championships"}
|
47 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"rrcticitaescah"}],"ideal":"characteristic"}
|
48 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"aetcshatirrcics"}],"ideal":"characteristics"}
|
49 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"aiictcazehroatrn"}],"ideal":"characterization"}
|
50 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"zecrtdaeicahr"}],"ideal":"characterized"}
|
51 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"inahcyttisir"}],"ideal":"christianity"}
|
52 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"sscenicrutcma"}],"ideal":"circumstances"}
|
53 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"iioiilzctavn"}],"ideal":"civilization"}
|
54 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"lnaisfctscaioi"}],"ideal":"classification"}
|
55 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ablltcirooano"}],"ideal":"collaboration"}
|
56 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"cvtblaoielaro"}],"ideal":"collaborative"}
|
57 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"esaltbccleol"}],"ideal":"collectables"}
|
58 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"loicleebtlcs"}],"ideal":"collectibles"}
|
59 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"osmiabtnncoi"}],"ideal":"combinations"}
|
60 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nscrismieomo"}],"ideal":"commissioner"}
|
61 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"mnrioosmiecss"}],"ideal":"commissioners"}
|
62 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"hnwceamtolmo"}],"ideal":"commonwealth"}
|
63 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nucmcmaniotoi"}],"ideal":"communication"}
|
64 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"sncmnautomciio"}],"ideal":"communications"}
|
65 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tpmticbiaioyl"}],"ideal":"compatibility"}
|
66 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"acsnotiemonp"}],"ideal":"compensation"}
|
67 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nisttecimoop"}],"ideal":"competitions"}
|
68 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"pinsomtaoclci"}],"ideal":"complications"}
|
69 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"pmlynaremitco"}],"ideal":"complimentary"}
|
70 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"enpmshrovieec"}],"ideal":"comprehensive"}
|
71 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"aomalctionput"}],"ideal":"computational"}
|
72 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"cotnnecainrto"}],"ideal":"concentration"}
|
73 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"eotnaincntsroc"}],"ideal":"concentrations"}
|
74 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"toiniigcodnn"}],"ideal":"conditioning"}
|
75 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"efciorgnnnce"}],"ideal":"conferencing"}
|
76 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"lnaoecdfitin"}],"ideal":"confidential"}
|
77 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"eaidiniyflntotc"}],"ideal":"confidentiality"}
|
78 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"oroitfnanugci"}],"ideal":"configuration"}
|
79 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nrcoatimofin"}],"ideal":"confirmation"}
|
80 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"aglroiocnntstua"}],"ideal":"congratulations"}
|
81 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"oniloacressgn"}],"ideal":"congressional"}
|
82 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"yvcteiitnnoc"}],"ideal":"connectivity"}
|
83 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ncssnusoeiosc"}],"ideal":"consciousness"}
|
84 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"euqccoeesnns"}],"ideal":"consequences"}
|
85 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nsluenteocqy"}],"ideal":"consequently"}
|
86 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"intacreosnov"}],"ideal":"conservation"}
|
87 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"evsaortnceiv"}],"ideal":"conservative"}
|
88 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"eocindebaslr"}],"ideal":"considerable"}
|
89 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"oirdcainnteso"}],"ideal":"consideration"}
|
90 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"oaoneiidnstcrs"}],"ideal":"considerations"}
|
91 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"yotcntneisls"}],"ideal":"consistently"}
|
92 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"oleitncdoasd"}],"ideal":"consolidated"}
|
93 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tdcsnonilaioo"}],"ideal":"consolidation"}
|
94 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tinsnoitucto"}],"ideal":"constitution"}
|
95 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"luttnicaoitsno"}],"ideal":"constitutional"}
|
96 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tooncctnruis"}],"ideal":"construction"}
|
97 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"snlionoutact"}],"ideal":"consultation"}
|
98 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nmtacnotiaoin"}],"ideal":"contamination"}
|
99 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"rortocynpame"}],"ideal":"contemporary"}
|
100 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"iucoosluyntn"}],"ideal":"continuously"}
|
101 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"itrntbuoincg"}],"ideal":"contributing"}
|
102 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"rbunnttiiooc"}],"ideal":"contribution"}
|
103 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"otosrntiibcnu"}],"ideal":"contributions"}
|
104 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"trosribuncto"}],"ideal":"contributors"}
|
105 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"oeorvrialncst"}],"ideal":"controversial"}
|
106 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"annooncltive"}],"ideal":"conventional"}
|
107 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ercniatovnos"}],"ideal":"conversation"}
|
108 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ieaorcnossnvt"}],"ideal":"conversations"}
|
109 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"toidncoinroa"}],"ideal":"coordination"}
|
110 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"portcooirnsa"}],"ideal":"corporations"}
|
111 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"edseroocperncn"}],"ideal":"correspondence"}
|
112 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"rrspogndnoiec"}],"ideal":"corresponding"}
|
113 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tnesroatddme"}],"ideal":"demonstrated"}
|
114 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nsresomdteat"}],"ideal":"demonstrates"}
|
115 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"noenidtsrtmao"}],"ideal":"demonstration"}
|
116 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"enealdmtpatr"}],"ideal":"departmental"}
|
117 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"psiidcoenrst"}],"ideal":"descriptions"}
|
118 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"otniidetsasn"}],"ideal":"destinations"}
|
119 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"enamttidieorn"}],"ideal":"determination"}
|
120 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"teovnpemellad"}],"ideal":"developmental"}
|
121 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"eemespdlnvto"}],"ideal":"developments"}
|
122 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"isireoiadnct"}],"ideal":"dictionaries"}
|
123 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"rieefnaftidl"}],"ideal":"differential"}
|
124 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"scfteiidulif"}],"ideal":"difficulties"}
|
125 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tsisdibiaiel"}],"ideal":"disabilities"}
|
126 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tsnaedoippdi"}],"ideal":"disappointed"}
|
127 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"cripidainysl"}],"ideal":"disciplinary"}
|
128 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"airdonitsmicin"}],"ideal":"discrimination"}
|
129 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"didhiiesngtsu"}],"ideal":"distinguished"}
|
130 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"iiisbturndto"}],"ideal":"distribution"}
|
131 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"iobitdrssniut"}],"ideal":"distributions"}
|
132 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"usitrobtsird"}],"ideal":"distributors"}
|
133 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ennmotacditou"}],"ideal":"documentation"}
|
134 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"onaceemnteuxdoctdteert"}],"ideal":"documentcreatetextnode"}
|
135 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"bdowdlnleaao"}],"ideal":"downloadable"}
|
136 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"trcmilldayaa"}],"ideal":"dramatically"}
|
137 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tcfseveeenisf"}],"ideal":"effectiveness"}
|
138 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ciodlyecenap"}],"ideal":"encyclopedia"}
|
139 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"mcannsehetne"}],"ideal":"enhancements"}
|
140 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"gnetnrniieta"}],"ideal":"entertaining"}
|
141 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"eittrtannemen"}],"ideal":"entertainment"}
|
142 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"rrrepueneent"}],"ideal":"entrepreneur"}
|
143 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"epurenretrens"}],"ideal":"entrepreneurs"}
|
144 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"rimvolnentean"}],"ideal":"environmental"}
|
145 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tnesvnnrmioe"}],"ideal":"environments"}
|
146 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"liissathgbne"}],"ideal":"establishing"}
|
147 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"isaemlhtntebs"}],"ideal":"establishment"}
|
148 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"snaoxmaienit"}],"ideal":"examinations"}
|
149 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"estteoapicxn"}],"ideal":"expectations"}
|
150 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"pexnsitueder"}],"ideal":"expenditures"}
|
151 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"rgieenxepicn"}],"ideal":"experiencing"}
|
152 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"eiartxeplmen"}],"ideal":"experimental"}
|
153 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nxrrtiaeayrdo"}],"ideal":"extraordinary"}
|
154 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"trelidsnfcai"}],"ideal":"findarticles"}
|
155 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"utfoilictnnya"}],"ideal":"functionality"}
|
156 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tnmsafeualdn"}],"ideal":"fundamentals"}
|
157 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"paciaehglgro"}],"ideal":"geographical"}
|
158 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"garlnteemnvo"}],"ideal":"governmental"}
|
159 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tsaarhdequre"}],"ideal":"headquarters"}
|
160 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ataunnrmhiai"}],"ideal":"humanitarian"}
|
161 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"pheioyhacttl"}],"ideal":"hypothetical"}
|
162 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ifndectioitnia"}],"ideal":"identification"}
|
163 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"aioruisnttll"}],"ideal":"illustration"}
|
164 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"lostitilruans"}],"ideal":"illustrations"}
|
165 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"mteinoetmlpani"}],"ideal":"implementation"}
|
166 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"gepmintnimel"}],"ideal":"implementing"}
|
167 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"aiinmciltosp"}],"ideal":"implications"}
|
168 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"petesrvmnoim"}],"ideal":"improvements"}
|
169 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"aiptoeaiprrnp"}],"ideal":"inappropriate"}
|
170 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"rpooaedtricn"}],"ideal":"incorporated"}
|
171 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"inrniaglecys"}],"ideal":"increasingly"}
|
172 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"dennneeipdec"}],"ideal":"independence"}
|
173 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"etedpnynlnedi"}],"ideal":"independently"}
|
174 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"aiidinnsaplo"}],"ideal":"indianapolis"}
|
175 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"naldviyiliud"}],"ideal":"individually"}
|
176 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"irmaftinolano"}],"ideal":"informational"}
|
177 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"rnratsciufurte"}],"ideal":"infrastructure"}
|
178 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"itnoltalsani"}],"ideal":"installation"}
|
179 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"laatnnsltisio"}],"ideal":"installations"}
|
180 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"siutoinaittnl"}],"ideal":"institutional"}
|
181 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"innsutisoitt"}],"ideal":"institutions"}
|
182 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tunaotrslciin"}],"ideal":"instructional"}
|
183 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"isicnrtnotus"}],"ideal":"instructions"}
|
184 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"lttiumnrnsea"}],"ideal":"instrumental"}
|
185 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"rneoattniuismtn"}],"ideal":"instrumentation"}
|
186 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tetinaeclllu"}],"ideal":"intellectual"}
|
187 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"leitnegcleni"}],"ideal":"intelligence"}
|
188 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"iescatrtonin"}],"ideal":"interactions"}
|
189 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"etecrenirfen"}],"ideal":"interference"}
|
190 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tieaenemdtri"}],"ideal":"intermediate"}
|
191 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"arnitoenlitna"}],"ideal":"international"}
|
192 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"anoletlnryitina"}],"ideal":"internationally"}
|
193 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"peetnirntorati"}],"ideal":"interpretation"}
|
194 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tronineectsi"}],"ideal":"intersection"}
|
195 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nnvieientotr"}],"ideal":"intervention"}
|
196 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tneeontirnvsi"}],"ideal":"interventions"}
|
197 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"irncotinodut"}],"ideal":"introduction"}
|
198 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"rtitynocduor"}],"ideal":"introductory"}
|
199 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"dttgsieaeivn"}],"ideal":"investigated"}
|
200 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"igaiitentnsov"}],"ideal":"investigation"}
|
201 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tnvetisiisnago"}],"ideal":"investigations"}
|
202 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"vngtotsiiare"}],"ideal":"investigator"}
|
203 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"sgosrttineaiv"}],"ideal":"investigators"}
|
204 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"oviklajsceln"}],"ideal":"jacksonville"}
|
205 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nsrctiiiudoj"}],"ideal":"jurisdiction"}
|
206 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"esmktrogdenolw"}],"ideal":"knowledgestorm"}
|
207 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"roaeabilrots"}],"ideal":"laboratories"}
|
208 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"eclinietehnst"}],"ideal":"liechtenstein"}
|
209 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"anaeufmcurtd"}],"ideal":"manufactured"}
|
210 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"earutframncu"}],"ideal":"manufacturer"}
|
211 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"rtruaamcfusen"}],"ideal":"manufacturers"}
|
212 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"unitncframuag"}],"ideal":"manufacturing"}
|
213 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"camshstsestau"}],"ideal":"massachusetts"}
|
214 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"aguisnbtmrat"}],"ideal":"masturbating"}
|
215 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tinaamsrtbou"}],"ideal":"masturbation"}
|
216 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ilttamamehca"}],"ideal":"mathematical"}
|
217 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"retmsemeunas"}],"ideal":"measurements"}
|
218 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"eredimranetna"}],"ideal":"mediterranean"}
|
219 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ptorimtolane"}],"ideal":"metropolitan"}
|
220 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"meleulnocsais"}],"ideal":"miscellaneous"}
|
221 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"infiacmoidto"}],"ideal":"modification"}
|
222 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tdiasfcominio"}],"ideal":"modifications"}
|
223 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"mayiictlinpu"}],"ideal":"municipality"}
|
224 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"totinaioensg"}],"ideal":"negotiations"}
|
225 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"dgohoohirben"}],"ideal":"neighborhood"}
|
226 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ersevtlehsne"}],"ideal":"nevertheless"}
|
227 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"dwlandneounf"}],"ideal":"newfoundland"}
|
228 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"oifnittiaocn"}],"ideal":"notification"}
|
229 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"cofiastoinnit"}],"ideal":"notifications"}
|
230 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nbetaosvrsoi"}],"ideal":"observations"}
|
231 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ailcalyocosn"}],"ideal":"occasionally"}
|
232 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tlaccuioanop"}],"ideal":"occupational"}
|
233 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nposupeirtoit"}],"ideal":"opportunities"}
|
234 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ttmzoipioani"}],"ideal":"optimization"}
|
235 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"rnotonsagiia"}],"ideal":"organisation"}
|
236 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nsoiaogirntsa"}],"ideal":"organisations"}
|
237 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"otaingirnoaz"}],"ideal":"organization"}
|
238 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"zgoaiitorannal"}],"ideal":"organizational"}
|
239 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nrianoosigatz"}],"ideal":"organizations"}
|
240 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"aamnelytrrpai"}],"ideal":"parliamentary"}
|
241 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"aspaitrnctpi"}],"ideal":"participants"}
|
242 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ciadppaertit"}],"ideal":"participated"}
|
243 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"gnittappiiarc"}],"ideal":"participating"}
|
244 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nrtactppoiiia"}],"ideal":"participation"}
|
245 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tyurrclaalpi"}],"ideal":"particularly"}
|
246 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"prnesapsrith"}],"ideal":"partnerships"}
|
247 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"enivpaalnnys"}],"ideal":"pennsylvania"}
|
248 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ocfpnerrsaem"}],"ideal":"performances"}
|
249 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"lrcpdoyialie"}],"ideal":"periodically"}
|
250 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"easodzprlein"}],"ideal":"personalized"}
|
251 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tcseiveesprp"}],"ideal":"perspectives"}
|
252 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"aiprtmlaceahcu"}],"ideal":"pharmaceutical"}
|
253 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"acmalacihsetrpu"}],"ideal":"pharmaceuticals"}
|
254 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"lmyoaaorhpcg"}],"ideal":"pharmacology"}
|
255 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"dlhaaihleipp"}],"ideal":"philadelphia"}
|
256 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"hraotegphopr"}],"ideal":"photographer"}
|
257 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"grthsroahpoep"}],"ideal":"photographers"}
|
258 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ctooghprapih"}],"ideal":"photographic"}
|
259 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"pssieiilstoib"}],"ideal":"possibilities"}
|
260 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"toeatipricrn"}],"ideal":"practitioner"}
|
261 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ctsiroeirnpat"}],"ideal":"practitioners"}
|
262 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"pitipaeotnirc"}],"ideal":"precipitation"}
|
263 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"qiuiepretrse"}],"ideal":"prerequisite"}
|
264 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"rppirocintes"}],"ideal":"prescription"}
|
265 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"eaptisternno"}],"ideal":"presentation"}
|
266 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"naosiprsetnte"}],"ideal":"presentations"}
|
267 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"psarviroeent"}],"ideal":"preservation"}
|
268 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"eiantdplseri"}],"ideal":"presidential"}
|
269 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"uttiioycpvdr"}],"ideal":"productivity"}
|
270 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"sspaonfolire"}],"ideal":"professional"}
|
271 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"sosesialonprf"}],"ideal":"professionals"}
|
272 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"aichcgpolsyol"}],"ideal":"psychological"}
|
273 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tplabcinsoui"}],"ideal":"publications"}
|
274 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"olqancfiiuita"}],"ideal":"qualification"}
|
275 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tanifaliuqicso"}],"ideal":"qualifications"}
|
276 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"uvqtatnteiai"}],"ideal":"quantitative"}
|
277 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"eqinrsiutenao"}],"ideal":"questionnaire"}
|
278 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"imennemdaocrot"}],"ideal":"recommendation"}
|
279 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"memsnnecriatdoo"}],"ideal":"recommendations"}
|
280 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nocunoeistrctr"}],"ideal":"reconstruction"}
|
281 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"aearneitrocl"}],"ideal":"recreational"}
|
282 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"errtoafrrgei"}],"ideal":"refrigerator"}
|
283 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ortiasitgren"}],"ideal":"registration"}
|
284 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ileahritbation"}],"ideal":"rehabilitation"}
|
285 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"perlointiash"}],"ideal":"relationship"}
|
286 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"etpolshnisria"}],"ideal":"relationships"}
|
287 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"errenopintaset"}],"ideal":"representation"}
|
288 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"etnipnotsrsreea"}],"ideal":"representations"}
|
289 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"eenvieerptrats"}],"ideal":"representative"}
|
290 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"virnreetesesatp"}],"ideal":"representatives"}
|
291 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"eipeetnrgsnr"}],"ideal":"representing"}
|
292 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"edrpiuonrtoc"}],"ideal":"reproduction"}
|
293 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"rrcuvetidoep"}],"ideal":"reproductive"}
|
294 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nrqeitsreemu"}],"ideal":"requirements"}
|
295 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"saesrtrvneoi"}],"ideal":"reservations"}
|
296 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"rcypeselivet"}],"ideal":"respectively"}
|
297 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"bsiinlsseroeiitp"}],"ideal":"responsibilities"}
|
298 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"eoirntybssilip"}],"ideal":"responsibility"}
|
299 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"cnoitsrsteir"}],"ideal":"restrictions"}
|
300 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"uieutsgtrcrnr"}],"ideal":"restructuring"}
|
301 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"yneoloruitrav"}],"ideal":"revolutionary"}
|
302 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tcsaekawahns"}],"ideal":"saskatchewan"}
|
303 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"sticaaoitfsn"}],"ideal":"satisfaction"}
|
304 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tossitfcaary"}],"ideal":"satisfactory"}
|
305 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"pilhcssrhaos"}],"ideal":"scholarships"}
|
306 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"vrrseseasenc"}],"ideal":"screensavers"}
|
307 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"onrtodcueimcs"}],"ideal":"semiconductor"}
|
308 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"lrhersahsdeo"}],"ideal":"shareholders"}
|
309 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"sanifiegincc"}],"ideal":"significance"}
|
310 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nnlayfsgiiitc"}],"ideal":"significantly"}
|
311 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ulyeinmsaultos"}],"ideal":"simultaneously"}
|
312 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"tispoedhsicta"}],"ideal":"sophisticated"}
|
313 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"izgelcispian"}],"ideal":"specializing"}
|
314 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"feyicsillpca"}],"ideal":"specifically"}
|
315 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"cinipifstceao"}],"ideal":"specification"}
|
316 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"naecsioiifscpt"}],"ideal":"specifications"}
|
317 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"uliiytatsipr"}],"ideal":"spirituality"}
|
318 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"rtelasokdhse"}],"ideal":"stakeholders"}
|
319 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"sahnsrremttca"}],"ideal":"starsmerchant"}
|
320 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ntgnitrnegesh"}],"ideal":"strengthening"}
|
321 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"coimuebttesm"}],"ideal":"subcommittee"}
|
322 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"dicyrrobmuleitse"}],"ideal":"sublimedirectory"}
|
323 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ctsoursbipni"}],"ideal":"subscription"}
|
324 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"sbcntpiosiusr"}],"ideal":"subscriptions"}
|
325 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"teeuusynlbsq"}],"ideal":"subsequently"}
|
326 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"sruessidibia"}],"ideal":"subsidiaries"}
|
327 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"naltaytblusis"}],"ideal":"substantially"}
|
328 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"syluulfcssce"}],"ideal":"successfully"}
|
329 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"yfntlifiuces"}],"ideal":"sufficiently"}
|
330 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"inrdtestpuenne"}],"ideal":"superintendent"}
|
331 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"antsplpueeml"}],"ideal":"supplemental"}
|
332 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"clelvrnuaies"}],"ideal":"surveillance"}
|
333 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"iyitstsbinaual"}],"ideal":"sustainability"}
|
334 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nchliaelgocto"}],"ideal":"technological"}
|
335 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ehsetoogcnli"}],"ideal":"technologies"}
|
336 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"eiectlrbhpuc"}],"ideal":"techrepublic"}
|
337 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nolecmisaeinutcomt"}],"ideal":"telecommunications"}
|
338 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"earuermetpst"}],"ideal":"temperatures"}
|
339 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"insoattislme"}],"ideal":"testimonials"}
|
340 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"aknsnvgihgit"}],"ideal":"thanksgiving"}
|
341 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"asrnctasinot"}],"ideal":"transactions"}
|
342 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"itpciraonnrst"}],"ideal":"transcription"}
|
343 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"asrelxnatesu"}],"ideal":"transexuales"}
|
344 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nmatnfatrisoor"}],"ideal":"transformation"}
|
345 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"iaslstntonar"}],"ideal":"translations"}
|
346 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ssniiotarnms"}],"ideal":"transmission"}
|
347 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"rtasepaycnrn"}],"ideal":"transparency"}
|
348 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"sranniottotarp"}],"ideal":"transportation"}
|
349 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"gtotoinhursloeb"}],"ideal":"troubleshooting"}
|
350 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"zaduotrneihu"}],"ideal":"unauthorized"}
|
351 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"dearderguatun"}],"ideal":"undergraduate"}
|
352 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"nsddneitngaru"}],"ideal":"understanding"}
|
353 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"pumntoenemyl"}],"ideal":"unemployment"}
|
354 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"ufeltoanrnuty"}],"ideal":"unfortunately"}
|
355 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"rsietivuesin"}],"ideal":"universities"}
|
356 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"iterncvafioi"}],"ideal":"verification"}
|
357 |
+
{"input":[{"role":"system","content":"Find the anagram of the input word (output is a single word)"},{"role":"user","content":"yuvtrlablneii"}],"ideal":"vulnerability"}
|
evals/evals/registry/data/balance_chemical_equation/samples.jsonl
ADDED
@@ -0,0 +1,100 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Fe + Cl2 = FeCl3"}], "ideal": ["2Fe + 3Cl_2 = 2FeCl_3"]}
|
2 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "KMnO4 + HCl = KCl + MnCl2 + H2O + Cl2"}], "ideal": ["2KMnO4 + 16HCl = 2KCl + 2MnCl2 + 8H2O + 5Cl2"]}
|
3 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "K4Fe(CN)6 + H2SO4 + H2O = K2SO4 + FeSO4 + (NH4)2SO4 + CO"}], "ideal": ["K4Fe(CN)6 + 6H2SO4 + 6H2O = 2K2SO4 + FeSO4 + 3(NH4)2SO4 + 6CO"]}
|
4 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "K4Fe(CN)6 + KMnO4 + H2SO4 = KHSO4 + Fe2(SO4)3 + MnSO4 + HNO3 + CO2 + H2O"}], "ideal": ["10K4Fe(CN)6 + 122KMnO4 + 299H2SO4 = 162KHSO4 + 5Fe2(SO4)3 + 122MnSO4 + 60HNO3 + 60CO2 + 188H2O"]}
|
5 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "CuSO4*5H2O = CuSO4 + H2O"}], "ideal": ["CuSO4*5H2O = CuSO4 + 5H2O"]}
|
6 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Na + O = Na2O"}], "ideal": ["4Na + O = 2Na2O"]}
|
7 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Na + Cl2 = NaCl"}], "ideal": ["2Na + Cl2 = 2NaCl"]}
|
8 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Na + H2O = NaOH + H2"}], "ideal": ["2Na + 2H2O = 2NaOH + H2"]}
|
9 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Na + H2O + CuSO4 = Cu(OH)2 + Na2SO4 + H2"}], "ideal": ["2Na + 2H2O + CuSO4 = Cu(OH)2 + Na2SO4 + H2"]}
|
10 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Fe + CuSO4 = FeSO4 + Cu"}], "ideal": ["Fe + CuSO4 = FeSO4 + Cu"]}
|
11 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Mg+ HCI = MgCI2 + H2"}], "ideal": ["Mg+ 2HCI = MgCI2 + H2"]}
|
12 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "A + O2 = A12O3"}], "ideal": ["4A + 3O2 = 2A12O3"]}
|
13 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "C+ Fe2O3 = Fe + CO2"}], "ideal": ["3C+ 2Fe2O3 = 4Fe + 3CO2"]}
|
14 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Fe + O2 = Fe3O4"}], "ideal": ["3Fe + 2O2 = Fe3O4"]}
|
15 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Cu + O2 = CuO"}], "ideal": ["2Cu + O2 = 2CuO"]}
|
16 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "2H2 + O2 = 2H2O"}], "ideal": ["H2 + O2 = H2O"]}
|
17 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "P + O2 = P2O5"}], "ideal": ["4P + 5O2 = 2P2O5"]}
|
18 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "C2H5OH + O2 = CO2 + H2O"}], "ideal": ["C2H5OH + 3O2 = 2CO2 + 3H2O"]}
|
19 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "C+ Fe3O4 = Fe + CO2"}], "ideal": ["2C+ Fe3O4 = 3Fe + 2CO2"]}
|
20 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "CO+ Fe2O3 = Fe + CO2"}], "ideal": ["3CO+ Fe2O3 = 2Fe + 3CO2"]}
|
21 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "CO+ Fe3O4 = Fe + CO2"}], "ideal": ["4CO+ Fe3O4 = 3Fe + 4CO2"]}
|
22 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "A + H2SO4 = AI2(SO4)3 + H2"}], "ideal": ["2A + 3H2SO4 = AI2(SO4)3 + 3H2"]}
|
23 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "AI + HCI = AICI3 + H2"}], "ideal": ["2AI + 6HCI = 2AICI3 + 3H2"]}
|
24 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Fe2O3 + H2SO4 = Fe2(SO4)3 + H2O"}], "ideal": ["Fe2O3 + 3H2SO4 = Fe2(SO4)3 + 3H2O"]}
|
25 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "NaOH + SO3 = Na2SO4 + H2O"}], "ideal": ["2NaOH + SO3 = Na2SO4 + H2O"]}
|
26 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "HCI + Cu(OH)2 = CuCI2 + H2O"}], "ideal": ["2HCI + Cu(OH)2 = CuCI2 + 2H2O"]}
|
27 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "HCI + Fe(OH)3 = FeCI3 + H2O"}], "ideal": ["3HCI + Fe(OH)3 = FeCI3 + 3H2O"]}
|
28 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "HCI + Al(OH)3 = AICI3 + H2C"}], "ideal": ["3HCI + Al(OH)3 = AICI3 + 3H2C"]}
|
29 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "H2SO4 + Cu(OH)2 = CuSO4 + H2O"}], "ideal": ["H2SO4 + Cu(OH)2 = CuSO4 + 2H2O"]}
|
30 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "H2SO4 + Fe(OH)3 = Fe2(SO4)3 + H2O"}], "ideal": ["3H2SO4 + 2Fe(OH)3 = Fe2(SO4)3 + 6H2O"]}
|
31 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Na2CO3 + HCI = NaCI + H2O + CO2"}], "ideal": ["Na2CO3 + 2HCI = 2NaCI + H2O + CO2"]}
|
32 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "KMnO4 = K2MnO4 + MnO2 + O2"}], "ideal": ["2KMnO4 = K2MnO4 + MnO2 + O2"]}
|
33 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "C + Fe2O3 = Fe + CO2"}], "ideal": ["3C + 2Fe2O3 = 4Fe + 3CO2"]}
|
34 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "4CO + Fe3O4 = 3Fe + 4CO2"}], "ideal": ["CO + Fe3O4 = Fe + CO2"]}
|
35 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Al + H2SO4 = Al2(SO4)3 + H2"}], "ideal": ["2Al + 3H2SO4 = Al2(SO4)3 + 3H2"]}
|
36 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Al + HCl = AlCl3 + H2"}], "ideal": ["2Al + 6HCl = 2AlCl3 + 3H2"]}
|
37 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Fe2O3 + HCl = FeCl3 + H2O"}], "ideal": ["Fe2O3 + 6HCl = 2FeCl3 + 3H2O"]}
|
38 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "NaOH + FeCl3 = Fe(OH)3 + NaCl"}], "ideal": ["3NaOH + FeCl3 = Fe(OH)3 + 3NaCl"]}
|
39 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Na2CO3 + HCl = NaCl + H2O + CO2"}], "ideal": ["Na2CO3 + 2HCl = 2NaCl + H2O + CO2"]}
|
40 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Al(OH)3 + H2SO4 = Al2(SO4)3 + H2O"}], "ideal": ["2Al(OH)3 + 3H2SO4 = Al2(SO4)3 + 3H2O"]}
|
41 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "NaOH + H3PO4 = H2O + Na3PO4"}], "ideal": ["3NaOH + H3PO4 = 3H2O + Na3PO4"]}
|
42 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "FeS2 + O2 = Fe2O3 + SO2"}], "ideal": ["4FeS2 + 11O2 = 2Fe2O3 + 8SO2"]}
|
43 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Al2O3 = Al + O2"}], "ideal": ["2Al2O3 = 4Al + 3O2"]}
|
44 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "NaHCO3 = Na2CO3 + CO2 + H2O"}], "ideal": ["2NaHCO3 = Na2CO3 + CO2 + H2O"]}
|
45 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "NH3 + O2 = NO + H2O"}], "ideal": ["4NH3 + 5O2 = 4NO + 6H2O"]}
|
46 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "NO + O2 = NO2"}], "ideal": ["2NO + O2 = 2NO2"]}
|
47 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "NO2 + H2O = HNO3 + NO"}], "ideal": ["3NO2 + H2O = 2HNO3 + NO"]}
|
48 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "SiO2 + C = CO + Si"}], "ideal": ["SiO2 + 2C = 2CO + Si"]}
|
49 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Mg + N2 = Mg3N2"}], "ideal": ["3Mg + N2 = Mg3N2"]}
|
50 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Mg + CO2 = MgO + C"}], "ideal": ["2Mg + CO2 = 2MgO + C"]}
|
51 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Al + Fe2O3 = Al2O3 + Fe"}], "ideal": ["2Al + Fe2O3 = Al2O3 + 2Fe"]}
|
52 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Al + Co3O4 = Co + Al2O3"}], "ideal": ["8Al + 3Co3O4 = 9Co + 4Al2O3"]}
|
53 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Al + V2O5 = V + Al2O3"}], "ideal": ["10Al + 3V2O5 = 6V + 5Al2O3"]}
|
54 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Al + NaOH + H2O = NaAlO2 + H2 + H2O"}], "ideal": ["2Al + 2NaOH + 6H2O = 2NaAlO2 + 3H2 + 4H2O"]}
|
55 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "S + NaOH = Na2S+ Na2SO3 + H2O"}], "ideal": ["3S + 5NaOH = 2Na2S+ Na2SO3 + 3H2O"]}
|
56 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "P4 + P2I4 + H2O = PH4I + H3PO4"}], "ideal": ["13P4 + 10P2I4 + 128H2O = 40PH4I + 32H3PO4"]}
|
57 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "K4Fe(CN)6 + KMnO4 + H2SO4 = CO2 + KNO3 + H2O + K2SO4 + MnSO4 + Fe2(SO4)3"}], "ideal": ["10K4Fe(CN)6 + 122KMnO4 + 188H2SO4 = 60CO2 + 60KNO3 + 188H2O + 51K2SO4 + 122MnSO4 + 5Fe2(SO4)3"]}
|
58 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Fe36Si5 + H3PO4 + K2Cr2O7 = FePO4 + SiO2 + K3PO4 + CrPO4 + H2O"}], "ideal": ["9Fe36Si5 + 994H3PO4 + 231K2Cr2O7 = 378FePO4 + 63SiO2 + 154K3PO4 + 462CrPO4 + 1491H2O"]}
|
59 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "K4[Fe(SCN)6] + K2Cr2O7 + H2SO4 = Fe2(SO4)3 + Cr2(SO4)3 + CO2 + H2O + K2SO4 + KNO3"}], "ideal": ["6K4[Fe(SCN)6] + 97K2Cr2O7 + 355 H2SO4 = 3Fe2(SO4)3 + 97Cr2(SO4)3 + 36CO2 + 355H2O + 91K2SO4 + 36KNO3"]}
|
60 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "P4 + CuSO4 + H2O = Cu3P + H3PO4 + H2SO4"}], "ideal": ["11P4 + 60CuSO4 + 96H2O = 20Cu3P + 24H3PO4 + 60H2SO4"]}
|
61 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "2Ca(OH)2 + 3NaHCO3 = 2CaCO3 + NaOH + Na2CO3 + 3H2O"}], "ideal": ["Ca(OH)2 + NaHCO3 = CaCO3 + NaOH + Na2CO3 + H2O"]}
|
62 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Fe42Si7 + H3PO4 + K2Cr2O7 = FePO4 + SiO2 + K3PO4 + CrPO4 + H2O"}], "ideal": ["9Fe42Si7 + 994H3PO4 + 231K2Cr2O7 = 378FePO4 + 63SiO2 + 154K3PO4 + 462CrPO4 + 1491H2O"]}
|
63 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "H2 + Ca(CN)2 + NaAlF4 + FeSO4 + MgSiO3 + KI + H3PO4 + PbCrO4 + BrCl + CF2Cl2 + SO2 = PbBr2 + CrCl3 + MgCO3 + K[Al(OH)4] + Fe(SCN)3 + PI3 + Na2SiO3 + CaF2 + H2O"}], "ideal": ["88H2 + 15Ca(CN)2 + 6NaAlF4 + 10FeSO4 + 3MgSiO3 + 6KI + 2H3PO4 + 6PbCrO4 + 12BrCl + 3CF2Cl2 + 20SO2 = 6PbBr2 + 6CrCl3 + 3MgCO3 + 6K[Al(OH)4] + 10Fe(SCN)3 + 2PI3 + 3Na2SiO3 + 15CaF2 + 79H2O"]}
|
64 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Fe3O4 + HNO3 = Fe(NO3)3 + NO + H2O"}], "ideal": ["3Fe3O4 + 28HNO3 = 9Fe(NO3)3 + NO + 14H2O"]}
|
65 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "P2I4 + H2O + P4 = PH4I + H3PO4"}], "ideal": ["10P2I4 + 128H2O + 13P4 = 40PH4I + 32H3PO4"]}
|
66 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "[Cr(N2H4CO)6]4[Cr(CN)6]3 + KMnO4+H2SO4 -> K2Cr2O7 + MnSO4 + CO2 + KNO3 + K2SO4 + H2O"}], "ideal": ["10[Cr(N2H4CO)6]4[Cr(CN)6]3 + 1176KMnO4 + 1399H2SO4 = 35K2Cr2O7 + 1176MnSO4 + 420CO2 + 660KNO3 + 223K2SO4 + 1879H2O"]}
|
67 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "BiCl3 + H2O = BiOCl + HCl"}], "ideal": ["BiCl3 + H2O = BiOCl + 2HCl"]}
|
68 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "SOCl2 + e = Cl + S + SO2"}], "ideal": ["2SOCl2 + 4e = 4Cl + S + SO2"]}
|
69 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "KClO3 + H2SO4 = KClO4 + ClO2 + K2SO4 + H2O"}], "ideal": ["3KClO3 + H2SO4 = KClO4 + 2ClO2 + K2SO4 + H2O"]}
|
70 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Mg3Si2O5(OH)4 + CO2 = MgCO3 + SiO2 + H2O"}], "ideal": ["Mg3Si2O5(OH)4 + 3CO2 = 3MgCO3 + 2SiO2 + 2H2O"]}
|
71 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "AsCl3 + NaBH4 = AsH3 + NaCl + BCl3"}], "ideal": ["4AsCl3 + 3NaBH4 = 4AsH3 + 3NaCl + 3BCl3"]}
|
72 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "CuS + HNO3 = CuSO4 + NO + H2O"}], "ideal": ["3CuS + 8HNO3 = 3CuSO4 + 8NO + H2O"]}
|
73 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "C4H10 + F2 = C4F10 + HF"}], "ideal": ["C4H10 + 10F2 = C4F10 + 10HF"]}
|
74 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "NH3 + O2 = N2O + H2O"}], "ideal": ["2NH3 + 2O2 = N2O + 3H2O"]}
|
75 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Mg(NO3)2 = MgO + NO2 + O2"}], "ideal": ["2Mg(NO3)2 = 2MgO(s) + 4NO2 + O2"]}
|
76 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "B2O3 + C + Cl2 = BCl3 + CO"}], "ideal": ["B2O3 + 3C + 3Cl2 = 2BCl3 + 3CO"]}
|
77 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "CH3CH2CH2CH3 + O2 = C2H2(CO)2O + H2O"}], "ideal": ["2CH3CH2CH2CH3 + 7O2 = 2C2H2(CO)2O + 8H2O"]}
|
78 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "TiCl4 + Na = NaCl + Ti"}], "ideal": ["TiCl4 + 4Na = 4NaCl + Ti"]}
|
79 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Cu + HNO3 = Cu(NO3)2 + NO2 + H2O"}], "ideal": ["Cu + 4HNO3 = Cu(NO3)2 + 2NO2 + 2H2O"]}
|
80 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "I2 + HNO3 = HIO3 + NO2 + H2O"}], "ideal": ["I2 + 10HNO3 = 2HIO3 + 10NO2 + 4H2O"]}
|
81 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Ca5F(PO4)3 + SiO2 + C = CaSiO3 + CaF2 + CO + P"}], "ideal": ["2Ca5F(PO4)3 + 9SiO2 + 15C = 9CaSiO3 + CaF2 + 15CO + 6P"]}
|
82 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "GaF3 + Na3PO4 = GaPO4 + NaF"}], "ideal": ["GaF3 + Na3PO4 = GaPO4 + 3NaF"]}
|
83 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "NH4F + AlCl3 = NH4Cl + AlF3"}], "ideal": ["3NH4F + AlCl3 = 3NH4Cl + AlF3"]}
|
84 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Na2CO3 + H3PO4 = Na3PO4 + H2O + CO2"}], "ideal": ["3Na2CO3 + 2H3PO4 = 2Na3PO4 + 3H2O + 3CO2"]}
|
85 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "H2SO4 + NaOH = Na2SO4 + H2O"}], "ideal": ["H2SO4 + 2NaOH = Na2SO4 + 2H2O"]}
|
86 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Sn + P4 = Sn3P4"}], "ideal": ["3Sn + P4 = Sn3P4"]}
|
87 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "C4H8O + O2 = CO2 + H2O"}], "ideal": ["2C4H8O + 11O2 = 8CO2 + 8H2O"]}
|
88 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Ni + H2SO4 = H2 + Ni2(SO4)3"}], "ideal": ["2Ni + 3H2SO4 = 3H2 + Ni2(SO4)3"]}
|
89 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "C2H4O4 + O2 = CO2 + H2O"}], "ideal": ["C2H4O4 + O2 = 2CO2 + 2H2O"]}
|
90 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "C6H12O6 + O2 = H2O + CO2"}], "ideal": ["C6H12O6 + 6O2 = 6H2O + 6CO2"]}
|
91 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "H2O + CO2 = C7H8 + O2"}], "ideal": ["4H2O + 7CO2 = C7H8 + 9O2"]}
|
92 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "(NH4)3PO4 + Pb(NO3)4 = Pb3(PO4)4 + NH4NO3"}], "ideal": ["4(NH4)3PO4 + 3Pb(NO3)4 = Pb3(PO4)4 + 12NH4NO3"]}
|
93 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "BF3 + Li2SO3 = B2(SO3)3 + LiF"}], "ideal": ["2BF3 + 3Li2SO3 = B2(SO3)3 + 6LiF"]}
|
94 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "C7H17 + O2 = CO2 + H2O"}], "ideal": ["4C7H17 + 45O2 = 28CO2 + 34H2O"]}
|
95 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Ag2S = Ag + S8"}], "ideal": ["8Ag2S = 16Ag + S8"]}
|
96 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "KOH + Co3(PO4)2 = K3PO4 + Co(OH)2"}], "ideal": ["6KOH + Co3(PO4)2 = 2K3PO4 + 3Co(OH)2"]}
|
97 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "Al + HCl = H2 + AlCl3"}], "ideal": ["2Al + 6HCl = 3H2 + 2AlCl3"]}
|
98 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "AlBr3 + K2SO4 = KBr + Al2(SO4)3"}], "ideal": ["2AlBr3 + 3K2SO4 = 6KBr + Al2(SO4)3"]}
|
99 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "V2O5 + CaS = CaO + V2S5"}], "ideal": ["V2O5 + 5CaS = 5CaO + V2S5"]}
|
100 |
+
{"input": [{"role": "system", "content": "You are ChemistGPT, can help user balance chemical equation. User for example, if user's input is \"C6H5COOH + O2 = CO2 + H2O\", you will reply the balanced chemical equation: \"2C6H5COOH + 15O2 = 14CO2 + 6H2O\", without explanation. If you can't balance the equation, just reply \"Unknown\""}, {"role": "user", "content": "C2H6 + O2 = CO2 + H2O"}], "ideal": ["2C2H6 + 7O2 = 4CO2 + 6H2O"]}
|
evals/evals/registry/data/belarusian_lexicon/samples.jsonl
ADDED
@@ -0,0 +1,300 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "абвязкою"}], "ideal": "N"}
|
2 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "абвязкаю"}], "ideal": "Y"}
|
3 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "абласці"}], "ideal": "N"}
|
4 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "вобласці"}], "ideal": "Y"}
|
5 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "абмяну"}], "ideal": "N"}
|
6 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "абмену"}], "ideal": "Y"}
|
7 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "абоўязак"}], "ideal": "N"}
|
8 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "абавязак"}], "ideal": "Y"}
|
9 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "аднасінькіх"}], "ideal": "N"}
|
10 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "аднюсенькіх"}], "ideal": "Y"}
|
11 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "аролі"}], "ideal": "N"}
|
12 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "арэлі"}], "ideal": "Y"}
|
13 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "асвятленыя"}], "ideal": "N"}
|
14 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "асветленыя"}], "ideal": "Y"}
|
15 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "афармілі"}], "ideal": "N"}
|
16 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "аформілі"}], "ideal": "Y"}
|
17 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "афісе"}], "ideal": "N"}
|
18 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "офісе"}], "ideal": "Y"}
|
19 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "багаццём"}], "ideal": "N"}
|
20 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "багаццем"}], "ideal": "Y"}
|
21 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "безпечна"}], "ideal": "N"}
|
22 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "бяспечна"}], "ideal": "Y"}
|
23 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "бядамі"}], "ideal": "N"}
|
24 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "бедамі"}], "ideal": "Y"}
|
25 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "бялыя"}], "ideal": "N"}
|
26 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "белыя"}], "ideal": "Y"}
|
27 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "ваблівах"}], "ideal": "N"}
|
28 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "ваблівых"}], "ideal": "Y"}
|
29 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "вежыкі"}], "ideal": "N"}
|
30 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "вожыкі"}], "ideal": "Y"}
|
31 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "веравыя"}], "ideal": "N"}
|
32 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "верхавыя"}], "ideal": "Y"}
|
33 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "вёская"}], "ideal": "N"}
|
34 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "вясковая"}], "ideal": "Y"}
|
35 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "ветрыстым"}], "ideal": "N"}
|
36 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "вятрыстым"}], "ideal": "Y"}
|
37 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "вечарыня"}], "ideal": "N"}
|
38 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "вечарына"}], "ideal": "Y"}
|
39 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "вырастыць"}], "ideal": "N"}
|
40 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "вырастуць"}], "ideal": "Y"}
|
41 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "вягняного"}], "ideal": "N"}
|
42 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "вогненнага"}], "ideal": "Y"}
|
43 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "газоў"}], "ideal": "N"}
|
44 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "газаў"}], "ideal": "Y"}
|
45 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "гандлёўлі"}], "ideal": "N"}
|
46 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "гандлю"}], "ideal": "Y"}
|
47 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "гарадзе"}], "ideal": "N"}
|
48 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "горадзе"}], "ideal": "Y"}
|
49 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "гарманіі"}], "ideal": "N"}
|
50 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "гармоніі"}], "ideal": "Y"}
|
51 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "гарызанты"}], "ideal": "N"}
|
52 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "гарызонты"}], "ideal": "Y"}
|
53 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "годаў"}], "ideal": "N"}
|
54 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "гадоў"}], "ideal": "Y"}
|
55 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "годы"}], "ideal": "N"}
|
56 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "гады"}], "ideal": "Y"}
|
57 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "горадаў"}], "ideal": "N"}
|
58 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "гарадоў"}], "ideal": "Y"}
|
59 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "гэтам"}], "ideal": "N"}
|
60 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "гэтым"}], "ideal": "Y"}
|
61 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "даждж"}], "ideal": "N"}
|
62 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "дождж"}], "ideal": "Y"}
|
63 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "дамоўляемся"}], "ideal": "N"}
|
64 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "дамаўляемся"}], "ideal": "Y"}
|
65 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "домах"}], "ideal": "N"}
|
66 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "дамах"}], "ideal": "Y"}
|
67 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "доступных"}], "ideal": "N"}
|
68 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "даступных"}], "ideal": "Y"}
|
69 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "дрыбы"}], "ideal": "N"}
|
70 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "грыбы"}], "ideal": "Y"}
|
71 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "езда"}], "ideal": "N"}
|
72 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "язда"}], "ideal": "Y"}
|
73 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "жаўтні"}], "ideal": "N"}
|
74 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "жаўткі"}], "ideal": "Y"}
|
75 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "жаўтыя"}], "ideal": "N"}
|
76 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "жоўтыя"}], "ideal": "Y"}
|
77 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "журавіных"}], "ideal": "N"}
|
78 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "журавінных"}], "ideal": "Y"}
|
79 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "з'езджаў"}], "ideal": "N"}
|
80 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "з'язджаў"}], "ideal": "Y"}
|
81 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "з'яўілася"}], "ideal": "N"}
|
82 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "з'явілася"}], "ideal": "Y"}
|
83 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "займацься"}], "ideal": "N"}
|
84 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "займацца"}], "ideal": "Y"}
|
85 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "заняткоў"}], "ideal": "N"}
|
86 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "заняткаў"}], "ideal": "Y"}
|
87 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "звук"}], "ideal": "N"}
|
88 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "гук"}], "ideal": "Y"}
|
89 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "злучанне"}], "ideal": "N"}
|
90 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "злучэнне"}], "ideal": "Y"}
|
91 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "злучэні"}], "ideal": "N"}
|
92 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "злучэнні"}], "ideal": "Y"}
|
93 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "зміняцца"}], "ideal": "N"}
|
94 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "зменяцца"}], "ideal": "Y"}
|
95 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "знаходзіц"}], "ideal": "N"}
|
96 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "знаходзіць"}], "ideal": "Y"}
|
97 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "знойдуцься"}], "ideal": "N"}
|
98 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "знойдуцца"}], "ideal": "Y"}
|
99 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "зосумаваць"}], "ideal": "N"}
|
100 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "засумаваць"}], "ideal": "Y"}
|
101 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "історый"}], "ideal": "N"}
|
102 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "гісторый"}], "ideal": "Y"}
|
103 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "кабінце"}], "ideal": "N"}
|
104 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "кабінеце"}], "ideal": "Y"}
|
105 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "кавалком"}], "ideal": "N"}
|
106 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "кавалкам"}], "ideal": "Y"}
|
107 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "калеру"}], "ideal": "N"}
|
108 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "колеру"}], "ideal": "Y"}
|
109 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "калюшня"}], "ideal": "N"}
|
110 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "канюшня"}], "ideal": "Y"}
|
111 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "каляров"}], "ideal": "N"}
|
112 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "каляровы"}], "ideal": "Y"}
|
113 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "каралевскай"}], "ideal": "N"}
|
114 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "каралеўскай"}], "ideal": "Y"}
|
115 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "караляўскага"}], "ideal": "N"}
|
116 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "каралеўскага"}], "ideal": "Y"}
|
117 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "карамелю"}], "ideal": "N"}
|
118 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "карамеллю"}], "ideal": "Y"}
|
119 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "каропам"}], "ideal": "N"}
|
120 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "кропам"}], "ideal": "Y"}
|
121 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "квечка"}], "ideal": "N"}
|
122 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "квет��а"}], "ideal": "Y"}
|
123 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "кінасале"}], "ideal": "N"}
|
124 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "кіназале"}], "ideal": "Y"}
|
125 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "колонак"}], "ideal": "N"}
|
126 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "калонак"}], "ideal": "Y"}
|
127 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "лесаў"}], "ideal": "N"}
|
128 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "лясоў"}], "ideal": "Y"}
|
129 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "летаць"}], "ideal": "N"}
|
130 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "лётаць"}], "ideal": "Y"}
|
131 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "ліставай"}], "ideal": "N"}
|
132 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "ліставой"}], "ideal": "Y"}
|
133 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "лістопад"}], "ideal": "N"}
|
134 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "лістапад"}], "ideal": "Y"}
|
135 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "лясу"}], "ideal": "N"}
|
136 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "лесу"}], "ideal": "Y"}
|
137 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "лято"}], "ideal": "N"}
|
138 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "лета"}], "ideal": "Y"}
|
139 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "магуць"}], "ideal": "N"}
|
140 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "могуць"}], "ideal": "Y"}
|
141 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "майстарня"}], "ideal": "N"}
|
142 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "майстэрня"}], "ideal": "Y"}
|
143 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "масштабны"}], "ideal": "N"}
|
144 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "маштабны"}], "ideal": "Y"}
|
145 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "медведзі"}], "ideal": "N"}
|
146 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "мядзведзі"}], "ideal": "Y"}
|
147 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "мімо"}], "ideal": "N"}
|
148 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "міма"}], "ideal": "Y"}
|
149 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "мнага"}], "ideal": "N"}
|
150 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "многа"}], "ideal": "Y"}
|
151 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "множства"}], "ideal": "N"}
|
152 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "мноства"}], "ideal": "Y"}
|
153 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "можаць"}], "ideal": "N"}
|
154 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "можа"}], "ideal": "Y"}
|
155 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "морознай"}], "ideal": "N"}
|
156 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "марознай"}], "ideal": "Y"}
|
157 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "мудрый"}], "ideal": "N"}
|
158 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "мудры"}], "ideal": "Y"}
|
159 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "накрыўалася"}], "ideal": "N"}
|
160 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "накрывалася"}], "ideal": "Y"}
|
161 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "науки"}], "ideal": "N"}
|
162 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "навукі"}], "ideal": "Y"}
|
163 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "негатывнага"}], "ideal": "N"}
|
164 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "негатыўнага"}], "ideal": "Y"}
|
165 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "недаўна"}], "ideal": "N"}
|
166 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "нядаўна"}], "ideal": "Y"}
|
167 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "непацярплівая"}], "ideal": "N"}
|
168 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "нецярплівая"}], "ideal": "Y"}
|
169 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "нязалежнасці"}], "ideal": "N"}
|
170 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "незалежнасці"}], "ideal": "Y"}
|
171 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "няўзможна"}], "ideal": "N"}
|
172 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "няможна"}], "ideal": "Y"}
|
173 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "озёр"}], "ideal": "N"}
|
174 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "азёр"}], "ideal": "Y"}
|
175 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "паветранне"}], "ideal": "N"}
|
176 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "паветра"}], "ideal": "Y"}
|
177 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "павечараць"}], "ideal": "N"}
|
178 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "павячэраць"}], "ideal": "Y"}
|
179 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "пагаршыўся"}], "ideal": "N"}
|
180 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "пагоршыўся"}], "ideal": "Y"}
|
181 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "пагаршыць"}], "ideal": "N"}
|
182 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "пагоршыць"}], "ideal": "Y"}
|
183 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "падарабленая"}], "ideal": "N"}
|
184 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "падробленая"}], "ideal": "Y"}
|
185 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "пазбегаць"}], "ideal": "N"}
|
186 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "пазбягаць"}], "ideal": "Y"}
|
187 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "пазірк"}], "ideal": "N"}
|
188 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "позірк"}], "ideal": "Y"}
|
189 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "палепшэння"}], "ideal": "N"}
|
190 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "паляпшэння"}], "ideal": "Y"}
|
191 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "палітрой"}], "ideal": "N"}
|
192 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "палітрай"}], "ideal": "Y"}
|
193 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "парахад"}], "ideal": "N"}
|
194 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "параход"}], "ideal": "Y"}
|
195 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "паркаўка"}], "ideal": "N"}
|
196 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "паркоўка"}], "ideal": "Y"}
|
197 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "пасвіцілаў"}], "ideal": "N"}
|
198 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "пасвяціла"}], "ideal": "Y"}
|
199 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "паспехавае"}], "ideal": "N"}
|
200 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "паспяховае"}], "ideal": "Y"}
|
201 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "пастаўў"}], "ideal": "N"}
|
202 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "паставіў"}], "ideal": "Y"}
|
203 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "постаяннага"}], "ideal": "N"}
|
204 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "пастаяннага"}], "ideal": "Y"}
|
205 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "празыўна"}], "ideal": "N"}
|
206 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "прызыўна"}], "ideal": "Y"}
|
207 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "практыкавацься"}], "ideal": "N"}
|
208 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "практыкавацца"}], "ideal": "Y"}
|
209 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "прапрадзіць"}], "ideal": "N"}
|
210 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "праводзіць"}], "ideal": "Y"}
|
211 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "працой"}], "ideal": "N"}
|
212 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "працай"}], "ideal": "Y"}
|
213 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "працягом"}], "ideal": "N"}
|
214 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "працягам"}], "ideal": "Y"}
|
215 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "просторы"}], "ideal": "N"}
|
216 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "прасторы"}], "ideal": "Y"}
|
217 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "прывабляюць"}], "ideal": "N"}
|
218 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "прывабліваюць"}], "ideal": "Y"}
|
219 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "прыгажось"}], "ideal": "N"}
|
220 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "прыгажосць"}], "ideal": "Y"}
|
221 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "прыгарадай"}], "ideal": "N"}
|
222 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "прыгарадам"}], "ideal": "Y"}
|
223 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "прычаплівае"}], "ideal": "N"}
|
224 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "прычэплівае"}], "ideal": "Y"}
|
225 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "птушачы"}], "ideal": "N"}
|
226 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "птушыны"}], "ideal": "Y"}
|
227 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "районе"}], "ideal": "N"}
|
228 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "раёне"}], "ideal": "Y"}
|
229 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "распаўсярджваецца"}], "ideal": "N"}
|
230 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "распаўсюджваецца"}], "ideal": "Y"}
|
231 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "распеваюць"}], "ideal": "N"}
|
232 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "распяваюць"}], "ideal": "Y"}
|
233 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "растліны"}], "ideal": "N"}
|
234 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "расліны"}], "ideal": "Y"}
|
235 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "расцутаюць"}], "ideal": "N"}
|
236 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "расцвітаюць"}], "ideal": "Y"}
|
237 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "рашающым"}], "ideal": "N"}
|
238 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "рашаючым"}], "ideal": "Y"}
|
239 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "роблю"}], "ideal": "N"}
|
240 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "раблю"}], "ideal": "Y"}
|
241 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "робоце"}], "ideal": "N"}
|
242 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "рабоце"}], "ideal": "Y"}
|
243 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "светлое"}], "ideal": "N"}
|
244 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "светлае"}], "ideal": "Y"}
|
245 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "серадзіне"}], "ideal": "N"}
|
246 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "сярэдзіне"}], "ideal": "Y"}
|
247 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "скласты"}], "ideal": "N"}
|
248 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "скласці"}], "ideal": "Y"}
|
249 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "сконцана"}], "ideal": "N"}
|
250 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "скончана"}], "ideal": "Y"}
|
251 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "сніданку"}], "ideal": "N"}
|
252 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "сняданку"}], "ideal": "Y"}
|
253 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "сплатаецца"}], "ideal": "N"}
|
254 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "сплятаецца"}], "ideal": "Y"}
|
255 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "станоўцца"}], "ideal": "N"}
|
256 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "становіцца"}], "ideal": "Y"}
|
257 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "страв"}], "ideal": "N"}
|
258 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "страў"}], "ideal": "Y"}
|
259 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "сувязана"}], "ideal": "N"}
|
260 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "звязана"}], "ideal": "Y"}
|
261 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "сустрэл"}], "ideal": "N"}
|
262 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "сустрэў"}], "ideal": "Y"}
|
263 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "сцянамі"}], "ideal": "N"}
|
264 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "сценамі"}], "ideal": "Y"}
|
265 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "таленам"}], "ideal": "N"}
|
266 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "талентам"}], "ideal": "Y"}
|
267 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "тварчы"}], "ideal": "N"}
|
268 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "творчы"}], "ideal": "Y"}
|
269 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "трабуе"}], "ideal": "N"}
|
270 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "патрабуе"}], "ideal": "Y"}
|
271 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "увасобляючы"}], "ideal": "N"}
|
272 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "увасабляючы"}], "ideal": "Y"}
|
273 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "унутранніх"}], "ideal": "N"}
|
274 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "унутраных"}], "ideal": "Y"}
|
275 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "урадзейная"}], "ideal": "N"}
|
276 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "ураджайная"}], "ideal": "Y"}
|
277 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "успех"}], "ideal": "N"}
|
278 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "поспех"}], "ideal": "Y"}
|
279 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "учацца"}], "ideal": "N"}
|
280 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "вучацца"}], "ideal": "Y"}
|
281 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "харвац"}], "ideal": "N"}
|
282 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "харват"}], "ideal": "Y"}
|
283 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "хворабы"}], "ideal": "N"}
|
284 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "хваробы"}], "ideal": "Y"}
|
285 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "хмарой"}], "ideal": "N"}
|
286 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "хмарай"}], "ideal": "Y"}
|
287 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "царкваў"}], "ideal": "N"}
|
288 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "цэркваў"}], "ideal": "Y"}
|
289 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "цяплы"}], "ideal": "N"}
|
290 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "цёплы"}], "ideal": "Y"}
|
291 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "цячыню"}], "ideal": "N"}
|
292 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "цячэнне"}], "ideal": "Y"}
|
293 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "чаўкі"}], "ideal": "N"}
|
294 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "чайкі"}], "ideal": "Y"}
|
295 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "червоную"}], "ideal": "N"}
|
296 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "чырвоную"}], "ideal": "Y"}
|
297 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "ядэрнага"}], "ideal": "N"}
|
298 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "ядзернага"}], "ideal": "Y"}
|
299 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "якіясці"}], "ideal": "N"}
|
300 |
+
{"input": [{"role": "system", "content": "You will be prompted with a single word. Does this word exist in Belarusian language? Answer Y or N."}, {"role": "user", "content": "якіясьці"}], "ideal": "Y"}
|
evals/evals/registry/data/bigrams/samples.jsonl
ADDED
@@ -0,0 +1,200 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"I'm worried by the fact that my daughter looks to the local carpet seller as a role model."}],"ideal":"0"}
|
2 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He found rain fascinating yet unpleasant."}],"ideal":"1"}
|
3 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The near-death experience brought new ideas to light."}],"ideal":"0"}
|
4 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Separation anxiety is what happens when you can't find your phone."}],"ideal":"0"}
|
5 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He realized there had been several deaths on this road, but his concern rose when he saw the exact number."}],"ideal":"0"}
|
6 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"There's no reason a hula hoop can't also be a circus ring."}],"ideal":"1"}
|
7 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"I've traveled all around Africa and still haven't found the gnu who stole my scarf."}],"ideal":"0"}
|
8 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Sometimes, all you need to do is completely make an ass of yourself and laugh it off to realise that life isn’t so bad after all."}],"ideal":"0"}
|
9 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The knives were out and she was sharpening hers."}],"ideal":"1"}
|
10 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"There's probably enough glass in my cupboard to build an undersea aquarium."}],"ideal":"0"}
|
11 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"One small action would change her life, but whether it would be for better or for worse was yet to be determined."}],"ideal":"1"}
|
12 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The estate agent quickly marked out his territory on the dance floor."}],"ideal":"0"}
|
13 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Chocolate covered crickets were his favorite snack."}],"ideal":"0"}
|
14 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The old rusted farm equipment surrounded the house predicting its demise."}],"ideal":"1"}
|
15 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Tomatoes make great weapons when water balloons aren’t available."}],"ideal":"0"}
|
16 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He had accidentally hacked into his company's server."}],"ideal":"0"}
|
17 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Jason didn’t understand why his parents wouldn’t let him sell his little sister at the garage sale."}],"ideal":"0"}
|
18 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Her life in the confines of the house became her new normal."}],"ideal":"0"}
|
19 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"At that moment I was the most fearsome weasel in the entire swamp."}],"ideal":"0"}
|
20 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The doll spun around in circles in hopes of coming alive."}],"ideal":"1"}
|
21 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The miniature pet elephant became the envy of the neighborhood."}],"ideal":"0"}
|
22 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"For the 216th time, he said he would quit drinking soda after this last Coke."}],"ideal":"1"}
|
23 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He was the type of guy who liked Christmas lights on his house in the middle of July."}],"ideal":"0"}
|
24 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"She felt that chill that makes the hairs on the back of your neck when he walked into the room."}],"ideal":"0"}
|
25 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Baby wipes are made of chocolate stardust."}],"ideal":"0"}
|
26 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The dead trees waited to be ignited by the smallest spark and seek their revenge."}],"ideal":"1"}
|
27 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Little Red Riding Hood decided to wear orange today."}],"ideal":"2"}
|
28 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"His mind was blown that there was nothing in space except space itself."}],"ideal":"1"}
|
29 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"I know many children ask for a pony, but I wanted a bicycle with rockets strapped to it."}],"ideal":"0"}
|
30 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He was an introvert that extroverts seemed to love."}],"ideal":"0"}
|
31 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"I caught my squirrel rustling through my gym bag."}],"ideal":"1"}
|
32 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Homesickness became contagious in the young campers' cabin."}],"ideal":"1"}
|
33 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"It was a really good Monday for being a Saturday."}],"ideal":"1"}
|
34 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"At last"}],"ideal":"0"}
|
35 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Greetings from the galaxy MACS0647-JD, or what we call home."}],"ideal":"1"}
|
36 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"She found his complete dullness interesting."}],"ideal":"1"}
|
37 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"It must be five o'clock somewhere."}],"ideal":"0"}
|
38 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Toddlers feeding raccoons surprised even the seasoned park ranger."}],"ideal":"2"}
|
39 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Had he known what was going to happen, he would have never stepped into the shower."}],"ideal":"1"}
|
40 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"I ate a sock because people on the Internet told me to."}],"ideal":"0"}
|
41 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"You should never take advice from someone who thinks red paint dries quicker than blue paint."}],"ideal":"0"}
|
42 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He took one look at what was under the table and noped the hell out of there."}],"ideal":"0"}
|
43 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Henry couldn't decide if he was an auto mechanic or a priest."}],"ideal":"0"}
|
44 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The blinking lights of the antenna tower came into focus just as I heard a loud snap."}],"ideal":"1"}
|
45 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"That is an appealing treasure map that I can't read."}],"ideal":"1"}
|
46 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Patricia found the meaning of life in a bowl of Cheerios."}],"ideal":"1"}
|
47 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Be careful with that butter knife."}],"ideal":"0"}
|
48 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He turned in the research paper on Friday; otherwise, he would have not passed the class."}],"ideal":"0"}
|
49 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"David proudly graduated from high school top of his class at age 97."}],"ideal":"0"}
|
50 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ng'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The paintbrush was angry at the color the artist chose to use."}],"ideal":"1"}
|
51 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"I'm worried by the fact that my daughter looks to the local carpet seller as a role model."}],"ideal":"3"}
|
52 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He found rain fascinating yet unpleasant."}],"ideal":"0"}
|
53 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The near-death experience brought new ideas to light."}],"ideal":"2"}
|
54 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Separation anxiety is what happens when you can't find your phone."}],"ideal":"0"}
|
55 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He realized there had been several deaths on this road, but his concern rose when he saw the exact number."}],"ideal":"4"}
|
56 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"There's no reason a hula hoop can't also be a circus ring."}],"ideal":"1"}
|
57 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"I've traveled all around Africa and still haven't found the gnu who stole my scarf."}],"ideal":"1"}
|
58 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Sometimes, all you need to do is completely make an ass of yourself and laugh it off to realise that life isn’t so bad after all."}],"ideal":"1"}
|
59 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The knives were out and she was sharpening hers."}],"ideal":"1"}
|
60 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"There's probably enough glass in my cupboard to build an undersea aquarium."}],"ideal":"1"}
|
61 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"One small action would change her life, but whether it would be for better or for worse was yet to be determined."}],"ideal":"1"}
|
62 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The estate agent quickly marked out his territory on the dance floor."}],"ideal":"2"}
|
63 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Chocolate covered crickets were his favorite snack."}],"ideal":"0"}
|
64 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The old rusted farm equipment surrounded the house predicting its demise."}],"ideal":"2"}
|
65 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Tomatoes make great weapons when water balloons aren’t available."}],"ideal":"0"}
|
66 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He had accidentally hacked into his company's server."}],"ideal":"0"}
|
67 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Jason didn’t understand why his parents wouldn’t let him sell his little sister at the garage sale."}],"ideal":"1"}
|
68 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Her life in the confines of the house became her new normal."}],"ideal":"2"}
|
69 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"At that moment I was the most fearsome weasel in the entire swamp."}],"ideal":"3"}
|
70 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The doll spun around in circles in hopes of coming alive."}],"ideal":"1"}
|
71 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The miniature pet elephant became the envy of the neighborhood."}],"ideal":"3"}
|
72 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"For the 216th time, he said he would quit drinking soda after this last Coke."}],"ideal":"3"}
|
73 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He was the type of guy who liked Christmas lights on his house in the middle of July."}],"ideal":"2"}
|
74 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"She felt that chill that makes the hairs on the back of your neck when he walked into the room."}],"ideal":"5"}
|
75 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Baby wipes are made of chocolate stardust."}],"ideal":"0"}
|
76 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The dead trees waited to be ignited by the smallest spark and seek their revenge."}],"ideal":"3"}
|
77 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Little Red Riding Hood decided to wear orange today."}],"ideal":"0"}
|
78 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"His mind was blown that there was nothing in space except space itself."}],"ideal":"3"}
|
79 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"I know many children ask for a pony, but I wanted a bicycle with rockets strapped to it."}],"ideal":"1"}
|
80 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He was an introvert that extroverts seemed to love."}],"ideal":"1"}
|
81 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"I caught my squirrel rustling through my gym bag."}],"ideal":"1"}
|
82 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Homesickness became contagious in the young campers' cabin."}],"ideal":"1"}
|
83 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"It was a really good Monday for being a Saturday."}],"ideal":"0"}
|
84 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"At last"}],"ideal":"0"}
|
85 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Greetings from the galaxy MACS0647-JD, or what we call home."}],"ideal":"1"}
|
86 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"She found his complete dullness interesting."}],"ideal":"0"}
|
87 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"It must be five o'clock somewhere."}],"ideal":"0"}
|
88 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Toddlers feeding raccoons surprised even the seasoned park ranger."}],"ideal":"1"}
|
89 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Had he known what was going to happen, he would have never stepped into the shower."}],"ideal":"1"}
|
90 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"I ate a sock because people on the Internet told me to."}],"ideal":"1"}
|
91 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"You should never take advice from someone who thinks red paint dries quicker than blue paint."}],"ideal":"2"}
|
92 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He took one look at what was under the table and noped the hell out of there."}],"ideal":"3"}
|
93 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Henry couldn't decide if he was an auto mechanic or a priest."}],"ideal":"0"}
|
94 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The blinking lights of the antenna tower came into focus just as I heard a loud snap."}],"ideal":"2"}
|
95 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"That is an appealing treasure map that I can't read."}],"ideal":"2"}
|
96 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Patricia found the meaning of life in a bowl of Cheerios."}],"ideal":"1"}
|
97 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Be careful with that butter knife."}],"ideal":"2"}
|
98 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He turned in the research paper on Friday; otherwise, he would have not passed the class."}],"ideal":"3"}
|
99 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"David proudly graduated from high school top of his class at age 97."}],"ideal":"0"}
|
100 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'th'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The paintbrush was angry at the color the artist chose to use."}],"ideal":"3"}
|
101 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"I'm worried by the fact that my daughter looks to the local carpet seller as a role model."}],"ideal":"0"}
|
102 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He found rain fascinating yet unpleasant."}],"ideal":"1"}
|
103 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The near-death experience brought new ideas to light."}],"ideal":"0"}
|
104 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Separation anxiety is what happens when you can't find your phone."}],"ideal":"0"}
|
105 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He realized there had been several deaths on this road, but his concern rose when he saw the exact number."}],"ideal":"0"}
|
106 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"There's no reason a hula hoop can't also be a circus ring."}],"ideal":"0"}
|
107 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"I've traveled all around Africa and still haven't found the gnu who stole my scarf."}],"ideal":"0"}
|
108 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Sometimes, all you need to do is completely make an ass of yourself and laugh it off to realise that life isn’t so bad after all."}],"ideal":"0"}
|
109 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The knives were out and she was sharpening hers."}],"ideal":"0"}
|
110 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"There's probably enough glass in my cupboard to build an undersea aquarium."}],"ideal":"0"}
|
111 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"One small action would change her life, but whether it would be for better or for worse was yet to be determined."}],"ideal":"0"}
|
112 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The estate agent quickly marked out his territory on the dance floor."}],"ideal":"0"}
|
113 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Chocolate covered crickets were his favorite snack."}],"ideal":"0"}
|
114 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The old rusted farm equipment surrounded the house predicting its demise."}],"ideal":"0"}
|
115 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Tomatoes make great weapons when water balloons aren’t available."}],"ideal":"1"}
|
116 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He had accidentally hacked into his company's server."}],"ideal":"0"}
|
117 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Jason didn’t understand why his parents wouldn’t let him sell his little sister at the garage sale."}],"ideal":"0"}
|
118 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Her life in the confines of the house became her new normal."}],"ideal":"0"}
|
119 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"At that moment I was the most fearsome weasel in the entire swamp."}],"ideal":"0"}
|
120 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The doll spun around in circles in hopes of coming alive."}],"ideal":"0"}
|
121 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The miniature pet elephant became the envy of the neighborhood."}],"ideal":"0"}
|
122 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"For the 216th time, he said he would quit drinking soda after this last Coke."}],"ideal":"1"}
|
123 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He was the type of guy who liked Christmas lights on his house in the middle of July."}],"ideal":"0"}
|
124 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"She felt that chill that makes the hairs on the back of your neck when he walked into the room."}],"ideal":"1"}
|
125 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Baby wipes are made of chocolate stardust."}],"ideal":"0"}
|
126 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The dead trees waited to be ignited by the smallest spark and seek their revenge."}],"ideal":"1"}
|
127 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Little Red Riding Hood decided to wear orange today."}],"ideal":"0"}
|
128 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"His mind was blown that there was nothing in space except space itself."}],"ideal":"0"}
|
129 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"I know many children ask for a pony, but I wanted a bicycle with rockets strapped to it."}],"ideal":"0"}
|
130 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He was an introvert that extroverts seemed to love."}],"ideal":"0"}
|
131 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"I caught my squirrel rustling through my gym bag."}],"ideal":"0"}
|
132 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Homesickness became contagious in the young campers' cabin."}],"ideal":"0"}
|
133 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"It was a really good Monday for being a Saturday."}],"ideal":"0"}
|
134 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"At last"}],"ideal":"0"}
|
135 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Greetings from the galaxy MACS0647-JD, or what we call home."}],"ideal":"0"}
|
136 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"She found his complete dullness interesting."}],"ideal":"0"}
|
137 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"It must be five o'clock somewhere."}],"ideal":"0"}
|
138 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Toddlers feeding raccoons surprised even the seasoned park ranger."}],"ideal":"0"}
|
139 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Had he known what was going to happen, he would have never stepped into the shower."}],"ideal":"0"}
|
140 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"I ate a sock because people on the Internet told me to."}],"ideal":"0"}
|
141 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"You should never take advice from someone who thinks red paint dries quicker than blue paint."}],"ideal":"2"}
|
142 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He took one look at what was under the table and noped the hell out of there."}],"ideal":"0"}
|
143 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Henry couldn't decide if he was an auto mechanic or a priest."}],"ideal":"0"}
|
144 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The blinking lights of the antenna tower came into focus just as I heard a loud snap."}],"ideal":"0"}
|
145 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"That is an appealing treasure map that I can't read."}],"ideal":"0"}
|
146 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Patricia found the meaning of life in a bowl of Cheerios."}],"ideal":"0"}
|
147 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Be careful with that butter knife."}],"ideal":"0"}
|
148 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He turned in the research paper on Friday; otherwise, he would have not passed the class."}],"ideal":"0"}
|
149 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"David proudly graduated from high school top of his class at age 97."}],"ideal":"0"}
|
150 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ai'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The paintbrush was angry at the color the artist chose to use."}],"ideal":"1"}
|
151 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"I'm worried by the fact that my daughter looks to the local carpet seller as a role model."}],"ideal":"0"}
|
152 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He found rain fascinating yet unpleasant."}],"ideal":"1"}
|
153 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The near-death experience brought new ideas to light."}],"ideal":"3"}
|
154 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Separation anxiety is what happens when you can't find your phone."}],"ideal":"0"}
|
155 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He realized there had been several deaths on this road, but his concern rose when he saw the exact number."}],"ideal":"2"}
|
156 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"There's no reason a hula hoop can't also be a circus ring."}],"ideal":"1"}
|
157 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"I've traveled all around Africa and still haven't found the gnu who stole my scarf."}],"ideal":"0"}
|
158 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Sometimes, all you need to do is completely make an ass of yourself and laugh it off to realise that life isn’t so bad after all."}],"ideal":"1"}
|
159 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The knives were out and she was sharpening hers."}],"ideal":"0"}
|
160 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"There's probably enough glass in my cupboard to build an undersea aquarium."}],"ideal":"1"}
|
161 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"One small action would change her life, but whether it would be for better or for worse was yet to be determined."}],"ideal":"0"}
|
162 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The estate agent quickly marked out his territory on the dance floor."}],"ideal":"0"}
|
163 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Chocolate covered crickets were his favorite snack."}],"ideal":"0"}
|
164 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The old rusted farm equipment surrounded the house predicting its demise."}],"ideal":"0"}
|
165 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Tomatoes make great weapons when water balloons aren’t available."}],"ideal":"2"}
|
166 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He had accidentally hacked into his company's server."}],"ideal":"0"}
|
167 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Jason didn’t understand why his parents wouldn’t let him sell his little sister at the garage sale."}],"ideal":"0"}
|
168 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Her life in the confines of the house became her new normal."}],"ideal":"0"}
|
169 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"At that moment I was the most fearsome weasel in the entire swamp."}],"ideal":"2"}
|
170 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The doll spun around in circles in hopes of coming alive."}],"ideal":"0"}
|
171 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The miniature pet elephant became the envy of the neighborhood."}],"ideal":"0"}
|
172 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"For the 216th time, he said he would quit drinking soda after this last Coke."}],"ideal":"0"}
|
173 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He was the type of guy who liked Christmas lights on his house in the middle of July."}],"ideal":"0"}
|
174 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"She felt that chill that makes the hairs on the back of your neck when he walked into the room."}],"ideal":"0"}
|
175 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Baby wipes are made of chocolate stardust."}],"ideal":"0"}
|
176 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The dead trees waited to be ignited by the smallest spark and seek their revenge."}],"ideal":"1"}
|
177 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Little Red Riding Hood decided to wear orange today."}],"ideal":"1"}
|
178 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"His mind was blown that there was nothing in space except space itself."}],"ideal":"0"}
|
179 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"I know many children ask for a pony, but I wanted a bicycle with rockets strapped to it."}],"ideal":"0"}
|
180 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He was an introvert that extroverts seemed to love."}],"ideal":"0"}
|
181 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"I caught my squirrel rustling through my gym bag."}],"ideal":"0"}
|
182 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Homesickness became contagious in the young campers' cabin."}],"ideal":"0"}
|
183 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"It was a really good Monday for being a Saturday."}],"ideal":"1"}
|
184 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"At last"}],"ideal":"0"}
|
185 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Greetings from the galaxy MACS0647-JD, or what we call home."}],"ideal":"0"}
|
186 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"She found his complete dullness interesting."}],"ideal":"0"}
|
187 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"It must be five o'clock somewhere."}],"ideal":"0"}
|
188 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Toddlers feeding raccoons surprised even the seasoned park ranger."}],"ideal":"1"}
|
189 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Had he known what was going to happen, he would have never stepped into the shower."}],"ideal":"0"}
|
190 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"I ate a sock because people on the Internet told me to."}],"ideal":"0"}
|
191 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"You should never take advice from someone who thinks red paint dries quicker than blue paint."}],"ideal":"0"}
|
192 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He took one look at what was under the table and noped the hell out of there."}],"ideal":"0"}
|
193 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Henry couldn't decide if he was an auto mechanic or a priest."}],"ideal":"0"}
|
194 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The blinking lights of the antenna tower came into focus just as I heard a loud snap."}],"ideal":"1"}
|
195 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"That is an appealing treasure map that I can't read."}],"ideal":"3"}
|
196 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Patricia found the meaning of life in a bowl of Cheerios."}],"ideal":"1"}
|
197 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"Be careful with that butter knife."}],"ideal":"0"}
|
198 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"He turned in the research paper on Friday; otherwise, he would have not passed the class."}],"ideal":"1"}
|
199 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"David proudly graduated from high school top of his class at age 97."}],"ideal":"0"}
|
200 |
+
{"input":[{"role":"system","content":"You will be presented with a sentence. The task is to count the frequency of the bigram 'ea'. After reading the sentence tell me the number of times the bigram appeared by saying 'X' where 'X' is the frequency."},{"role":"user","content":"The paintbrush was angry at the color the artist chose to use."}],"ideal":"0"}
|
evals/evals/registry/data/born_first/born_first.jsonl
ADDED
@@ -0,0 +1,122 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Abraham Lincoln born before Franklin Pierce? Answer Y or N."}], "ideal": "N"}
|
2 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Abraham Lincoln born before Andrew Johnson? Answer Y or N."}], "ideal": "N"}
|
3 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Andrew Jackson born before John Quincy Adams? Answer Y or N."}], "ideal": "Y"}
|
4 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Andrew Jackson born before William Harrison? Answer Y or N."}], "ideal": "Y"}
|
5 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Andrew Johnson born before Franklin Pierce? Answer Y or N."}], "ideal": "N"}
|
6 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Andrew Johnson born before Abraham Lincoln? Answer Y or N."}], "ideal": "Y"}
|
7 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Benjamin Harrison born before James Garfield? Answer Y or N."}], "ideal": "N"}
|
8 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Benjamin Harrison born before Chester A. Arthur? Answer Y or N."}], "ideal": "N"}
|
9 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Benjamin Harrison born before Grover Cleveland? Answer Y or N."}], "ideal": "Y"}
|
10 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Benjamin Harrison born before Grover Cleveland? Answer Y or N."}], "ideal": "Y"}
|
11 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Bill Clinton born before George W. Bush? Answer Y or N."}], "ideal": "N"}
|
12 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Bill Clinton born before Donald Trump? Answer Y or N."}], "ideal": "N"}
|
13 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Bill Clinton born before Joe Biden? Answer Y or N."}], "ideal": "N"}
|
14 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Calvin Coolidge born before Warren Harding? Answer Y or N."}], "ideal": "N"}
|
15 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Calvin Coolidge born before Herbert Hoover? Answer Y or N."}], "ideal": "Y"}
|
16 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Chester A. Arthur born before Ulysses S. Grant? Answer Y or N."}], "ideal": "N"}
|
17 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Chester A. Arthur born before Rutherford B. Hayes? Answer Y or N."}], "ideal": "N"}
|
18 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Chester A. Arthur born before James Garfield? Answer Y or N."}], "ideal": "Y"}
|
19 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Chester A. Arthur born before Grover Cleveland? Answer Y or N."}], "ideal": "Y"}
|
20 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Chester A. Arthur born before Benjamin Harrison? Answer Y or N."}], "ideal": "Y"}
|
21 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Chester A. Arthur born before Grover Cleveland? Answer Y or N."}], "ideal": "Y"}
|
22 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Donald Trump born before Bill Clinton? Answer Y or N."}], "ideal": "Y"}
|
23 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Donald Trump born before George W. Bush? Answer Y or N."}], "ideal": "Y"}
|
24 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Donald Trump born before Joe Biden? Answer Y or N."}], "ideal": "N"}
|
25 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Dwight Eisenhower born before Harry Truman? Answer Y or N."}], "ideal": "N"}
|
26 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Franklin Pierce born before Millard Fillmore? Answer Y or N."}], "ideal": "N"}
|
27 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Franklin Pierce born before Abraham Lincoln? Answer Y or N."}], "ideal": "Y"}
|
28 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Franklin Pierce born before Andrew Johnson? Answer Y or N."}], "ideal": "Y"}
|
29 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Franklin Roosevelt born before Herbert Hoover? Answer Y or N."}], "ideal": "N"}
|
30 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Franklin Roosevelt born before Harry Truman? Answer Y or N."}], "ideal": "Y"}
|
31 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was George H.W. Bush born before John F. Kennedy? Answer Y or N."}], "ideal": "N"}
|
32 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was George H.W. Bush born before Jimmy Carter? Answer Y or N."}], "ideal": "Y"}
|
33 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was George W. Bush born before Bill Clinton? Answer Y or N."}], "ideal": "Y"}
|
34 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was George W. Bush born before Donald Trump? Answer Y or N."}], "ideal": "N"}
|
35 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was George W. Bush born before Joe Biden? Answer Y or N."}], "ideal": "N"}
|
36 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was George Washington born before John Adams? Answer Y or N."}], "ideal": "Y"}
|
37 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Gerald Ford born before John F. Kennedy? Answer Y or N."}], "ideal": "Y"}
|
38 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Gerald Ford born before Lyndon Johnson? Answer Y or N."}], "ideal": "N"}
|
39 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Gerald Ford born before Richard Nixon? Answer Y or N."}], "ideal": "N"}
|
40 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Gerald Ford born before Ronald Reagan? Answer Y or N."}], "ideal": "N"}
|
41 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Grover Cleveland born before James Garfield? Answer Y or N."}], "ideal": "N"}
|
42 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Grover Cleveland born before James Garfield? Answer Y or N."}], "ideal": "N"}
|
43 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Grover Cleveland born before Chester A. Arthur? Answer Y or N."}], "ideal": "N"}
|
44 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Grover Cleveland born before Chester A. Arthur? Answer Y or N."}], "ideal": "N"}
|
45 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Grover Cleveland born before Benjamin Harrison? Answer Y or N."}], "ideal": "N"}
|
46 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Grover Cleveland born before Grover Cleveland? Answer Y or N."}], "ideal": "Y"}
|
47 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Grover Cleveland born before Grover Cleveland? Answer Y or N."}], "ideal": "N"}
|
48 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Grover Cleveland born before William McKinley? Answer Y or N."}], "ideal": "Y"}
|
49 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Grover Cleveland born before Benjamin Harrison? Answer Y or N."}], "ideal": "N"}
|
50 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Grover Cleveland born before William McKinley? Answer Y or N."}], "ideal": "Y"}
|
51 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Harry Truman born before Franklin Roosevelt? Answer Y or N."}], "ideal": "N"}
|
52 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Harry Truman born before Dwight Eisenhower? Answer Y or N."}], "ideal": "Y"}
|
53 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Herbert Hoover born before Calvin Coolidge? Answer Y or N."}], "ideal": "N"}
|
54 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Herbert Hoover born before Franklin Roosevelt? Answer Y or N."}], "ideal": "Y"}
|
55 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was James Buchanan born before John Tyler? Answer Y or N."}], "ideal": "N"}
|
56 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was James Buchanan born before James Polk? Answer Y or N."}], "ideal": "Y"}
|
57 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was James Buchanan born before Zachary Taylor? Answer Y or N."}], "ideal": "N"}
|
58 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was James Garfield born before Chester A. Arthur? Answer Y or N."}], "ideal": "N"}
|
59 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was James Garfield born before Grover Cleveland? Answer Y or N."}], "ideal": "Y"}
|
60 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was James Garfield born before Benjamin Harrison? Answer Y or N."}], "ideal": "Y"}
|
61 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was James Garfield born before Grover Cleveland? Answer Y or N."}], "ideal": "Y"}
|
62 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was James Madison born before Thomas Jefferson? Answer Y or N."}], "ideal": "N"}
|
63 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was James Madison born before James Monroe? Answer Y or N."}], "ideal": "Y"}
|
64 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was James Monroe born before James Madison? Answer Y or N."}], "ideal": "N"}
|
65 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was James Polk born before John Tyler? Answer Y or N."}], "ideal": "N"}
|
66 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was James Polk born before Millard Fillmore? Answer Y or N."}], "ideal": "Y"}
|
67 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was James Polk born before James Buchanan? Answer Y or N."}], "ideal": "N"}
|
68 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Jimmy Carter born before John F. Kennedy? Answer Y or N."}], "ideal": "N"}
|
69 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Jimmy Carter born before George H.W. Bush? Answer Y or N."}], "ideal": "N"}
|
70 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Joe Biden born before Bill Clinton? Answer Y or N."}], "ideal": "Y"}
|
71 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Joe Biden born before George W. Bush? Answer Y or N."}], "ideal": "Y"}
|
72 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Joe Biden born before Donald Trump? Answer Y or N."}], "ideal": "Y"}
|
73 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was John Adams born before George Washington? Answer Y or N."}], "ideal": "N"}
|
74 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was John Adams born before Thomas Jefferson? Answer Y or N."}], "ideal": "Y"}
|
75 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was John F. Kennedy born before Richard Nixon? Answer Y or N."}], "ideal": "N"}
|
76 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was John F. Kennedy born before Gerald Ford? Answer Y or N."}], "ideal": "N"}
|
77 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was John F. Kennedy born before Jimmy Carter? Answer Y or N."}], "ideal": "Y"}
|
78 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was John F. Kennedy born before Ronald Reagan? Answer Y or N."}], "ideal": "N"}
|
79 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was John F. Kennedy born before George H.W. Bush? Answer Y or N."}], "ideal": "Y"}
|
80 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was John Quincy Adams born before Andrew Jackson? Answer Y or N."}], "ideal": "N"}
|
81 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was John Quincy Adams born before William Harrison? Answer Y or N."}], "ideal": "Y"}
|
82 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was John Tyler born before Martin Van Buren? Answer Y or N."}], "ideal": "N"}
|
83 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was John Tyler born before James Polk? Answer Y or N."}], "ideal": "Y"}
|
84 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was John Tyler born before Zachary Taylor? Answer Y or N."}], "ideal": "N"}
|
85 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was John Tyler born before James Buchanan? Answer Y or N."}], "ideal": "Y"}
|
86 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Lyndon Johnson born before Richard Nixon? Answer Y or N."}], "ideal": "Y"}
|
87 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Lyndon Johnson born before Gerald Ford? Answer Y or N."}], "ideal": "Y"}
|
88 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Lyndon Johnson born before Ronald Reagan? Answer Y or N."}], "ideal": "Y"}
|
89 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Martin Van Buren born before John Tyler? Answer Y or N."}], "ideal": "Y"}
|
90 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Martin Van Buren born before Zachary Taylor? Answer Y or N."}], "ideal": "Y"}
|
91 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Millard Fillmore born before James Polk? Answer Y or N."}], "ideal": "N"}
|
92 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Millard Fillmore born before Franklin Pierce? Answer Y or N."}], "ideal": "Y"}
|
93 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Richard Nixon born before John F. Kennedy? Answer Y or N."}], "ideal": "Y"}
|
94 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Richard Nixon born before Lyndon Johnson? Answer Y or N."}], "ideal": "N"}
|
95 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Richard Nixon born before Gerald Ford? Answer Y or N."}], "ideal": "Y"}
|
96 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Richard Nixon born before Ronald Reagan? Answer Y or N."}], "ideal": "N"}
|
97 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Ronald Reagan born before John F. Kennedy? Answer Y or N."}], "ideal": "Y"}
|
98 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Ronald Reagan born before Lyndon Johnson? Answer Y or N."}], "ideal": "N"}
|
99 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Ronald Reagan born before Richard Nixon? Answer Y or N."}], "ideal": "Y"}
|
100 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Ronald Reagan born before Gerald Ford? Answer Y or N."}], "ideal": "Y"}
|
101 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Rutherford B. Hayes born before Ulysses S. Grant? Answer Y or N."}], "ideal": "N"}
|
102 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Rutherford B. Hayes born before Chester A. Arthur? Answer Y or N."}], "ideal": "Y"}
|
103 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Theodore Roosevelt born before William Taft? Answer Y or N."}], "ideal": "N"}
|
104 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Theodore Roosevelt born before Woodrow Wilson? Answer Y or N."}], "ideal": "N"}
|
105 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Theodore Roosevelt born before Warren Harding? Answer Y or N."}], "ideal": "Y"}
|
106 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Thomas Jefferson born before John Adams? Answer Y or N."}], "ideal": "N"}
|
107 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Thomas Jefferson born before James Madison? Answer Y or N."}], "ideal": "Y"}
|
108 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Ulysses S. Grant born before Rutherford B. Hayes? Answer Y or N."}], "ideal": "Y"}
|
109 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Ulysses S. Grant born before Chester A. Arthur? Answer Y or N."}], "ideal": "Y"}
|
110 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Warren Harding born before Theodore Roosevelt? Answer Y or N."}], "ideal": "N"}
|
111 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Warren Harding born before Calvin Coolidge? Answer Y or N."}], "ideal": "Y"}
|
112 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was William Harrison born before John Quincy Adams? Answer Y or N."}], "ideal": "N"}
|
113 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was William Harrison born before Andrew Jackson? Answer Y or N."}], "ideal": "N"}
|
114 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was William McKinley born before Grover Cleveland? Answer Y or N."}], "ideal": "N"}
|
115 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was William McKinley born before Grover Cleveland? Answer Y or N."}], "ideal": "N"}
|
116 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was William Taft born before Theodore Roosevelt? Answer Y or N."}], "ideal": "Y"}
|
117 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was William Taft born before Woodrow Wilson? Answer Y or N."}], "ideal": "N"}
|
118 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Woodrow Wilson born before Theodore Roosevelt? Answer Y or N."}], "ideal": "Y"}
|
119 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Woodrow Wilson born before William Taft? Answer Y or N."}], "ideal": "Y"}
|
120 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Zachary Taylor born before Martin Van Buren? Answer Y or N."}], "ideal": "N"}
|
121 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Zachary Taylor born before John Tyler? Answer Y or N."}], "ideal": "Y"}
|
122 |
+
{"input": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Was Zachary Taylor born before James Buchanan? Answer Y or N."}], "ideal": "Y"}
|
evals/evals/registry/data/bulgarian-lexicon/samples.jsonl
ADDED
The diff for this file is too large to render.
See raw diff
|
|
evals/evals/registry/data/chess/match.jsonl
ADDED
@@ -0,0 +1,101 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 2r3k1/p1q2ppp/1p3n2/1Q2p3/2P5/6P1/P4PKP/3R4 Possible Moves: A: f4, B: Rd2, C: Kg1, D: Qb2 Answer only with the letter of the beset move."}], "ideal": "D"}
|
2 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r1bq1rk1/pp5p/3pp1p1/2p1b2p/2P1P2P/3PQ3/PP3P2/RNB2RK1 Possible Moves: A: h8, B: Qxh4, C: Kg7, D: Bxb2 Answer only with the letter of the beset move."}], "ideal": "B"}
|
3 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: r12k5/4b3/1p4p1/p3P2p/PP3P1P/2P2KP1/8/8 Possible Moves: A: Ke4, B: g4, C: c3, D: bxa Answer only with the letter of the beset move."}], "ideal": "D"}
|
4 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 4r1k1/5pp1/2Nq3p/3PnQ2/8/6PP/5P2/3R2K1 Possible Moves: A: Qf4, B: Kh1, C: Nxe5, D: Rd3 Answer only with the letter of the beset move."}], "ideal": "A"}
|
5 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r3r1k1/p2QBp2/1p4pp/2p1b3/2q1P3/P1P5/1P3PPP/3RR1K1 Possible Moves: A: Qxe8, B: Kh1, C: Qb3, D: Rd3 Answer only with the letter of the beset move."}], "ideal": "C"}
|
6 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: 4rqk1/ppp2pp1/5nnp/2b1r3/4N3/P1P2Q1P/1PB2PP1/R1B1R1K1 Possible Moves: A: Nh4, B: R5e6, C: Bxh6, D: Rd1 Answer only with the letter of the beset move."}], "ideal": "A"}
|
7 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: r3k2r/1b2ppb1/pq1p3p/1pn4P/4P1n1/P1NBBN2/1PP1Q1P1/3R1RK1 Possible Moves: A: Nd5, B: Bxc5, C: g3, D: Bd4 Answer only with the letter of the beset move."}], "ideal": "D"}
|
8 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: 2r2bkr/p5p1/1q2pBpp/2p1P3/2Pp1R2/5Q2/PP3PPP/R5K1 Possible Moves: A: Kh7, B: gxf6, C: g3, D: Qe3 Answer only with the letter of the beset move."}], "ideal": "B"}
|
9 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: 2r2bkr/p7/1q2pRpp/2p1P3/2Pp4/5Q2/PP3PPP/R5K1 Possible Moves: A: Qxb2, B: Bg7, C: Rh7, D: a6 Answer only with the letter of the beset move."}], "ideal": "C"}
|
10 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: 2r4r/p4Qbk/1q2p1Rp/2p1P3/2Pp4/8/PP3PPP/R5K1 Possible Moves: A: Rhg8, B: a6, C: h5, D: d3 Answer only with the letter of the beset move."}], "ideal": "A"}
|
11 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r5k1/4ppb1/p2p3p/1p5P/1P6/P1R2N2/2P2KP1/8 Possible Moves: A: Rd8, B: Bh8, C: h5, D: Bxc3 Answer only with the letter of the beset move."}], "ideal": "D"}
|
12 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: r3r1k1/4ppb1/pn1p3p/1p1P3P/1P6/P2B1N2/2P3P1/3RR1K1 Possible Moves: A: Kf1, B: Be4, C: a4, D: Ra1 Answer only with the letter of the beset move."}], "ideal": "B"}
|
13 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: r1bqkbnr/pp3ppp/2n1p3/3pP3/3p4/2P2N2/PP3PPP/RNBQKB1R Possible Moves: A: cxd4, B: h3, C: a3, D: Qd2 Answer only with the letter of the beset move."}], "ideal": "A"}
|
14 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: 2r1k2r/1p2bppp/pq2p3/1B1pPn2/1n1P2P1/P4N2/5P1P/RQB1K2R Possible Moves: A: Qxb5, B: Nc6, C: Kf8, D: Qd2 Answer only with the letter of the beset move."}], "ideal": "A"}
|
15 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 2QR4/p4ppk/1p3n2/4p2p/q7/6P1/5PKP/8 Possible Moves: A: Qf5, B: Qc3, C: h4, D: f3 Answer only with the letter of the beset move."}], "ideal": "A"}
|
16 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: rnbqkb1r/pp2pppp/5n2/3P4/Q7/8/PP1P1PPP/RNB1KBNR Possible Moves: A: Bc3, B: Nfd7, C: Nbd7, D: b5 Answer only with the letter of the beset move."}], "ideal": "C"}
|
17 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 3rr1k1/pq3ppp/1p4nb/2pp1B1N/b2P2QP/P3P1B1/1P3PP1/3R1RK1 Possible Moves: A: Rb1, B: b3, C: Nxg7, D: Qxg6 Answer only with the letter of the beset move."}], "ideal": "A"}
|
18 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: 3rr1k1/p1R1nppp/qp5b/1b1p3N/3Q3P/P3P1B1/1P3PP1/1BR3K1 Possible Moves: A: Qc8, B: Qa4, C: Bd7, D: Ng6 Answer only with the letter of the beset move."}], "ideal": "B"}
|
19 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "white to move FEN: rnbq1rk1/ppp1ppbp/6p1/8/3PP3/2P2N2/P4PPP/R1BQKB1R Possible Moves: A: Be2, B: a3, C: h3, D: Ke2 Answer only with the letter of the beset move."}], "ideal": "A"}
|
20 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r1bq1rk1/pp1nbppp/3p2n1/2pP4/8/1PN3P1/PB2NPBP/R2Q1RK1 Possible Moves: A: Re8, B: a6, C: h6, D: f6 Answer only with the letter of the beset move."}], "ideal": "A"}
|
21 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: 5r2/ppp1p2k/4B1p1/4B2p/8/2P5/P5PP/5RK1 Possible Moves: A: Rxf1, B: Rd8, C: Rg8, D: Rh8 Answer only with the letter of the beset move."}], "ideal": "A"}
|
22 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: 6rr/pk6/1pp3b1/2n1p1Bn/1PP3pP/2N5/P4PB1/2KR3R Possible Moves: A: Nd3+, B: Rf8, C: Rf7, D: Rf8 Answer only with the letter of the beset move."}], "ideal": "A"}
|
23 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r1bqkb1r/pppp1ppp/5nn1/3P4/2P1Pp2/2N2N2/PP4PP/R1BQKB1R Possible Moves: A: Bc5, B: Bb4, C: fxe3, D: h6 Answer only with the letter of the beset move."}], "ideal": "A"}
|
24 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r1bqkb1r/ppppnppp/5n2/3P4/2P2p2/2N2N2/PP2P1PP/R1BQKB1R b KQkq - 1 6 Possible Moves: A: d6, B: b5, C: a6, D: Ng6 Answer only with the letter of the beset move."}], "ideal": "D"}
|
25 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: r1bqkb1r/pppp1ppp/5nn1/3P4/2P2p2/2N2N2/PP2P1PP/R1BQKB1R Possible Moves: A: Qb3, B: e3, C: a6, D: Bb4 Answer only with the letter of the beset move."}], "ideal": "B"}
|
26 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: r1b2rk1/pppp1ppp/6n1/3P4/2P2q2/2P2B1P/P2Q2P1/R4K1R Possible Moves: A: Ke1, B: Qxf4, C: Kg1, D: g3 Answer only with the letter of the beset move."}], "ideal": "B"}
|
27 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: r1bqkbnr/pp1p1ppp/6n1/2pPp3/4PP2/2N5/PPP3PP/R1BQKBNR Possible Moves: A: d6, B: f5, C: h4, D: fxe5 Answer only with the letter of the beset move."}], "ideal": "A"}
|
28 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR Possible Moves: A: e4, B: h4, C: g4, D: Nh3 Answer only with the letter of the beset move."}], "ideal": "A"}
|
29 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r7/1b1k2q1/p1p5/1pb5/4Q3/8/PPP2P2/1K1R4 Possible Moves: A: Qd4, B: Bd4, C: Kc8, D: Kc7 Answer only with the letter of the beset move."}], "ideal": "D"}
|
30 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: 2rqr3/1b3pbk/pp2p1np/3pP1P1/3P4/4QNP1/PP3PN1/R1R2BK1 Possible Moves: A: hxg5, B: Rc4, C: Rh8, D: h5 Answer only with the letter of the beset move."}], "ideal": "A"}
|
31 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r3kr2/ppp1q1b1/3npn2/7p/2P1N1pB/1PN3P1/P1Q3BP/3R1RK1 Possible Moves: A: Bh6, B: a6, C: Rd8, D: O-O-O Answer only with the letter of the beset move."}], "ideal": "D"}
|
32 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: 2kr1r2/ppp1q1b1/4pn2/2P4p/4N1pB/1P4P1/P1Q3BP/3R1RK1 Possible Moves: A: Rxd1, B: Rd7, C: Rd5, D: Rd2 Answer only with the letter of the beset move."}], "ideal": "A"}
|
33 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 2kr4/ppq5/2p1pB2/2P4p/6p1/1P4P1/P1Q3BP/5RK1 Possible Moves: A: Bxd8, B: Qe4, C: Qc4 Answer only with the letter of the beset move."}], "ideal": "A"}
|
34 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: r7/pb2R3/1p3pkp/2p3p1/2Pp4/PP1N1P2/2P3PP/6K1 Possible Moves: A: Kf2, B: h3, C: Rxb7 Answer only with the letter of the beset move."}], "ideal": "C"}
|
35 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 8/pR6/1p3pkp/2p3p1/2Pp4/PP1N1P2/2P1rKPP/8 Possible Moves: A: Kg1, B: Kg3, C: Kxe2 Answer only with the letter of the beset move."}], "ideal": "C"}
|
36 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r7/pR6/1p3pkp/2p3p1/2Pp4/PP1N1P2/2P3PP/6K1 Possible Moves: A: a6, B: h5, C: a5 Answer only with the letter of the beset move."}], "ideal": "B"}
|
37 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r3r3/pb3pkp/1p3np1/2p3B1/2Pp4/PP1N4/2P2PPP/R3R1K1 Possible Moves: A: Ne4, B: a6, C: a5 Answer only with the letter of the beset move."}], "ideal": "A"}
|
38 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: rnbqkb1r/pp2pp1p/2p2np1/3p4/2P5/1P3NP1/P2PPP1P/RNBQKB1R Possible Moves: A: Bb2, B: e3, C: h3 Answer only with the letter of the beset move."}], "ideal": "A"}
|
39 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: rnbqk2r/p1p1npbp/1p1pp1p1/8/3P4/4PNP1/PPP2PBP/RNBQ1RK1 Possible Moves: A: c4, B: Re1, C: e4 Answer only with the letter of the beset move."}], "ideal": "A"}
|
40 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 2rq1r2/1b1nnpbk/pp2p1pp/3pP3/3P4/4BNPP/PPNQ1PB1/R3R1K1 Possible Moves: A: Bf4, B: Rad1, C: Qd1 Answer only with the letter of the beset move."}], "ideal": "A"}
|
41 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 2rq1r2/1b1n1pbk/pp2p1pp/3pP3/3P4/4nNPP/PP1Q1PB1/R1R1N1K1 Possible Moves: A: Rxc8, B: Nd3, C: h4 Answer only with the letter of the beset move."}], "ideal": "A"}
|
42 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 2r1r1k1/1b3p2/pp2p1qb/3pP3/3P1P2/4Q1P1/PP6/R1R2BK1 Possible Moves: A: Re1, B: b3, C: Bd3 Answer only with the letter of the beset move."}], "ideal": "A"}
|
43 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 2r4r/1b2kpq1/p3p3/1p1pPP1R/3P4/3Bb1P1/PP3K2/7R Possible Moves: A: Kf3, B: Kf1, C: Ke2 Answer only with the letter of the beset move."}], "ideal": "A"}
|
44 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 7r/1b3p2/p3pk2/1p1p3R/3P4/3BK1P1/PP6/8 Possible Moves: A: Re5, B: Rh7, C: Rxh8 Answer only with the letter of the beset move."}], "ideal": "C"}
|
45 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 8/3bkp2/pR2p3/3p4/Pp1P4/3BK1P1/1P6/8 Possible Moves: A: b3, B: Rxb4, C: Rb7 Answer only with the letter of the beset move."}], "ideal": "C"}
|
46 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: r3r1k1/pp3ppp/8/2Q5/4p1Pq/1P1RP2P/P4PB1/4n1K1 Possible Moves: A: Rd5, B: Rd4, C: Rd7 Answer only with the letter of the beset move."}], "ideal": "C"}
|
47 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: rnbqkb1r/ppp2ppp/4pn2/3p4/3PP3/5N2/PPP2PPP/RNBQKB1R Possible Moves: A: Be3, B: e5, C: Nc3 Answer only with the letter of the beset move."}], "ideal": "B"}
|
48 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: rnbqkb1r/pp1n1ppp/4p3/3pP3/3p4/2PB1N2/PP3PPP/RNBQK2R Possible Moves: A: Bf4, B: cxd4, C: Bg5 Answer only with the letter of the beset move."}], "ideal": "B"}
|
49 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r1bqk2r/pp1n1ppp/2n1p3/3pP3/3P4/1PbB1N2/P2B1PPP/R2QK2R Possible Moves: A: Ba5, B: Bxa1, C: Bb4 Answer only with the letter of the beset move."}], "ideal": "B"}
|
50 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r1bq1rk1/1p3ppp/p3p3/3pP3/P1n5/3B3Q/5PPP/2R2RK1 Possible Moves: A: Re8, B: h6, C: f5 Answer only with the letter of the beset move."}], "ideal": "B"}
|
51 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r2q1rk1/1p1b1p1p/p3p1p1/4P3/P6R/7Q/5PPP/5RK1 Possible Moves: A: Qg5, B: Qc7, C: Qb8 Answer only with the letter of the beset move."}], "ideal": "B"}
|
52 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r3r1k1/3Q2pp/1p2p3/4Pp2/1pP1b3/1P6/P4PPP/3R1BK1 Possible Moves: A: Kh8, B: f4, C: Rxa2 Answer only with the letter of the beset move."}], "ideal": "B"}
|
53 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r3r1k1/6pp/1p2p3/1Q2Pb2/1pP2p2/1P3P2/P5PP/3R1BK1 Possible Moves: A: Reb8, B: Rxa2, C: Re7 Answer only with the letter of the beset move."}], "ideal": "A"}
|
54 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: 6k1/6pp/4p3/2P1Pb2/1Q3p2/1P3P1P/r5P1/5BK1 Possible Moves: A: Ra1, B: Rxa2, C: h6 Answer only with the letter of the beset move."}], "ideal": "A"}
|
55 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: 8/6pp/2PQp1k1/4Pb2/5p2/1P3P1P/r5P1/5BK1 Possible Moves: A: Kh6, B: Ra8, C: Kh5 Answer only with the letter of the beset move."}], "ideal": "A"}
|
56 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: rnbqkb1r/pp3ppp/4pn2/3p2B1/2PN4/2N5/PP2PPPP/R2QKB1R Possible Moves: A: e5, B: Bc5, C: h6 Answer only with the letter of the beset move."}], "ideal": "A"}
|
57 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r1bqk2r/pp2bpp1/2N1pn1p/3p4/2P4B/2N1P3/PP3PPP/R2QKB1R Possible Moves: A: e5, B: Qd7, C: bxc6 Answer only with the letter of the beset move."}], "ideal": "C"}
|
58 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r3r1k1/3Q2pp/1p2p3/4P3/1pP1bp2/1P3P2/P5PP/3R1BK1 Possible Moves: A: Kc8, B: h6, C: Bf5 Answer only with the letter of the beset move."}], "ideal": "C"}
|
59 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: 6k1/6pp/4p3/4Pb2/1QP2p2/1P3P1P/P2r2P1/5BK1 Possible Moves: A: Rd1, B: h6, C: Rxa2 Answer only with the letter of the beset move."}], "ideal": "C"}
|
60 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: 6k1/6pp/4p3/4Pb2/1QP2p2/1P3P1P/P2r2P1/5BK1 Possible Moves: A: Rd3, B: Rd7, C: Rd1 Answer only with the letter of the beset move."}], "ideal": "C"}
|
61 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: rnbqkb1r/ppp2ppp/4pn2/3p4/3P4/3BPN2/PPP2PPP/RNBQK2R Possible Moves: A: a6, B: b6, C: c5 Answer only with the letter of the beset move."}], "ideal": "C"}
|
62 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: rnbq1rk1/p1p1bppp/1p2pn2/3p4/3P4/1P1BPN2/PBP2PPP/RN1Q1RK1 Possible Moves: A: a6, B: Nbd7, C: c5 Answer only with the letter of the beset move."}], "ideal": "B"}
|
63 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r2q1rk1/pbpnbppp/1p2pn2/3pN3/3P4/1P1BP3/PBPN1PPP/R2Q1RK1 Possible Moves: A: Rc8, B: a5, C: a6 Answer only with the letter of the beset move."}], "ideal": "B"}
|
64 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r2q1rk1/pb2bppp/1p2pn2/3pP3/3P4/1P1B4/PBPN2PP/R2Q1RK1 Possible Moves: A: a6, B: Ne4, C: a5 Answer only with the letter of the beset move."}], "ideal": "B"}
|
65 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r2q1rk1/pb2bppp/1p2p3/4P3/3Pp3/1P6/PBP1B1PP/R2Q1RK1 Possible Moves: A: a6, B: Bg5, C: a5 Answer only with the letter of the beset move."}], "ideal": "B"}
|
66 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: 5rk1/p5pp/1pb1p3/4P3/2P3PP/PP6/1B6/6K1 Possible Moves: A: Rf7, B: Rf4, C: Bb7 Answer only with the letter of the beset move."}], "ideal": "B"}
|
67 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: rnbqkbnr/2p1pppp/p7/1p6/8/2N1PN2/PP1P1PPP/R1BQKB1R Possible Moves: A: d4, B: b4, C: Ne4 Answer only with the letter of the beset move."}], "ideal": "A"}
|
68 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: rnbqk2r/ppp2pp1/3bpn1p/8/2pP4/2N2N2/PP1BPPPP/R2QKB1R Possible Moves: A: d4, B: e4, C: Rc1 Answer only with the letter of the beset move."}], "ideal": "A"}
|
69 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: r4rk1/1p4p1/p1nqp2p/3p1pn1/3P4/1BB1Pb1P/PPR2PP1/2RQ3K Possible Moves: A: gxf3, B: Qf1, C: Qg1 Answer only with the letter of the beset move."}], "ideal": "A"}
|
70 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 6nk/1p4q1/p3p2p/3p1p1Q/3P1Pr1/1BB1P3/PP5R/7K Possible Moves: A: Qg7, B: Qg6, C: Rg2 Answer only with the letter of the beset move."}], "ideal": "A"}
|
71 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: r1b2rk1/1pp1qpp1/p1nbpn1p/1N6/2BP4/4PN1P/PP1B1PP1/R2QK2R Possible Moves: A: Qg7, B: Nc3, C: Nxd6 Answer only with the letter of the beset move."}], "ideal": "C"}
|
72 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 6nk/1p2q3/p3p2p/3p1p1Q/3P1Pr1/1BB1P3/PPR5/7K Possible Moves: A: Ba5, B: Nc3, C: Be1 Answer only with the letter of the beset move."}], "ideal": "C"}
|
73 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: r4r1k/2R5/7p/pp4b1/3P4/1PP4P/P7/4R2K Possible Moves: A: Ba5, B: Re2, C: Re4 Answer only with the letter of the beset move."}], "ideal": "C"}
|
74 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 8/2k5/2P4p/p2Pb3/r7/4K2P/2R5/8 Possible Moves: A: h4, B: Re2, C: Rg2 Answer only with the letter of the beset move."}], "ideal": "C"}
|
75 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: 8/2k5/2P4K/1r5P/8/8/pbR5/8 Possible Moves: A: h4, B: Rb6, C: a1=Q Answer only with the letter of the beset move."}], "ideal": "C"}
|
76 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 4r1k1/2qb2p1/p4n1p/1pb5/2pQ3B/2N4P/PPP2PP1/4R1K1 Possible Moves: A: h4, B: Qe4, C: Rxe8 Answer only with the letter of the beset move."}], "ideal": "C"}
|
77 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 4r3/1rq1pk1p/pp1pRnp1/2pP4/2P2Pp1/2P2B1P/P3Q3/4R1K1 Possible Moves: A: Be4, B: hxg4, C: Rxe8 Answer only with the letter of the beset move."}], "ideal": "B"}
|
78 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 6k1/4R1P1/3p4/3P1K2/2P5/1p6/8/8 Possible Moves: A: Ke6, B: axb3, C: Rxe8 Answer only with the letter of the beset move."}], "ideal": "B"}
|
79 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r2q1rk1/ppp3bp/3nP1p1/8/5B2/6P1/P5BP/1R1Q1R1K Possible Moves: A: Kh8, B: Rb8, C: Rxe8 Answer only with the letter of the beset move."}], "ideal": "B"}
|
80 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: rnbqk2r/ppp1ppbp/3p1np1/8/2PP4/2N3P1/PP2PPBP/R1BQK1NR Possible Moves: A: Nbd7, B: O-O, C: a6 Answer only with the letter of the beset move."}], "ideal": "B"}
|
81 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r1bq1rk1/ppp1n1bp/3p1np1/3Ppp2/2P1PP2/2N1B1P1/PP1N2BP/R2Q1RK1 Possible Moves: A: Nbd7, B: Ng4, C: fxe4 Answer only with the letter of the beset move."}], "ideal": "B"}
|
82 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r1bq1rk1/ppp1n1bp/3p2p1/3Pp3/2P1NP2/4B1P1/PP4BP/R2Q1RK1 Possible Moves: A: Nbd7, B: Nf5, C: fxe4 Answer only with the letter of the beset move."}], "ideal": "B"}
|
83 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: 3q1rk1/1b4p1/p3B2p/1pp5/3p1PP1/P2P4/1PP4P/4RQK1 Possible Moves: A: Nbd7, B: Kh8, C: Rf7 Answer only with the letter of the beset move."}], "ideal": "B"}
|
84 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: 5r1k/1b4p1/p3B2p/1pp2P2/3p2Pq/P2P3P/1PP5/4RQK1 Possible Moves: A: a5, B: Qg3, C: Rf7 Answer only with the letter of the beset move."}], "ideal": "B"}
|
85 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: 3Brrk1/1b4p1/p3pq1p/1pp3N1/3p1PP1/P2P4/BPP4P/4RQK1 Possible Moves: A: a5, B: Qxd8, C: Rf7 Answer only with the letter of the beset move."}], "ideal": "B"}
|
86 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "Black to move FEN: r1bqkb1r/pp3ppp/2n1p3/2pnP3/2Bp1P2/P2P1N2/1PP3PP/RNBQ1RK1 Possible Moves: A: h6, B: a6, C: a5 Answer only with the letter of the beset move."}], "ideal": "B"}
|
87 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: r1bqk2r/1p2bppp/p1n1p3/2p1P3/2Bp1P2/P2P1N2/1PPN2PP/R1B2QK1 Possible Moves: A: Qe1, B: a6, C: Qe2 Answer only with the letter of the beset move."}], "ideal": "A"}
|
88 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 4rrk1/1b4pp/p1n1pq2/1pp5/3p1PP1/P2P1N2/BPPB3P/4RQK1 Possible Moves: A: Ng5, B: f5, C: Qe2 Answer only with the letter of the beset move."}], "ideal": "A"}
|
89 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 5r1k/1b4p1/p3B2p/1pp2P2/3p2Pq/P2P4/1PP4P/4RQK1 Possible Moves: A: Qf2, B: Rd1, C: Qe2 Answer only with the letter of the beset move."}], "ideal": "A"}
|
90 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: rn1qk3/6b1/1ppPb3/p1P3PR/3pNQ2/6P1/PP4P1/2KR4 Possible Moves: A: Rh7, B: Rd1, C: Rh6 Answer only with the letter of the beset move."}], "ideal": "A"}
|
91 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 8/8/n1p5/p1pk4/3p2Q1/6P1/PP4P1/2KR4 Possible Moves: A: Qd7, B: Rd1, C: Qh3 Answer only with the letter of the beset move."}], "ideal": "A"}
|
92 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: rn1qk2r/3b2b1/1ppPp3/p1P3Pp/3PN3/6P1/PP1Q2P1/2KR1B1R Possible Moves: A: Qf4, B: Rd1, C: Bc4 Answer only with the letter of the beset move."}], "ideal": "A"}
|
93 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: r7/3k1P2/n1pPb3/p1p5/3p1Q2/6P1/PP4P1/2KR4 Possible Moves: A: f8=Q, B: Rd1, C: Re1 Answer only with the letter of the beset move."}], "ideal": "A"}
|
94 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 1r1q1rk1/1p2bpp1/1Nnpbn2/4p2p/2P1P3/3P1PP1/4N1BP/1RBQ1RK1 Possible Moves: A: f8=Q, B: f4, C: Rb2 Answer only with the letter of the beset move."}], "ideal": "B"}
|
95 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 1r1q1rk1/1p2bpp1/1Nnpbn2/8/2P1PN1p/3P2P1/6BP/1RBQ1RK1 Possible Moves: A: Nxe6, B: f4, C: Rb2 Answer only with the letter of the beset move."}], "ideal": "A"}
|
96 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 1r1q2k1/1p2b1pn/1N1pp3/4n1P1/2P1P2p/3P3B/7P/1RBQ1rK1 Possible Moves: A: Kxf1, B: Kg2, C: Bxf1 Answer only with the letter of the beset move."}], "ideal": "A"}
|
97 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 2k5/3R2K1/3p1N2/5P2/2P5/6bp/8/8 Possible Moves: A: Kf8, B: Kg2, C: Re7 Answer only with the letter of the beset move."}], "ideal": "A"}
|
98 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 2k5/3R2K1/3p4/5P2/2P5/8/7b/8 Possible Moves: A: Re7, B: Rxc7, C: Re7 Answer only with the letter of the beset move."}], "ideal": "A"}
|
99 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: 2rr4/2qnbkp1/pp1p1n1p/8/2P5/1PNB1b1P/P3QPPB/2R2RK1 Possible Moves: A: gxf3, B: Qc2, C: Qe1 Answer only with the letter of the beset move."}], "ideal": "A"}
|
100 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: rn1qk2r/pp2ppbp/2p2np1/4P3/2B2Qb1/2N5/PPP2PPP/R1B1K1NR Possible Moves: A: Nbd7, B: Qa5, C: h5 Answer only with the letter of the beset move."}], "ideal": "A"}
|
101 |
+
{"input": [{"role": "system", "content": "TASK: Read the chess position provided in FEN-notation, then identify the best move to the board position below, in the format A. Your answer should only contain the letter of the correct move. Do not provide any further explanation."}, {"role": "user", "content": "White to move FEN: rn2k2r/pp2ppPp/2p5/6Q1/2q3b1/2N5/PPP2PPP/R1B1K1NR Possible Moves: A: Rg8, B: Qd4, C: Qxc3 Answer only with the letter of the beset move."}], "ideal": "A"}
|
evals/evals/registry/data/chess_piece_count/fuzzy_match.jsonl
ADDED
The diff for this file is too large to render.
See raw diff
|
|
evals/evals/registry/data/complex_replace_characters/samples.jsonl
ADDED
@@ -0,0 +1,100 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"a\" character is encountered, replace it with \"z\". 2) if \"e\" character is encountered, replace it with \"y\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How zry you?", "name": "example_assistant"}, {"role": "user", "content": "Hello! How are you?"}], "ideal": ["Hyllo! How zry you?"]}
|
2 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"a\" character is encountered, replace it with \"z\". 2) if \"e\" character is encountered, replace it with \"y\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How zry you?", "name": "example_assistant"}, {"role": "user", "content": "Let's sit down and enjoy some wine. After all, life is short!"}], "ideal": ["Lyt's sit down znd ynjoy somy winy. Aftyr zll, lify is short!"]}
|
3 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"a\" character is encountered, replace it with \"z\". 2) if \"e\" character is encountered, replace it with \"y\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How zry you?", "name": "example_assistant"}, {"role": "user", "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."}], "ideal": ["Lorym ipsum dolor sit zmyt, consyctytur zdipiscing ylit, syd do yiusmod tympor incididunt ut lzbory yt dolory mzgnz zliquz."]}
|
4 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"a\" character is encountered, replace it with \"z\". 2) if \"e\" character is encountered, replace it with \"y\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How zry you?", "name": "example_assistant"}, {"role": "user", "content": "Wikipedia is hosted by the Wikimedia Foundation, a non-profit organization that also hosts a range of other projects."}], "ideal": ["Wikipydiz is hostyd by thy Wikimydiz Foundztion, z non-profit orgznizztion thzt zlso hosts z rzngy of othyr projycts."]}
|
5 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"a\" character is encountered, replace it with \"z\". 2) if \"e\" character is encountered, replace it with \"y\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How zry you?", "name": "example_assistant"}, {"role": "user", "content": "Joe and I updated the QA sheet last night. Huge huge props to everyone - it's literally night and day compared to last week!"}], "ideal": ["Joy znd I updztyd thy QA shyyt lzst night. Hugy hugy props to yvyryony - it's lityrzlly night znd dzy compzryd to lzst wyyk!"]}
|
6 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"a\" character is encountered, replace it with \"z\". 2) if \"e\" character is encountered, replace it with \"y\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How zry you?", "name": "example_assistant"}, {"role": "user", "content": "If you live to be a hundred, I hope I live to be a hundred minus one day, so that I never have to live a day without you."}], "ideal": ["If you livy to by z hundryd, I hopy I livy to by z hundryd minus ony dzy, so thzt I nyvyr hzvy to livy z dzy without you."]}
|
7 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"a\" character is encountered, replace it with \"z\". 2) if \"e\" character is encountered, replace it with \"y\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How zry you?", "name": "example_assistant"}, {"role": "user", "content": "Doing nothing is very hard to do. You never know when you're finished."}], "ideal": ["Doing nothing is vyry hzrd to do. You nyvyr know whyn you'ry finishyd."]}
|
8 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"a\" character is encountered, replace it with \"z\". 2) if \"e\" character is encountered, replace it with \"y\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How zry you?", "name": "example_assistant"}, {"role": "user", "content": "Defeating traffic is the ultimate boss battle. Even the most powerful humans in the world cannot defeat traffic."}], "ideal": ["Dyfyzting trzffic is thy ultimzty boss bzttly. Evyn thy most powyrful humzns in thy world cznnot dyfyzt trzffic."]}
|
9 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"a\" character is encountered, replace it with \"z\". 2) if \"e\" character is encountered, replace it with \"y\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How zry you?", "name": "example_assistant"}, {"role": "user", "content": "GitHub Codespaces offers a complete dev environment in seconds, so you can code, build, test, and open pull requests from any repo anywhere."}], "ideal": ["GitHub Codyspzcys offyrs z complyty dyv ynvironmynt in syconds, so you czn cody, build, tyst, znd opyn pull ryquysts from zny rypo znywhyry."]}
|
10 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"a\" character is encountered, replace it with \"z\". 2) if \"e\" character is encountered, replace it with \"y\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How zry you?", "name": "example_assistant"}, {"role": "user", "content": "Have you heard of the movie, Constipated? It's not out yet."}], "ideal": ["Hzvy you hyzrd of thy moviy, Constipztyd? It's not out yyt."]}
|
11 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"i\" character is encountered, replace it with \"x\". 2) if \"o\" character is encountered, replace it with \"m\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "Hmw are ymu?", "name": "example_assistant"}, {"role": "user", "content": "Hello! How are you?"}], "ideal": ["Hellm! Hmw are ymu?"]}
|
12 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"i\" character is encountered, replace it with \"x\". 2) if \"o\" character is encountered, replace it with \"m\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "Hmw are ymu?", "name": "example_assistant"}, {"role": "user", "content": "Let's sit down and enjoy some wine. After all, life is short!"}], "ideal": ["Let's sxt dmwn and enjmy smme wxne. After all, lxfe xs shmrt!"]}
|
13 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"i\" character is encountered, replace it with \"x\". 2) if \"o\" character is encountered, replace it with \"m\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "Hmw are ymu?", "name": "example_assistant"}, {"role": "user", "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."}], "ideal": ["Lmrem xpsum dmlmr sxt amet, cmnsectetur adxpxscxng elxt, sed dm exusmmd tempmr xncxdxdunt ut labmre et dmlmre magna alxqua."]}
|
14 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"i\" character is encountered, replace it with \"x\". 2) if \"o\" character is encountered, replace it with \"m\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "Hmw are ymu?", "name": "example_assistant"}, {"role": "user", "content": "Wikipedia is hosted by the Wikimedia Foundation, a non-profit organization that also hosts a range of other projects."}], "ideal": ["Wxkxpedxa xs hmsted by the Wxkxmedxa Fmundatxmn, a nmn-prmfxt mrganxzatxmn that alsm hmsts a range mf mther prmjects."]}
|
15 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"i\" character is encountered, replace it with \"x\". 2) if \"o\" character is encountered, replace it with \"m\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "Hmw are ymu?", "name": "example_assistant"}, {"role": "user", "content": "Sally and I updated the QA sheet this morning. Huge huge props to everyone - it's literally night and day compared to yesterday!"}], "ideal": ["Sally and I updated the QA sheet thxs mmrnxng. Huge huge prmps tm everymne - xt's lxterally nxght and day cmmpared tm yesterday!"]}
|
16 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"i\" character is encountered, replace it with \"x\". 2) if \"o\" character is encountered, replace it with \"m\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "Hmw are ymu?", "name": "example_assistant"}, {"role": "user", "content": "If you live to be a hundred, I hope I live to be a hundred minus one day, so that I never have to live a day without you."}], "ideal": ["If ymu lxve tm be a hundred, I hmpe I lxve tm be a hundred mxnus mne day, sm that I never have tm lxve a day wxthmut ymu."]}
|
17 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"i\" character is encountered, replace it with \"x\". 2) if \"o\" character is encountered, replace it with \"m\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "Hmw are ymu?", "name": "example_assistant"}, {"role": "user", "content": "Doing nothing is very hard to do. You never know when you're finished."}], "ideal": ["Dmxng nmthxng xs very hard tm dm. Ymu never knmw when ymu're fxnxshed."]}
|
18 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"i\" character is encountered, replace it with \"x\". 2) if \"o\" character is encountered, replace it with \"m\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "Hmw are ymu?", "name": "example_assistant"}, {"role": "user", "content": "Defeating traffic is the ultimate boss battle. Even the most powerful humans in the world cannot defeat traffic."}], "ideal": ["Defeatxng traffxc xs the ultxmate bmss battle. Even the mmst pmwerful humans xn the wmrld cannmt defeat traffxc."]}
|
19 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"i\" character is encountered, replace it with \"x\". 2) if \"o\" character is encountered, replace it with \"m\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "Hmw are ymu?", "name": "example_assistant"}, {"role": "user", "content": "GitHub Codespaces offers a complete dev environment in seconds, so you can code, build, test, and open pull requests from any repo anywhere."}], "ideal": ["GxtHub Cmdespaces mffers a cmmplete dev envxrmnment xn secmnds, sm ymu can cmde, buxld, test, and mpen pull requests frmm any repm anywhere."]}
|
20 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"i\" character is encountered, replace it with \"x\". 2) if \"o\" character is encountered, replace it with \"m\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "Hmw are ymu?", "name": "example_assistant"}, {"role": "user", "content": "Have you heard of the movie, Constipated? It's not out yet."}], "ideal": ["Have ymu heard mf the mmvxe, Cmnstxpated? It's nmt mut yet."]}
|
21 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"d\" character is encountered, replace it with \"u\". 2) if \"r\" character is encountered, replace it with \"a\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How aae you?", "name": "example_assistant"}, {"role": "user", "content": "Hello! How are you?"}], "ideal": ["Hello! How aae you?"]}
|
22 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"d\" character is encountered, replace it with \"u\". 2) if \"r\" character is encountered, replace it with \"a\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How aae you?", "name": "example_assistant"}, {"role": "user", "content": "Let's sit down and enjoy some wine. After all, life is short!"}], "ideal": ["Let's sit uown anu enjoy some wine. Aftea all, life is shoat!"]}
|
23 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"d\" character is encountered, replace it with \"u\". 2) if \"r\" character is encountered, replace it with \"a\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How aae you?", "name": "example_assistant"}, {"role": "user", "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."}], "ideal": ["Loaem ipsum uoloa sit amet, consectetua auipiscing elit, seu uo eiusmou tempoa inciuiuunt ut laboae et uoloae magna aliqua."]}
|
24 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"d\" character is encountered, replace it with \"u\". 2) if \"r\" character is encountered, replace it with \"a\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How aae you?", "name": "example_assistant"}, {"role": "user", "content": "Wikipedia is hosted by the Wikimedia Foundation, a non-profit organization that also hosts a range of other projects."}], "ideal": ["Wikipeuia is hosteu by the Wikimeuia Founuation, a non-paofit oaganization that also hosts a aange of othea paojects."]}
|
25 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"d\" character is encountered, replace it with \"u\". 2) if \"r\" character is encountered, replace it with \"a\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How aae you?", "name": "example_assistant"}, {"role": "user", "content": "Sally and I updated the QA sheet this morning. Huge huge props to everyone - it's literally night and day compared to yesterday!"}], "ideal": ["Sally anu I upuateu the QA sheet this moaning. Huge huge paops to eveayone - it's liteaally night anu uay compaaeu to yesteauay!"]}
|
26 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"d\" character is encountered, replace it with \"u\". 2) if \"r\" character is encountered, replace it with \"a\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How aae you?", "name": "example_assistant"}, {"role": "user", "content": "If you live to be a hundred, I hope I live to be a hundred minus one day, so that I never have to live a day without you."}], "ideal": ["If you live to be a hunuaeu, I hope I live to be a hunuaeu minus one uay, so that I nevea have to live a uay without you."]}
|
27 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"d\" character is encountered, replace it with \"u\". 2) if \"r\" character is encountered, replace it with \"a\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How aae you?", "name": "example_assistant"}, {"role": "user", "content": "Doing nothing is very hard to do. You never know when you're finished."}], "ideal": ["Doing nothing is veay haau to uo. You nevea know when you'ae finisheu."]}
|
28 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"d\" character is encountered, replace it with \"u\". 2) if \"r\" character is encountered, replace it with \"a\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How aae you?", "name": "example_assistant"}, {"role": "user", "content": "Defeating traffic is the ultimate boss battle. Even the most powerful humans in the world cannot defeat traffic."}], "ideal": ["Defeating taaffic is the ultimate boss battle. Even the most poweaful humans in the woalu cannot uefeat taaffic."]}
|
29 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"d\" character is encountered, replace it with \"u\". 2) if \"r\" character is encountered, replace it with \"a\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How aae you?", "name": "example_assistant"}, {"role": "user", "content": "GitHub Codespaces offers a complete dev environment in seconds, so you can code, build, test, and open pull requests from any repo anywhere."}], "ideal": ["GitHub Couespaces offeas a complete uev enviaonment in seconus, so you can coue, builu, test, anu open pull aequests faom any aepo anywheae."]}
|
30 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"d\" character is encountered, replace it with \"u\". 2) if \"r\" character is encountered, replace it with \"a\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How aae you?", "name": "example_assistant"}, {"role": "user", "content": "Have you heard of the movie, Constipated? It's not out yet."}], "ideal": ["Have you heaau of the movie, Constipateu? It's not out yet."]}
|
31 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"g\" character is encountered, replace it with \"j\". 2) if \"c\" character is encountered, replace it with \"s\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How are you?", "name": "example_assistant"}, {"role": "user", "content": "Hello! How are you?"}], "ideal": ["Hello! How are you?"]}
|
32 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"g\" character is encountered, replace it with \"j\". 2) if \"c\" character is encountered, replace it with \"s\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How are you?", "name": "example_assistant"}, {"role": "user", "content": "Let's sit down and enjoy some wine. After all, life is short!"}], "ideal": ["Let's sit down and enjoy some wine. After all, life is short!"]}
|
33 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"g\" character is encountered, replace it with \"j\". 2) if \"c\" character is encountered, replace it with \"s\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How are you?", "name": "example_assistant"}, {"role": "user", "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."}], "ideal": ["Lorem ipsum dolor sit amet, sonsestetur adipissinj elit, sed do eiusmod tempor insididunt ut labore et dolore majna aliqua."]}
|
34 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"g\" character is encountered, replace it with \"j\". 2) if \"c\" character is encountered, replace it with \"s\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How are you?", "name": "example_assistant"}, {"role": "user", "content": "Wikipedia is hosted by the Wikimedia Foundation, a non-profit organization that also hosts a range of other projects."}], "ideal": ["Wikipedia is hosted by the Wikimedia Foundation, a non-profit orjanization that also hosts a ranje of other projests."]}
|
35 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"g\" character is encountered, replace it with \"j\". 2) if \"c\" character is encountered, replace it with \"s\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How are you?", "name": "example_assistant"}, {"role": "user", "content": "Sally and I updated the QA sheet this morning. Huge huge props to everyone - it's literally night and day compared to yesterday!"}], "ideal": ["Sally and I updated the QA sheet this morninj. Huje huje props to everyone - it's literally nijht and day sompared to yesterday!"]}
|
36 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"g\" character is encountered, replace it with \"j\". 2) if \"c\" character is encountered, replace it with \"s\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How are you?", "name": "example_assistant"}, {"role": "user", "content": "If you live to be a hundred, I hope I live to be a hundred minus one day, so that I never have to live a day without you."}], "ideal": ["If you live to be a hundred, I hope I live to be a hundred minus one day, so that I never have to live a day without you."]}
|
37 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"g\" character is encountered, replace it with \"j\". 2) if \"c\" character is encountered, replace it with \"s\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How are you?", "name": "example_assistant"}, {"role": "user", "content": "Doing nothing is very hard to do. You never know when you're finished."}], "ideal": ["Doinj nothinj is very hard to do. You never know when you're finished."]}
|
38 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"g\" character is encountered, replace it with \"j\". 2) if \"c\" character is encountered, replace it with \"s\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How are you?", "name": "example_assistant"}, {"role": "user", "content": "Defeating traffic is the ultimate boss battle. Even the most powerful humans in the world cannot defeat traffic."}], "ideal": ["Defeatinj traffis is the ultimate boss battle. Even the most powerful humans in the world sannot defeat traffis."]}
|
39 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"g\" character is encountered, replace it with \"j\". 2) if \"c\" character is encountered, replace it with \"s\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How are you?", "name": "example_assistant"}, {"role": "user", "content": "GitHub Codespaces offers a complete dev environment in seconds, so you can code, build, test, and open pull requests from any repo anywhere."}], "ideal": ["GitHub Codespases offers a somplete dev environment in sesonds, so you san sode, build, test, and open pull requests from any repo anywhere."]}
|
40 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) if \"g\" character is encountered, replace it with \"j\". 2) if \"c\" character is encountered, replace it with \"s\". The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "How are you?", "name": "example_user"}, {"role": "system", "content": "How are you?", "name": "example_assistant"}, {"role": "user", "content": "Have you heard of the movie, Constipated? It's not out yet."}], "ideal": ["Have you heard of the movie, Constipated? It's not out yet."]}
|
41 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace every third letter with \"X\", starting with the third letter. 2) replace every other comma with an exlamation point, starting from the second comma. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Would you like lemons, oranges, or grapes?", "name": "example_user"}, {"role": "system", "content": "WoXld Xou XikX leXonX, orXngXs! oX grXpeX?", "name": "example_assistant"}, {"role": "user", "content": "Hello! How are you?"}], "ideal": ["HeXlo! Xow Xre Xou?"]}
|
42 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace every third letter with \"X\", starting with the third letter. 2) replace every other comma with an exlamation point, starting from the second comma. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Would you like lemons, oranges, or grapes?", "name": "example_user"}, {"role": "system", "content": "WoXld Xou XikX leXonX, orXngXs! oX grXpeX?", "name": "example_assistant"}, {"role": "user", "content": "Let's sit down and enjoy some wine. After all, life is short!"}], "ideal": ["LeX's sXt dXwn Xnd XnjXy sXme XinX. AfXer Xll, XifX is XhoXt!"]}
|
43 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace every third letter with \"X\", starting with the third letter. 2) replace every other comma with an exlamation point, starting from the second comma. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Would you like lemons, oranges, or grapes?", "name": "example_user"}, {"role": "system", "content": "WoXld Xou XikX leXonX, orXngXs! oX grXpeX?", "name": "example_assistant"}, {"role": "user", "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."}], "ideal": ["LoXem XpsXm dXloX siX amXt, cXnsXctXtuX adXpiXciXg eXit! Xed Xo eXusXod XemXor XncXdiXunX ut XabXre Xt dXloXe mXgnX alXquX."]}
|
44 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace every third letter with \"X\", starting with the third letter. 2) replace every other comma with an exlamation point, starting from the second comma. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Would you like lemons, oranges, or grapes?", "name": "example_user"}, {"role": "system", "content": "WoXld Xou XikX leXonX, orXngXs! oX grXpeX?", "name": "example_assistant"}, {"role": "user", "content": "Wikipedia is hosted by the Wikimedia Foundation, a non-profit organization that also hosts a range of other projects."}], "ideal": ["WiXipXdiX is XosXed Xy tXe WXkiXedXa FXunXatXon, X noX-prXfiX orXanXzaXioX thXt aXso XosXs a XanXe oX otXer XroXecXs."]}
|
45 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace every third letter with \"X\", starting with the third letter. 2) replace every other comma with an exlamation point, starting from the second comma. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Would you like lemons, oranges, or grapes?", "name": "example_user"}, {"role": "system", "content": "WoXld Xou XikX leXonX, orXngXs! oX grXpeX?", "name": "example_assistant"}, {"role": "user", "content": "Sally and I updated the QA sheet this morning. Huge huge props to everyone - it's literally night and day compared to yesterday!"}], "ideal": ["SaXly Xnd X upXatXd tXe QX shXet XhiX moXniXg. HXge XugX prXps Xo eXerXonX - it'X liXerXllX niXht Xnd Xay XomXarXd tX yeXteXdaX!"]}
|
46 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace every third letter with \"X\", starting with the third letter. 2) replace every other comma with an exlamation point, starting from the second comma. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Would you like lemons, oranges, or grapes?", "name": "example_user"}, {"role": "system", "content": "WoXld Xou XikX leXonX, orXngXs! oX grXpeX?", "name": "example_assistant"}, {"role": "user", "content": "If you live to be a hundred, I hope I live to be a hundred minus one day, so that I never have to live a day without you."}], "ideal": ["If Xou XivX to Xe a XunXreX, I hXpe X liXe tX be X huXdrXd mXnuX onX daX! so XhaX I nXveX haXe tX liXe a Xay XitXouX yoX."]}
|
47 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace every third letter with \"X\", starting with the third letter. 2) replace every other comma with an exlamation point, starting from the second comma. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Would you like lemons, oranges, or grapes?", "name": "example_user"}, {"role": "system", "content": "WoXld Xou XikX leXonX, orXngXs! oX grXpeX?", "name": "example_assistant"}, {"role": "user", "content": "Doing nothing is very hard to do. You never know when you're finished."}], "ideal": ["DoXng XotXinX is XerX haXd tX do. Xou XevXr kXow XheX yoX're XinXshXd."]}
|
48 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace every third letter with \"X\", starting with the third letter. 2) replace every other comma with an exlamation point, starting from the second comma. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Would you like lemons, oranges, or grapes?", "name": "example_user"}, {"role": "system", "content": "WoXld Xou XikX leXonX, orXngXs! oX grXpeX?", "name": "example_assistant"}, {"role": "user", "content": "Defeating traffic is the ultimate boss battle. Even the most powerful humans in the world cannot defeat traffic."}], "ideal": ["DeXeaXinX trXffXc iX thX ulXimXte XosX baXtlX. EvXn tXe mXst XowXrfXl hXmaXs iX thX woXld XanXot XefXat XraXfiX."]}
|
49 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace every third letter with \"X\", starting with the third letter. 2) replace every other comma with an exlamation point, starting from the second comma. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Would you like lemons, oranges, or grapes?", "name": "example_user"}, {"role": "system", "content": "WoXld Xou XikX leXonX, orXngXs! oX grXpeX?", "name": "example_assistant"}, {"role": "user", "content": "GitHub Codespaces offers a complete dev environment in seconds, so you can code, build, test, and open pull requests from any repo anywhere."}], "ideal": ["GiXHuX CoXesXacXs oXfeXs a XomXleXe dXv eXviXonXenX in XecXndX, so Xou Xan XodX! buXld, XesX! anX opXn pXll XeqXesXs fXom Xny XepX anXwhXre."]}
|
50 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace every third letter with \"X\", starting with the third letter. 2) replace every other comma with an exlamation point, starting from the second comma. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Would you like lemons, oranges, or grapes?", "name": "example_user"}, {"role": "system", "content": "WoXld Xou XikX leXonX, orXngXs! oX grXpeX?", "name": "example_assistant"}, {"role": "user", "content": "Have you heard of the movie, Constipated? It's not out yet."}], "ideal": ["HaXe yXu hXarX of Xhe XovXe, CXnsXipXteX? It'X noX ouX yeX."]}
|
51 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace each letter in the second sentence with an \"a\". 2) if the text only has one sentence, replace the last letter of the text with an \"A\". Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "Hello. aaa aaa aaa?", "name": "example_assistant"}, {"role": "user", "content": "Hello! Nice to meet you."}], "ideal": ["Hello! aaaa aa aaaa aaa."]}
|
52 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace each letter in the second sentence with an \"a\". 2) if the text only has one sentence, replace the last letter of the text with an \"A\". Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "Hello. aaa aaa aaa?", "name": "example_assistant"}, {"role": "user", "content": "Let's sit down and enjoy some wine. After all, life is short!"}], "ideal": ["Let's sit down and enjoy some wine. aaaaa aaa, aaaa aa aaaaa!"]}
|
53 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace each letter in the second sentence with an \"a\". 2) if the text only has one sentence, replace the last letter of the text with an \"A\". Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "Hello. aaa aaa aaa?", "name": "example_assistant"}, {"role": "user", "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."}], "ideal": ["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliquA."]}
|
54 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace each letter in the second sentence with an \"a\". 2) if the text only has one sentence, replace the last letter of the text with an \"A\". Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "Hello. aaa aaa aaa?", "name": "example_assistant"}, {"role": "user", "content": "Wikipedia is hosted by the Wikimedia Foundation, a non-profit organization that also hosts a range of other projects."}], "ideal": ["Wikipedia is hosted by the Wikimedia Foundation, a non-profit organization that also hosts a range of other projectA."]}
|
55 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace each letter in the second sentence with an \"a\". 2) if the text only has one sentence, replace the last letter of the text with an \"A\". Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "Hello. aaa aaa aaa?", "name": "example_assistant"}, {"role": "user", "content": "Sally and I updated the QA sheet this morning. Huge huge props to everyone - it's literally night and day compared to yesterday!"}], "ideal": ["Sally and I updated the QA sheet this morning. aaaa aaaa aaaaa aa aaaaaaaa - aa'a aaaaaaaaa aaaaa aaa aaa aaaaaaaa aa aaaaaaaaa!"]}
|
56 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace each letter in the second sentence with an \"a\". 2) if the text only has one sentence, replace the last letter of the text with an \"A\". Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "Hello. aaa aaa aaa?", "name": "example_assistant"}, {"role": "user", "content": "If you live to be a hundred, I hope I live to be a hundred minus one day, so that I never have to live a day without you."}], "ideal": ["If you live to be a hundred, I hope I live to be a hundred minus one day, so that I never have to live a day without yoA."]}
|
57 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace each letter in the second sentence with an \"a\". 2) if the text only has one sentence, replace the last letter of the text with an \"A\". Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "Hello. aaa aaa aaa?", "name": "example_assistant"}, {"role": "user", "content": "Doing nothing is very hard to do. You never know when you're finished."}], "ideal": ["Doing nothing is very hard to do. aaa aaaaa aaaa aaaa aaa'aa aaaaaaaa."]}
|
58 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace each letter in the second sentence with an \"a\". 2) if the text only has one sentence, replace the last letter of the text with an \"A\". Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "Hello. aaa aaa aaa?", "name": "example_assistant"}, {"role": "user", "content": "Defeating traffic is the ultimate boss battle. Even the most powerful humans in the world cannot defeat traffic."}], "ideal": ["Defeating traffic is the ultimate boss battle. aaaa aaa aaaa aaaaaaaa aaaaaa aa aaa aaaaa aaaaaa aaaaaa aaaaaaa."]}
|
59 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace each letter in the second sentence with an \"a\". 2) if the text only has one sentence, replace the last letter of the text with an \"A\". Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "Hello. aaa aaa aaa?", "name": "example_assistant"}, {"role": "user", "content": "GitHub Codespaces offers a complete dev environment in seconds, so you can code, build, test, and open pull requests from any repo anywhere."}], "ideal": ["GitHub Codespaces offers a complete dev environment in seconds, so you can code, build, test, and open pull requests from any repo anywherA."]}
|
60 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace each letter in the second sentence with an \"a\". 2) if the text only has one sentence, replace the last letter of the text with an \"A\". Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "Hello. aaa aaa aaa?", "name": "example_assistant"}, {"role": "user", "content": "Have you heard of the movie, Constipated? It's not out yet."}], "ideal": ["Have you heard of the movie, Constipated? aa'a aaa aaa aaa."]}
|
61 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace the first \"a\" you encounter with \"1\". 2) Replace each consecutive \"a\" you encounter with a number corresponding to the nth occurrence of that \"a\" in the text. The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "Hello. How 1re you?", "name": "example_assistant"}, {"role": "user", "content": "Hello! Nice to meet you."}], "ideal": ["Hello! Nice to meet you."]}
|
62 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace the first \"a\" you encounter with \"1\". 2) Replace each consecutive \"a\" you encounter with a number corresponding to the nth occurrence of that \"a\" in the text. The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "Hello. How 1re you?", "name": "example_assistant"}, {"role": "user", "content": "Let's sit down and enjoy some wine. After all, life is short!"}], "ideal": ["Let's sit down 1nd enjoy some wine. After 2ll, life is short!"]}
|
63 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace the first \"a\" you encounter with \"1\". 2) Replace each consecutive \"a\" you encounter with a number corresponding to the nth occurrence of that \"a\" in the text. The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "Hello. How 1re you?", "name": "example_assistant"}, {"role": "user", "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."}], "ideal": ["Lorem ipsum dolor sit 1met, consectetur 2dipiscing elit, sed do eiusmod tempor incididunt ut l3bore et dolore m4gn5 6liqu7."]}
|
64 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace the first \"a\" you encounter with \"1\". 2) Replace each consecutive \"a\" you encounter with a number corresponding to the nth occurrence of that \"a\" in the text. The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "Hello. How 1re you?", "name": "example_assistant"}, {"role": "user", "content": "Wikipedia is hosted by the Wikimedia Foundation, a non-profit organization that also hosts a range of other projects."}], "ideal": ["Wikipedi1 is hosted by the Wikimedi2 Found3tion, 4 non-profit org5niz6tion th7t 8lso hosts 9 r10nge of other projects."]}
|
65 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace the first \"a\" you encounter with \"1\". 2) Replace each consecutive \"a\" you encounter with a number corresponding to the nth occurrence of that \"a\" in the text. The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "Hello. How 1re you?", "name": "example_assistant"}, {"role": "user", "content": "Sally and I updated the QA sheet this morning. Huge huge props to everyone - it's literally night and day compared to yesterday!"}], "ideal": ["S1lly 2nd I upd3ted the QA sheet this morning. Huge huge props to everyone - it's liter4lly night 5nd d6y comp7red to yesterd8y!"]}
|
66 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace the first \"a\" you encounter with \"1\". 2) Replace each consecutive \"a\" you encounter with a number corresponding to the nth occurrence of that \"a\" in the text. The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "Hello. How 1re you?", "name": "example_assistant"}, {"role": "user", "content": "If you live to be a hundred, I hope I live to be a hundred minus one day, so that I never have to live a day without you."}], "ideal": ["If you live to be 1 hundred, I hope I live to be 2 hundred minus one d3y, so th4t I never h5ve to live 6 d7y without you."]}
|
67 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace the first \"a\" you encounter with \"1\". 2) Replace each consecutive \"a\" you encounter with a number corresponding to the nth occurrence of that \"a\" in the text. The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "Hello. How 1re you?", "name": "example_assistant"}, {"role": "user", "content": "Doing nothing is very hard to do. You never know when you're finished."}], "ideal": ["Doing nothing is very h1rd to do. You never know when you're finished."]}
|
68 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace the first \"a\" you encounter with \"1\". 2) Replace each consecutive \"a\" you encounter with a number corresponding to the nth occurrence of that \"a\" in the text. The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "Hello. How 1re you?", "name": "example_assistant"}, {"role": "user", "content": "Defeating traffic is the ultimate boss battle. Even the most powerful humans in the world cannot defeat traffic."}], "ideal": ["Defe1ting tr2ffic is the ultim3te boss b4ttle. Even the most powerful hum5ns in the world c6nnot defe7t tr8ffic."]}
|
69 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace the first \"a\" you encounter with \"1\". 2) Replace each consecutive \"a\" you encounter with a number corresponding to the nth occurrence of that \"a\" in the text. The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "Hello. How 1re you?", "name": "example_assistant"}, {"role": "user", "content": "GitHub Codespaces offers a complete dev environment in seconds, so you can code, build, test, and open pull requests from any repo anywhere."}], "ideal": ["GitHub Codesp1ces offers 2 complete dev environment in seconds, so you c3n code, build, test, 4nd open pull requests from 5ny repo 6nywhere."]}
|
70 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace the first \"a\" you encounter with \"1\". 2) Replace each consecutive \"a\" you encounter with a number corresponding to the nth occurrence of that \"a\" in the text. The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "Hello. How 1re you?", "name": "example_assistant"}, {"role": "user", "content": "Have you heard of the movie, Constipated? It's not out yet."}], "ideal": ["H1ve you he2rd of the movie, Constip3ted? It's not out yet."]}
|
71 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace each letter that contains a closed counter with an \"X\". 2) Use Arial Regular font to determine which letters have closed counters. The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "HXllX. HXw XrX yXu?", "name": "example_assistant"}, {"role": "user", "content": "Hello! Nice to meet you."}], "ideal": ["HXllX! NicX tX mXXt yXu."]}
|
72 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace each letter that contains a closed counter with an \"X\". 2) Use Arial Regular font to determine which letters have closed counters. The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "HXllX. HXw XrX yXu?", "name": "example_assistant"}, {"role": "user", "content": "Let's sit down and enjoy some wine. After all, life is short!"}], "ideal": ["LXt's sit XXwn XnX XnjXy sXmX winX. XftXr Xll, lifX is shXrt!"]}
|
73 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace each letter that contains a closed counter with an \"X\". 2) Use Arial Regular font to determine which letters have closed counters. The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "HXllX. HXw XrX yXu?", "name": "example_assistant"}, {"role": "user", "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."}], "ideal": ["LXrXm iXsum XXlXr sit XmXt, cXnsXctXtur XXiXiscinX Xlit, sXX XX XiusmXX tXmXXr inciXiXunt ut lXXXrX Xt XXlXrX mXXnX XliXuX."]}
|
74 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace each letter that contains a closed counter with an \"X\". 2) Use Arial Regular font to determine which letters have closed counters. The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "HXllX. HXw XrX yXu?", "name": "example_assistant"}, {"role": "user", "content": "Wikipedia is hosted by the Wikimedia Foundation, a non-profit organization that also hosts a range of other projects."}], "ideal": ["WikiXXXiX is hXstXX Xy thX WikimXXiX FXunXXtiXn, X nXn-XrXfit XrXXnizXtiXn thXt XlsX hXsts X rXnXX Xf XthXr XrXjXcts."]}
|
75 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace each letter that contains a closed counter with an \"X\". 2) Use Arial Regular font to determine which letters have closed counters. The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "HXllX. HXw XrX yXu?", "name": "example_assistant"}, {"role": "user", "content": "Sally and I updated the QA sheet this morning. Huge huge props to everyone - it's literally night and day compared to yesterday!"}], "ideal": ["SXlly XnX I uXXXtXX thX XX shXXt this mXrninX. HuXX huXX XrXXs tX XvXryXnX - it's litXrXlly niXht XnX XXy cXmXXrXX tX yXstXrXXy!"]}
|
76 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace each letter that contains a closed counter with an \"X\". 2) Use Arial Regular font to determine which letters have closed counters. The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "HXllX. HXw XrX yXu?", "name": "example_assistant"}, {"role": "user", "content": "If you live to be a hundred, I hope I live to be a hundred minus one day, so that I never have to live a day without you."}], "ideal": ["If yXu livX tX XX X hunXrXX, I hXXX I livX tX XX X hunXrXX minus XnX XXy, sX thXt I nXvXr hXvX tX livX X XXy withXut yXu."]}
|
77 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace each letter that contains a closed counter with an \"X\". 2) Use Arial Regular font to determine which letters have closed counters. The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "HXllX. HXw XrX yXu?", "name": "example_assistant"}, {"role": "user", "content": "Doing nothing is very hard to do. You never know when you're finished."}], "ideal": ["XXinX nXthinX is vXry hXrX tX XX. YXu nXvXr knXw whXn yXu'rX finishXX."]}
|
78 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace each letter that contains a closed counter with an \"X\". 2) Use Arial Regular font to determine which letters have closed counters. The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "HXllX. HXw XrX yXu?", "name": "example_assistant"}, {"role": "user", "content": "Defeating traffic is the ultimate boss battle. Even the most powerful humans in the world cannot defeat traffic."}], "ideal": ["XXfXXtinX trXffic is thX ultimXtX XXss XXttlX. EvXn thX mXst XXwXrful humXns in thX wXrlX cXnnXt XXfXXt trXffic."]}
|
79 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace each letter that contains a closed counter with an \"X\". 2) Use Arial Regular font to determine which letters have closed counters. The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "HXllX. HXw XrX yXu?", "name": "example_assistant"}, {"role": "user", "content": "GitHub Codespaces offers a complete dev environment in seconds, so you can code, build, test, and open pull requests from any repo anywhere."}], "ideal": ["GitHuX CXXXsXXcXs XffXrs X cXmXlXtX XXv XnvirXnmXnt in sXcXnXs, sX yXu cXn cXXX, XuilX, tXst, XnX XXXn Xull rXXuXsts frXm Xny rXXX XnywhXrX."]}
|
80 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace each letter that contains a closed counter with an \"X\". 2) Use Arial Regular font to determine which letters have closed counters. The rules are case-sensitive. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "HXllX. HXw XrX yXu?", "name": "example_assistant"}, {"role": "user", "content": "Have you heard of the movie, Constipated? It's not out yet."}], "ideal": ["HXvX yXu hXXrX Xf thX mXviX, CXnstiXXtXX? It's nXt Xut yXt."]}
|
81 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) If the text contains an even number of characters, replace the first and fourth letters with \"X\". 2) If the text contains an odd number of characters, replace the second and third letters with \"X\". Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "HXXlo. How are you?", "name": "example_assistant"}, {"role": "user", "content": "Hello! Nice to meet you."}], "ideal": ["XelXo! Nice to meet you."]}
|
82 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) If the text contains an even number of characters, replace the first and fourth letters with \"X\". 2) If the text contains an odd number of characters, replace the second and third letters with \"X\". Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "HXXlo. How are you?", "name": "example_assistant"}, {"role": "user", "content": "Let's sit down and enjoy some wine. After all, life is short!"}], "ideal": ["LXX's sit down and enjoy some wine. After all, life is short!"]}
|
83 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) If the text contains an even number of characters, replace the first and fourth letters with \"X\". 2) If the text contains an odd number of characters, replace the second and third letters with \"X\". Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "HXXlo. How are you?", "name": "example_assistant"}, {"role": "user", "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."}], "ideal": ["LXXem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."]}
|
84 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) If the text contains an even number of characters, replace the first and fourth letters with \"X\". 2) If the text contains an odd number of characters, replace the second and third letters with \"X\". Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "HXXlo. How are you?", "name": "example_assistant"}, {"role": "user", "content": "Wikipedia is hosted by the Wikimedia Foundation, a non-profit organization that also hosts a range of other projects."}], "ideal": ["WXXipedia is hosted by the Wikimedia Foundation, a non-profit organization that also hosts a range of other projects."]}
|
85 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) If the text contains an even number of characters, replace the first and fourth letters with \"X\". 2) If the text contains an odd number of characters, replace the second and third letters with \"X\". Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "HXXlo. How are you?", "name": "example_assistant"}, {"role": "user", "content": "Sally and I updated the QA sheet this morning. Huge huge props to everyone - it's literally night and day compared to yesterday!"}], "ideal": ["XalXy and I updated the QA sheet this morning. Huge huge props to everyone - it's literally night and day compared to yesterday!"]}
|
86 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) If the text contains an even number of characters, replace the first and fourth letters with \"X\". 2) If the text contains an odd number of characters, replace the second and third letters with \"X\". Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "HXXlo. How are you?", "name": "example_assistant"}, {"role": "user", "content": "If you live to be a hundred, I hope I live to be a hundred minus one day, so that I never have to live a day without you."}], "ideal": ["IX Xou live to be a hundred, I hope I live to be a hundred minus one day, so that I never have to live a day without you."]}
|
87 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) If the text contains an even number of characters, replace the first and fourth letters with \"X\". 2) If the text contains an odd number of characters, replace the second and third letters with \"X\". Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "HXXlo. How are you?", "name": "example_assistant"}, {"role": "user", "content": "Doing nothing is very hard to do. You never know when you're finished."}], "ideal": ["XoiXg nothing is very hard to do. You never know when you're finished."]}
|
88 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) If the text contains an even number of characters, replace the first and fourth letters with \"X\". 2) If the text contains an odd number of characters, replace the second and third letters with \"X\". Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "HXXlo. How are you?", "name": "example_assistant"}, {"role": "user", "content": "Defeating traffic is the ultimate boss battle. Even the most powerful humans in the world cannot defeat traffic."}], "ideal": ["XefXating traffic is the ultimate boss battle. Even the most powerful humans in the world cannot defeat traffic."]}
|
89 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) If the text contains an even number of characters, replace the first and fourth letters with \"X\". 2) If the text contains an odd number of characters, replace the second and third letters with \"X\". Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "HXXlo. How are you?", "name": "example_assistant"}, {"role": "user", "content": "GitHub Codespaces offers a complete dev environment in seconds, so you can code, build, test, and open pull requests from any repo anywhere."}], "ideal": ["XitXub Codespaces offers a complete dev environment in seconds, so you can code, build, test, and open pull requests from any repo anywhere."]}
|
90 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) If the text contains an even number of characters, replace the first and fourth letters with \"X\". 2) If the text contains an odd number of characters, replace the second and third letters with \"X\". Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello. How are you?", "name": "example_user"}, {"role": "system", "content": "HXXlo. How are you?", "name": "example_assistant"}, {"role": "user", "content": "Have you heard of the movie, Constipated? It's not out yet."}], "ideal": ["HXXe you heard of the movie, Constipated? It's not out yet."]}
|
91 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace second letter of every second word with an \"X\". 2) Do not change the first or the last words in the text. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello, how are you?", "name": "example_user"}, {"role": "system", "content": "Hello, hXw are you?", "name": "example_assistant"}, {"role": "user", "content": "Hello! Nice to meet you."}], "ideal": ["Hello! NXcX to mXet you."]}
|
92 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace second letter of every second word with an \"X\". 2) Do not change the first or the last words in the text. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello, how are you?", "name": "example_user"}, {"role": "system", "content": "Hello, hXw are you?", "name": "example_assistant"}, {"role": "user", "content": "Let's sit down and enjoy some wine. After all, life is short!"}], "ideal": ["Let's sXt down aXd enjoy sXmX wine. AXtXr all, lXfX is short!"]}
|
93 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace second letter of every second word with an \"X\". 2) Do not change the first or the last words in the text. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello, how are you?", "name": "example_user"}, {"role": "system", "content": "Hello, hXw are you?", "name": "example_assistant"}, {"role": "user", "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."}], "ideal": ["Lorem iXsXm dolor sXt amet, cXnXeXtXtXr adipiscing eXiX, sed dX eiusmod tXmXoX incididunt uX labore eX dolore mXgXa aliqua."]}
|
94 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace second letter of every second word with an \"X\". 2) Do not change the first or the last words in the text. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello, how are you?", "name": "example_user"}, {"role": "system", "content": "Hello, hXw are you?", "name": "example_assistant"}, {"role": "user", "content": "Wikipedia is hosted by the Wikimedia Foundation, a non-profit organization that also hosts a range of other projects."}], "ideal": ["Wikipedia iX hosted bX the WXkXmXdXa Foundation, a non-profit oXgXnXzXtXoX that aXsX hosts a range oX other projects."]}
|
95 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace second letter of every second word with an \"X\". 2) Do not change the first or the last words in the text. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello, how are you?", "name": "example_user"}, {"role": "system", "content": "Hello, hXw are you?", "name": "example_assistant"}, {"role": "user", "content": "Sally and I updated the QA sheet this morning. Huge huge props to everyone - it's literally night and day compared to yesterday!"}], "ideal": ["Sally aXd I uXdXtXd the QX sheet tXiX morning. HXgX huge pXoXs to eXeXyXnX - it's lXtXrXlXy night aXd day cXmXaXeX to yesterday!"]}
|
96 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace second letter of every second word with an \"X\". 2) Do not change the first or the last words in the text. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello, how are you?", "name": "example_user"}, {"role": "system", "content": "Hello, hXw are you?", "name": "example_assistant"}, {"role": "user", "content": "If you live to be a hundred, I hope I live to be a hundred minus one day, so that I never have to live a day without you."}], "ideal": ["If yXu live tX be a hundred, I hope I live tX be a hundred mXnXs one dXy, so tXaX I nXvXr have tX live a day wXtXoXt you."]}
|
97 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace second letter of every second word with an \"X\". 2) Do not change the first or the last words in the text. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello, how are you?", "name": "example_user"}, {"role": "system", "content": "Hello, hXw are you?", "name": "example_assistant"}, {"role": "user", "content": "Doing nothing is very hard to do. You never know when you're finished."}], "ideal": ["Doing nXtXiXg is vXrX hard tX do. YXu never kXoX when yXuXre finished."]}
|
98 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace second letter of every second word with an \"X\". 2) Do not change the first or the last words in the text. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello, how are you?", "name": "example_user"}, {"role": "system", "content": "Hello, hXw are you?", "name": "example_assistant"}, {"role": "user", "content": "Defeating traffic is the ultimate boss battle. Even the most powerful humans in the world cannot defeat traffic."}], "ideal": ["Defeating tXaXfXc is tXe ultimate bXsX battle. EXeX the mXsX powerful hXmXnX in tXe world cXnXoX defeat traffic."]}
|
99 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace second letter of every second word with an \"X\". 2) Do not change the first or the last words in the text. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello, how are you?", "name": "example_user"}, {"role": "system", "content": "Hello, hXw are you?", "name": "example_assistant"}, {"role": "user", "content": "GitHub Codespaces offers a complete dev environment in seconds, so you can code, build, test, and open pull requests from any repo anywhere."}], "ideal": ["GitHub CXdXsXaXeX offers a complete dXv environment iX seconds, sX you cXn code, bXiXd, test, aXd open pXlX requests fXoX any rXpo anywhere."]}
|
100 |
+
{"input": [{"role": "system", "content": "The text transformation rules are as follows: 1) Replace second letter of every second word with an \"X\". 2) Do not change the first or the last words in the text. Return the transformed text. Respond as concise as possible."}, {"role": "system", "content": "Hello, how are you?", "name": "example_user"}, {"role": "system", "content": "Hello, hXw are you?", "name": "example_assistant"}, {"role": "user", "content": "Have you heard of the movie, Constipated? It's not out yet."}], "ideal": ["Have yXu heard oX the mXvXe, Constipated? IX'X not oXt yet."]}
|