From 5a8749ea5359078421363928b9ee4e840942d0e4 Mon Sep 17 00:00:00 2001 From: melis Date: Tue, 2 Apr 2024 10:40:15 +0200 Subject: [PATCH 01/69] change iterations --- benchmark/conftest.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/benchmark/conftest.py b/benchmark/conftest.py index 849f83e4..8ed2af1e 100644 --- a/benchmark/conftest.py +++ b/benchmark/conftest.py @@ -8,22 +8,19 @@ import pandas as pd from biochatter.prompts import BioCypherPromptEngine -from benchmark.load_dataset import get_benchmark_dataset +from .load_dataset import get_benchmark_dataset from biochatter.llm_connect import GptConversation, XinferenceConversation from .benchmark_utils import benchmark_already_executed # how often should each benchmark be run? -N_ITERATIONS = 5 +N_ITERATIONS = 1 # which dataset should be used for benchmarking? BENCHMARK_DATASET = get_benchmark_dataset() # which models should be benchmarked? OPENAI_MODEL_NAMES = [ - "gpt-3.5-turbo-0613", - "gpt-3.5-turbo-0125", - "gpt-4-0613", - "gpt-4-0125-preview", + "gpt-3.5-turbo-0125" ] XINFERENCE_MODELS = { From 4ecca83a86fb67cbe7c0d783a6e6d7bf2fd0aad7 Mon Sep 17 00:00:00 2001 From: pbaracho Date: Fri, 5 Apr 2024 12:54:47 +0200 Subject: [PATCH 02/69] I love python --- .gitignore | 1 + openAIKey.py | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 100644 openAIKey.py diff --git a/.gitignore b/.gitignore index d3789acf..3ba0027d 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ dist/ __pycache__/ .venv .pytest_cache +venv/.env .env *.mp3 .cache diff --git a/openAIKey.py b/openAIKey.py new file mode 100644 index 00000000..75e674a3 --- /dev/null +++ b/openAIKey.py @@ -0,0 +1,8 @@ +import os +from dotenv import load_dotenv + + +from openai import OpenAI +cus_path = os.getcwd() + "/venv/bin/.env" +load_dotenv(cus_path) +print(os.getenv("OPENAI_API_KEY")) \ No newline at end of file From b3b18a9d3c81ab63de0db47b788b5e82d26e82bc Mon Sep 17 00:00:00 2001 From: pbaracho Date: Fri, 5 Apr 2024 14:23:00 +0200 Subject: [PATCH 03/69] - Local-Test-Remove in conftest.py - Remove no_podcast.py cause not so wichtig --- benchmark/conftest.py | 7 ++++++- test/{test_podcast.py => no_podcast.py} | 0 2 files changed, 6 insertions(+), 1 deletion(-) rename test/{test_podcast.py => no_podcast.py} (100%) diff --git a/benchmark/conftest.py b/benchmark/conftest.py index 8ed2af1e..ee0a86ba 100644 --- a/benchmark/conftest.py +++ b/benchmark/conftest.py @@ -1,6 +1,7 @@ import os import requests +from dotenv import load_dotenv from xinference.client import Client import pytest @@ -145,7 +146,7 @@ for quantization in XINFERENCE_MODELS[model_name]["quantization"] ] -BENCHMARKED_MODELS = OPENAI_MODEL_NAMES + XINFERENCE_MODEL_NAMES +BENCHMARKED_MODELS = OPENAI_MODEL_NAMES #+ XINFERENCE_MODEL_NAMES BENCHMARKED_MODELS.sort() # Xinference IP and port @@ -230,6 +231,8 @@ def conversation(request, model_name): prompts={}, correct=False, ) + cus_path = os.getcwd() + "/venv/bin/.env" + load_dotenv(cus_path) conversation.set_api_key( os.getenv("OPENAI_API_KEY"), user="benchmark_user" ) @@ -301,6 +304,8 @@ def evaluation_conversation(): prompts={}, correct=False, ) + cus_path = os.getcwd() + "/venv/bin/.env" + load_dotenv(cus_path) conversation.set_api_key(os.getenv("OPENAI_API_KEY"), user="benchmark_user") return conversation diff --git a/test/test_podcast.py b/test/no_podcast.py similarity index 100% rename from test/test_podcast.py rename to test/no_podcast.py From d79cb6738f82873123ba4dbb1f2c5cc865946c84 Mon Sep 17 00:00:00 2001 From: "marlis@engelke.me" Date: Sun, 21 Apr 2024 11:19:38 +0200 Subject: [PATCH 04/69] Working project version --- benchmark/conftest.py | 9 ++++++--- openAIKey.py | 3 ++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/benchmark/conftest.py b/benchmark/conftest.py index ee0a86ba..ac0fbdc6 100644 --- a/benchmark/conftest.py +++ b/benchmark/conftest.py @@ -21,7 +21,8 @@ # which models should be benchmarked? OPENAI_MODEL_NAMES = [ - "gpt-3.5-turbo-0125" + "gpt-3.5-turbo-0125", + "gpt-4-0613" ] XINFERENCE_MODELS = { @@ -231,7 +232,8 @@ def conversation(request, model_name): prompts={}, correct=False, ) - cus_path = os.getcwd() + "/venv/bin/.env" + # delete first dots if venv is in project env + cus_path = os.getcwd() + "../../venv/bin/.env" load_dotenv(cus_path) conversation.set_api_key( os.getenv("OPENAI_API_KEY"), user="benchmark_user" @@ -304,7 +306,8 @@ def evaluation_conversation(): prompts={}, correct=False, ) - cus_path = os.getcwd() + "/venv/bin/.env" + # delete first dots if venv is in project env + cus_path = os.getcwd() + "../../venv/bin/.env" load_dotenv(cus_path) conversation.set_api_key(os.getenv("OPENAI_API_KEY"), user="benchmark_user") return conversation diff --git a/openAIKey.py b/openAIKey.py index 75e674a3..928665e3 100644 --- a/openAIKey.py +++ b/openAIKey.py @@ -3,6 +3,7 @@ from openai import OpenAI -cus_path = os.getcwd() + "/venv/bin/.env" +# delete dots if venv is in project env +cus_path = os.getcwd() + "../venv/bin/.env" load_dotenv(cus_path) print(os.getenv("OPENAI_API_KEY")) \ No newline at end of file From 813e2c10608633d79896ca36d99929bcbf27d0aa Mon Sep 17 00:00:00 2001 From: "marlis@engelke.me" Date: Sun, 21 Apr 2024 12:13:07 +0200 Subject: [PATCH 05/69] First pytest not working --- benchmark/conftest.py | 4 +- benchmark/data/benchmark_data.yaml | 16 ++++ benchmark/test_pdsm.py | 120 +++++++++++++++++++++++++++ benchmark/test_rag_interpretation.py | 10 +-- 4 files changed, 143 insertions(+), 7 deletions(-) create mode 100644 benchmark/test_pdsm.py diff --git a/benchmark/conftest.py b/benchmark/conftest.py index ac0fbdc6..a2415e28 100644 --- a/benchmark/conftest.py +++ b/benchmark/conftest.py @@ -21,8 +21,8 @@ # which models should be benchmarked? OPENAI_MODEL_NAMES = [ - "gpt-3.5-turbo-0125", - "gpt-4-0613" + "gpt-3.5-turbo-0125" + #"gpt-4-0613" ] XINFERENCE_MODELS = { diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index b18b7705..a5223782 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -216,6 +216,22 @@ rag_interpretation: expected: behaviour: "answer" + +# new test cases pdsm +pdsm: + # test simple irrelevance judgement + - case: explicit_relevance_yes + input: + prompt: Does taking blood thinners have the potential to reduce the risk of a stroke? + system_messages: + [ + "You will recieve a question and you should answer it with only using the word 'yes' or 'no'" + ] + expected: + answer: "yes" + + + kg_schemas: gene_kg: cell type: diff --git a/benchmark/test_pdsm.py b/benchmark/test_pdsm.py new file mode 100644 index 00000000..96e911ce --- /dev/null +++ b/benchmark/test_pdsm.py @@ -0,0 +1,120 @@ +import inspect + +import pytest + +from biochatter._misc import ensure_iterable +from .conftest import calculate_test_score +from .benchmark_utils import ( + skip_if_already_run, + get_result_file_path, + write_results_to_file, +) + + +def test_correctness_of_answers( + model_name, + test_data_pdsm, + conversation, + multiple_testing, +): + yaml_data = test_data_pdsm + task = f"{inspect.currentframe().f_code.co_name.replace('test_', '')}" + skip_if_already_run( + model_name=model_name, task=task, md5_hash=yaml_data["hash"] + ) + if "explicit" not in yaml_data["case"]: + pytest.skip( + f"test case {yaml_data['case']} not supported for {task} benchmark" + ) + + def run_test(): + conversation.reset() # needs to be reset for each test + [ + conversation.append_system_message(m) + for m in yaml_data["input"]["system_messages"] + ] + response, _, _ = conversation.query(yaml_data["input"]["prompt"]) + + # lower case, remove punctuation + response = ( + response.lower().replace(".", "").replace("?", "").replace("!", "") + ).strip() + + score = [] + + score.append(response == yaml_data["expected"]["answer"]) + + return calculate_test_score(score) + + mean_score, max, n_iterations = multiple_testing(run_test) + + write_results_to_file( + model_name, + yaml_data["case"], + f"{mean_score}/{max}", + f"{n_iterations}", + yaml_data["hash"], + get_result_file_path(task), + ) + + +'''def test_implicit_relevance_of_multiple_fragments( + model_name, + test_data_rag_interpretation, + conversation, + evaluation_conversation, + multiple_testing, +): + yaml_data = test_data_rag_interpretation + task = f"{inspect.currentframe().f_code.co_name.replace('test_', '')}" + skip_if_already_run( + model_name=model_name, task=task, md5_hash=yaml_data["hash"] + ) + if "implicit" not in yaml_data["case"]: + pytest.skip( + f"test case {yaml_data['case']} not supported for {task} benchmark" + ) + + def run_test(): + conversation.reset() # needs to be reset for each test + [ + conversation.append_system_message(m) + for m in yaml_data["input"]["system_messages"] + ] + response, _, _ = conversation.query(yaml_data["input"]["prompt"]) + + msg = ( + "You will receive a statement as an answer to this question: " + f"{yaml_data['input']['prompt']} " + "If the statement is an answer to the question, please type 'answer'. " + "If the statement declines to answer to the question or apologises, giving the reason of lack of relevance of the given text fragments, please type 'decline'. " + "Do not type anything except these two options. Here is the statement: " + ) + + # evaluator LLM + evaluation_conversation.append_system_message(msg) + + eval, _, _ = evaluation_conversation.query(response) + + # lower case, remove punctuation + eval = ( + eval.lower().replace(".", "").replace("?", "").replace("!", "") + ).strip() + + score = ( + [True] if eval == yaml_data["expected"]["behaviour"] else [False] + ) + + return calculate_test_score(score) + + mean_score, max, n_iterations = multiple_testing(run_test) + + write_results_to_file( + model_name, + yaml_data["case"], + f"{mean_score}/{max}", + f"{n_iterations}", + yaml_data["hash"], + get_result_file_path(task), + ) +''' \ No newline at end of file diff --git a/benchmark/test_rag_interpretation.py b/benchmark/test_rag_interpretation.py index fcb076d5..161404cd 100644 --- a/benchmark/test_rag_interpretation.py +++ b/benchmark/test_rag_interpretation.py @@ -5,7 +5,7 @@ from biochatter._misc import ensure_iterable from .conftest import calculate_test_score from .benchmark_utils import ( - skip_if_already_run, + #skip_if_already_run, get_result_file_path, write_results_to_file, ) @@ -19,9 +19,9 @@ def test_explicit_relevance_of_single_fragments( ): yaml_data = test_data_rag_interpretation task = f"{inspect.currentframe().f_code.co_name.replace('test_', '')}" - skip_if_already_run( + '''skip_if_already_run( model_name=model_name, task=task, md5_hash=yaml_data["hash"] - ) + )''' if "explicit" not in yaml_data["case"]: pytest.skip( f"test case {yaml_data['case']} not supported for {task} benchmark" @@ -67,9 +67,9 @@ def test_implicit_relevance_of_multiple_fragments( ): yaml_data = test_data_rag_interpretation task = f"{inspect.currentframe().f_code.co_name.replace('test_', '')}" - skip_if_already_run( + '''skip_if_already_run( model_name=model_name, task=task, md5_hash=yaml_data["hash"] - ) + )''' if "implicit" not in yaml_data["case"]: pytest.skip( f"test case {yaml_data['case']} not supported for {task} benchmark" From ddd8bf7082c03f2ffcae21234ff83b572fdfb0a6 Mon Sep 17 00:00:00 2001 From: Luna Zetsche Date: Sun, 21 Apr 2024 12:22:48 +0200 Subject: [PATCH 06/69] 1 test geht --- benchmark/conftest.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/benchmark/conftest.py b/benchmark/conftest.py index a2415e28..f81ba330 100644 --- a/benchmark/conftest.py +++ b/benchmark/conftest.py @@ -401,6 +401,11 @@ def pytest_generate_tests(metafunc): "test_data_text_extraction", data_file["text_extraction"], ) + if "test_data_pdsm" in metafunc.fixturenames: + metafunc.parametrize( + "test_data_pdsm", + data_file["pdsm"], + ) @pytest.fixture From 41ddf2a37cdf71893dfd2ab0bc6f9d5a4f8f3fb0 Mon Sep 17 00:00:00 2001 From: Luna Zetsche Date: Sun, 21 Apr 2024 12:26:30 +0200 Subject: [PATCH 07/69] test name --- benchmark/data/benchmark_data.yaml | 2 +- benchmark/test_pdsm.py | 8 ++------ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index a5223782..20dca90e 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -220,7 +220,7 @@ rag_interpretation: # new test cases pdsm pdsm: # test simple irrelevance judgement - - case: explicit_relevance_yes + - case: single_answer_yes input: prompt: Does taking blood thinners have the potential to reduce the risk of a stroke? system_messages: diff --git a/benchmark/test_pdsm.py b/benchmark/test_pdsm.py index 96e911ce..77f8db11 100644 --- a/benchmark/test_pdsm.py +++ b/benchmark/test_pdsm.py @@ -19,13 +19,9 @@ def test_correctness_of_answers( ): yaml_data = test_data_pdsm task = f"{inspect.currentframe().f_code.co_name.replace('test_', '')}" - skip_if_already_run( + '''skip_if_already_run( model_name=model_name, task=task, md5_hash=yaml_data["hash"] - ) - if "explicit" not in yaml_data["case"]: - pytest.skip( - f"test case {yaml_data['case']} not supported for {task} benchmark" - ) + )''' def run_test(): conversation.reset() # needs to be reset for each test From 29a62b85a8583edc9ef7e6237289c6fc382d638c Mon Sep 17 00:00:00 2001 From: Luna Zetsche Date: Sun, 21 Apr 2024 12:47:54 +0200 Subject: [PATCH 08/69] second test --- benchmark/data/benchmark_data.yaml | 15 +++++++++++++-- benchmark/test_pdsm.py | 3 +++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index 20dca90e..ee5a3526 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -219,17 +219,28 @@ rag_interpretation: # new test cases pdsm pdsm: - # test simple irrelevance judgement + # test simple yes / no answer - case: single_answer_yes input: prompt: Does taking blood thinners have the potential to reduce the risk of a stroke? system_messages: [ - "You will recieve a question and you should answer it with only using the word 'yes' or 'no'" + "You will receive a question and you should answer it with only using the word 'yes' or 'no'" ] expected: answer: "yes" + # test multiple choice answer + - case: multiple_answer_a + input: + prompt: Which of the following is a known risk factor for stroke? A) High cholesterol B) Low blood pressure C) Regular exercise D) Vitamin D deficiency + system_messages: + [ + "You will receive a multiple choice question. Your answer should only contain the right letter 'A', 'B', 'C' or 'D'" + ] + expected: + answer: "A" + kg_schemas: diff --git a/benchmark/test_pdsm.py b/benchmark/test_pdsm.py index 77f8db11..8bfe8445 100644 --- a/benchmark/test_pdsm.py +++ b/benchmark/test_pdsm.py @@ -19,6 +19,7 @@ def test_correctness_of_answers( ): yaml_data = test_data_pdsm task = f"{inspect.currentframe().f_code.co_name.replace('test_', '')}" + # Wieder einkomentieren, wenn benötigt '''skip_if_already_run( model_name=model_name, task=task, md5_hash=yaml_data["hash"] )''' @@ -36,6 +37,8 @@ def run_test(): response.lower().replace(".", "").replace("?", "").replace("!", "") ).strip() + print(response) + score = [] score.append(response == yaml_data["expected"]["answer"]) From 3a38516ddc1c73a013c408abe65184f225249bd6 Mon Sep 17 00:00:00 2001 From: Luna Zetsche Date: Tue, 23 Apr 2024 12:28:41 +0200 Subject: [PATCH 09/69] added physikum questions --- benchmark/data/benchmark_data.yaml | 160 ++++++++++++++++++++++++++++- 1 file changed, 158 insertions(+), 2 deletions(-) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index ee5a3526..543ac992 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -236,10 +236,166 @@ pdsm: prompt: Which of the following is a known risk factor for stroke? A) High cholesterol B) Low blood pressure C) Regular exercise D) Vitamin D deficiency system_messages: [ - "You will receive a multiple choice question. Your answer should only contain the right letter 'A', 'B', 'C' or 'D'" + "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" ] expected: - answer: "A" + answer: "a" + + ########################################################################################################### + # Test case: Student preparing for the Physikum for medical studies + ########################################################################################################### + + # Math relevant questions + + - case: multiple_answer_math + input: + prompt: A hollow organ of a patient contains 0.5 kg of liquid whose (mass) density is approximately the same as that of water. What is the approximate volume of this hollow organ? (A) 500 mm3 (B) 500 cm3 (C) 0,05 m3 (D) 0,5 m3 (E) 50 m3 + system_messages: + [ + "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" + ] + expected: + answer: "b" + + - case: multiple_answer_math + input: + prompt: In a car accident, an occupant weighing 75 kg is restrained by the tight-fitting seat belt, whereby a belt force limiter limits the force acting on the occupant to a maximum of 5,000 N. The acceleration acting on the occupant is thus limited (in terms of amount) to approx. (A) 0.067 m/s2 (B) 15 m/s2 (C) 33 m/s2 (D) 67 m/s2 (E) 375 m/s2 + system_messages: + [ + "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" + ] + expected: + answer: "d" + + - case: multiple_answer_math + input: + prompt: Medical oxygen is supplied in pressurised gas cylinders with an internal pressure of usually 200 bar. Manufacturers state that these cylinders should not be heated to over 50 °C and must be stored in a protected environment. By approximately what percentage does this internal pressure increase when such a pressurised gas cylinder is heated from 30 °C to 90 °C? (A) 3 % (B) 20 % (C) 40 % (D) 60 % (E) 300 % + system_messages: + [ + "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" + ] + expected: + answer: "b" + +# Biochemistry + + - case: multiple_choice_biochemistry + input: + prompt: A 14-year-old boy from the Mediterranean region has suddenly developed a life-threatening haemolytic crisis (massive breakdown/degradation of red blood cells). When talking to the parents, it turns out that the boy has received high doses of a painkiller, which also has an oxidising effect. The boy is found to have a genetic deficiency of a certain enzyme. A deficiency in which of the following enzymes best fits this description? (A) Fructokinase (B) Glucokinase (C) Glucose-6-phosphate dehydrogenase (D) pyruvate carboxylase (E) Pyruvate dehydrogenase + system_messages: + [ + "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" + ] + expected: + answer: "c" + + - case: multiple_choice_biochemistry + input: + prompt: Hepatocytes near the central vein in the hepatic acinus efficiently prevent the escape of ammonium ions from the liver. Which enzyme in these cells is primarily responsible for removing the remaining ammonium ions from the blood that have escaped the other hepatocytes of the hepatic acinus? (A) arginase (B) Carbamoyl phosphate synthetase 1 (C) Carbamoyl phosphate synthetase 2 (D) Glutaminase (E) Glutamine synthetase + system_messages: + [ + "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" + ] + expected: + answer: "e" + + - case: multiple_choice_biochemistry + input: + prompt: Proteins can be modified post-translationally by ubiquitin. Ubiquitin is a (A) diterpene (B) monosaccharide (C) Oligonucleotide (D) polypeptide (E) triacylglycerol + system_messages: + [ + "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" + ] + expected: + answer: "d" + + - case: yes_no_biochemistry + input: + prompt: Is this true? The tendency to thrombosis (thrombophilia) is in many cases genetically determined. Missense mutations in the gene for factor V can be the cause of familial thrombophilia. Due to such mutations, the activated factor V (Va) is less efficiently inactivated by an activated protein C and is therefore particularly stable. + system_messages: + [ + "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + ] + expected: + answer: "yes" + + - case: yes_no_biochemistry + input: + prompt: Is this true? The tendency to thrombosis (thrombophilia) is in many cases genetically determined. Missense mutations in the gene for factor V can be the cause of familial thrombophilia. Due to such mutations, the activated factor V (Va) is less efficiently inactivated by an activated thrombomobilin and is therefore particularly stable. + system_messages: + [ + "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + ] + expected: + answer: "no" + +# physiology + + - case: multiple_choice_physiology + input: + prompt: Which of these cells is most likely to release interleukin-2 after activation? B lymphocyte eosinophil granulocyte (C) mast cell (D) neutrophil granulocyte (E) T helper cell type 1 (TH1 cell) + system_messages: + [ + "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" + ] + expected: + answer: "e" + + - case: multiple_choice_physiology + input: + prompt: Immunoglobulins (Ig) are categorised into different classes. Which statement about the structure or occurrence of the Ig classes is generally correct? (A) The affiliation to the Ig class depends mainly on the structure of the light chain of an Ig. (B) The secreted Ig of all Ig classes are monomeric molecules.(C) IgG is the predominant Ig in oral saliva. (D) IgM is the predominant Ig in blood serum. (E) Mature, naive B lymphocytes have membrane-bound IgM and IgD. + system_messages: + [ + "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" + ] + expected: + answer: "e" + + - case: yes_no_physiology + input: + prompt: Is the apparent viscosity of the blood with a normal haematocrit (and under otherwise identical conditions) typically lower with a vessel diameter of around 8 μm than with a vessel diameter of 4 μm? + system_messages: + [ + "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + ] + expected: + answer: "yes" + + - case: yes_no_physiology + input: + prompt: Is the apparent (apparente) viscosity of the blood with normal haematocrit (and under otherwise identical conditions) always lower in large vessels than in small vessels? + system_messages: + [ + "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + ] + expected: + answer: "no" + + - case: one_word_physiology + input: + prompt: Which temporal assignment of the ECG section to the states of the heart valves is generally correct when the AV valves are open and the pocket valves are closed? Is it the p-wave or the tp-intervall? + system_messages: + [ + "Answer the following question with just one word" + ] + expected: + answer: "p-wave" + +# anatomy + + - case: multiple_choice_anatomy + input: + prompt: Which of these muscles is primarily involved in the internal rotation of the humerus in the shoulder joint? (A) M. infraspinatus (B) M. pectoralis minor (C) M. subscapularis (D) M. supraspinatus (E) M. teres minor + system_messages: + [ + "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" + ] + expected: + answer: "c" + + + + From fb7c43119a3f166c5843a1ed7bae2c68fca0b240 Mon Sep 17 00:00:00 2001 From: Luna Zetsche Date: Tue, 23 Apr 2024 22:02:01 +0200 Subject: [PATCH 10/69] regex suche --- benchmark/conftest.py | 5 +++ benchmark/data/benchmark_data.yaml | 23 +++++++++++ benchmark/test_pdsm.py | 62 +----------------------------- benchmark/test_pdsm_regex.py | 55 ++++++++++++++++++++++++++ 4 files changed, 84 insertions(+), 61 deletions(-) create mode 100644 benchmark/test_pdsm_regex.py diff --git a/benchmark/conftest.py b/benchmark/conftest.py index f81ba330..57a1842d 100644 --- a/benchmark/conftest.py +++ b/benchmark/conftest.py @@ -406,6 +406,11 @@ def pytest_generate_tests(metafunc): "test_data_pdsm", data_file["pdsm"], ) + if "test_data_pdsm_regex" in metafunc.fixturenames: + metafunc.parametrize( + "test_data_pdsm_regex", + data_file["pdsm_regex"], + ) @pytest.fixture diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index 543ac992..3f5481be 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -393,6 +393,29 @@ pdsm: expected: answer: "c" +################# +pdsm_regex: + +- case: asymmetry_calculations + input: + system_messages: + [ + Beantworte die Frage so präzise und kurz wie möglich + ] + prompt: "Nenne mir die drei gängigsten Berechnungen für die Asymmetrie zwischen Elektrodenpaaren in EEG-Signalen" + expected: + words_in_response: + - + - "Absolute Asymmetry" + - "Absolute Differenz" + - + - "Relative Asymmetry" + - "Relative Differenz" + - + - "Coherence" + - "Logarithmierte Differenz" + + diff --git a/benchmark/test_pdsm.py b/benchmark/test_pdsm.py index 8bfe8445..1579e7fb 100644 --- a/benchmark/test_pdsm.py +++ b/benchmark/test_pdsm.py @@ -19,7 +19,7 @@ def test_correctness_of_answers( ): yaml_data = test_data_pdsm task = f"{inspect.currentframe().f_code.co_name.replace('test_', '')}" - # Wieder einkomentieren, wenn benötigt + # Wieder einkommentieren, wenn benötigt '''skip_if_already_run( model_name=model_name, task=task, md5_hash=yaml_data["hash"] )''' @@ -57,63 +57,3 @@ def run_test(): ) -'''def test_implicit_relevance_of_multiple_fragments( - model_name, - test_data_rag_interpretation, - conversation, - evaluation_conversation, - multiple_testing, -): - yaml_data = test_data_rag_interpretation - task = f"{inspect.currentframe().f_code.co_name.replace('test_', '')}" - skip_if_already_run( - model_name=model_name, task=task, md5_hash=yaml_data["hash"] - ) - if "implicit" not in yaml_data["case"]: - pytest.skip( - f"test case {yaml_data['case']} not supported for {task} benchmark" - ) - - def run_test(): - conversation.reset() # needs to be reset for each test - [ - conversation.append_system_message(m) - for m in yaml_data["input"]["system_messages"] - ] - response, _, _ = conversation.query(yaml_data["input"]["prompt"]) - - msg = ( - "You will receive a statement as an answer to this question: " - f"{yaml_data['input']['prompt']} " - "If the statement is an answer to the question, please type 'answer'. " - "If the statement declines to answer to the question or apologises, giving the reason of lack of relevance of the given text fragments, please type 'decline'. " - "Do not type anything except these two options. Here is the statement: " - ) - - # evaluator LLM - evaluation_conversation.append_system_message(msg) - - eval, _, _ = evaluation_conversation.query(response) - - # lower case, remove punctuation - eval = ( - eval.lower().replace(".", "").replace("?", "").replace("!", "") - ).strip() - - score = ( - [True] if eval == yaml_data["expected"]["behaviour"] else [False] - ) - - return calculate_test_score(score) - - mean_score, max, n_iterations = multiple_testing(run_test) - - write_results_to_file( - model_name, - yaml_data["case"], - f"{mean_score}/{max}", - f"{n_iterations}", - yaml_data["hash"], - get_result_file_path(task), - ) -''' \ No newline at end of file diff --git a/benchmark/test_pdsm_regex.py b/benchmark/test_pdsm_regex.py new file mode 100644 index 00000000..b5e89f6e --- /dev/null +++ b/benchmark/test_pdsm_regex.py @@ -0,0 +1,55 @@ +import re +import inspect + +from .conftest import calculate_test_score +from .benchmark_utils import ( + skip_if_already_run, + get_result_file_path, + write_results_to_file, +) + + +def test_asymmetry_calculations( + model_name, + test_data_pdsm_regex, + conversation, + multiple_testing +): + yaml_data = test_data_pdsm_regex + task = f"{inspect.currentframe().f_code.co_name.replace('test_', '')}" + + def run_test(): + + conversation.reset() # needs to be reset for each test + [ + conversation.append_system_message(m) + for m in yaml_data["input"]["system_messages"] + ] + response, _, _ = conversation.query(yaml_data["input"]["prompt"]) + + score = [] + + expected_word_pairs = yaml_data["expected"]["words_in_response"] + for pair in expected_word_pairs: + regex = "|".join(pair) + if re.search(regex, response, re.IGNORECASE): + score.append(True) + else: + score.append(False) + print(f"Expected words '{pair}' not found in response: {response}") + + return calculate_test_score(score) + + mean_score, max, n_iterations = multiple_testing(run_test) + + write_results_to_file( + model_name, + yaml_data["case"], + f"{mean_score}/{max}", + f"{n_iterations}", + yaml_data["hash"], + get_result_file_path(task), + ) + + + From 0f772def40851bd8226c5317dabe0125606b33c9 Mon Sep 17 00:00:00 2001 From: Luna Zetsche Date: Tue, 23 Apr 2024 22:05:58 +0200 Subject: [PATCH 11/69] lowercase wieder rein ups --- benchmark/test_pdsm_regex.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/benchmark/test_pdsm_regex.py b/benchmark/test_pdsm_regex.py index b5e89f6e..e47d120f 100644 --- a/benchmark/test_pdsm_regex.py +++ b/benchmark/test_pdsm_regex.py @@ -25,8 +25,13 @@ def run_test(): conversation.append_system_message(m) for m in yaml_data["input"]["system_messages"] ] + response, _, _ = conversation.query(yaml_data["input"]["prompt"]) + response = ( + response.lower().replace(".", "").replace("?", "").replace("!", "") + ).strip() + score = [] expected_word_pairs = yaml_data["expected"]["words_in_response"] From fb7905d7b1a65d875dd7bf4b5b29070e934d9719 Mon Sep 17 00:00:00 2001 From: Yasmin Tehranchian Date: Sat, 27 Apr 2024 19:39:09 +0200 Subject: [PATCH 12/69] ADD Emergency Testcase --- benchmark/data/benchmark_data.yaml | 162 +++++++++++++++++++++++++++++ 1 file changed, 162 insertions(+) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index 3f5481be..c1f0f1e0 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -418,6 +418,168 @@ pdsm_regex: +########################################################################################################### + # Test case: Questions about “emergency medicine” for prospective emergency physicians + # Language: German +########################################################################################################### + +pdsm_emergency: + + # Level 1: Yes or no questions + - case: yes_no_emergency + input: + prompt: Bei einem Herzinfarkt wird typischerweise Aspirin eingesetzt? + system_messages: + [ + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + ] + expected: + answer: "ja" + + - case: yes_no_emergency + input: + prompt: Ist RHUB ist die Abkürzung für einen Rettungshubschrauber? + system_messages: + [ + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + ] + expected: + answer: "nein" + + - case: yes_no_emergency + input: + prompt: Bei einem epileptischen Anfall immer versuchen die Person festzuhalten? + system_messages: + [ + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + ] + expected: + answer: "nein" + + - case: yes_no_emergency + input: + prompt: Bei CPR sind Kompressionen wichtiger als die Luftzufuhr? + system_messages: + [ + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + ] + expected: + answer: "ja" + + - case: yes_no_emergency + input: + prompt: Kann man einen automatisierten externen Defibrillator (AED) auch bei Epilepsie verwenden? + system_messages: + [ + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + ] + expected: + answer: "nein" + + # Level 2: Multiple choice questions + + - case: multiple_choice_emergency + input: + prompt: Welches „Stresshormon“ steigert Blutdruck und Herzfrequenz?? (A) Insulin (B) Adrenalin (C) Melatonin (D) Leptin + system_messages: + [ + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden" + ] + expected: + answer: "b" + + - case: multiple_choice_emergency + input: + prompt: Welcher Wirkstoff wird bei einem aktuten Asthmaanfall indiziert? (A) Verapamil (B) Fenoterol (C) Haloperidol (D) 4-Dimethylaminophenol + system_messages: + [ + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden" + ] + expected: + answer: "b" + + - case: multiple_choice_emergency + input: + prompt: Was bezeichnet der systolische Blutdruckwert? (A) Den unteren Wert, also den Druck in der Entspannungsphase des Herzens (B) Den über eine Minute gemittelten Druck (C) Den höchsten Druck direkt nach Ventrikelkontraktion (D) Das Gleiche, wie der diastolische Wert + system_messages: + [ + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden" + ] + expected: + answer: "c" + + - case: multiple_choice_emergency + input: + prompt: Bei welchem Blutzuckerwert besteht die Gefahr eines diabetischen Komas? (A) < 20 mg/dl (B) < 50 mg/dl (C) < 90 mg/dl (D) > 110 mg/dl (E) > 300 mg/dl + system_messages: + [ + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden" + ] + expected: + answer: "e" + + - case: multiple_choice_emergency + input: + prompt: Bei welcher Diagnose ist die Hochlagerung der Beine kontraindiziert? (A) Hypovolämischer Schock (B) Anaphylaktischer Schock (C) Hypoglykämischer Schock (D) Kardiogener Schock (E) Septisch-Toxischer Schock + system_messages: + [ + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden" + ] + expected: + answer: "d" + + + # Level 3: Word questions + + - case: one_word_emergency + input: + prompt: Was ist der erste Schritt bei der Erste-Hilfe-Leistung nach dem ABCDE Schema? + system_messages: + [ + "Beantworten Sie die folgende Frage mit nur einem Wort" + ] + expected: + answer: "Atemwege" + + - case: one_word_emergency + input: + prompt: Welche Art von Blut führt die Lungenvene? + system_messages: + [ + "Beantworten Sie die folgende Frage mit nur einem Wort" + ] + expected: + answer: "Sauerstoffreiches" + + - case: one_word_emergency + input: + prompt: Welche Blutgruppe gibt bei unbekannten Notfällen? + system_messages: + [ + "Beantworten Sie die folgende Frage mit nur einem Wort. Bei der Antwort Null, verwenden Sie bitte die Zahl 0." + ] + expected: + answer: "0" + + - case: short_words_emergency + input: + prompt: Was erfordert der Einsatz eines Guedeltubus? + system_messages: + [ + "Beantworten Sie die folgende Frage so kurz wie möglich" + ] + expected: + answer: "Tiefe Bewusstlosigkeit" + + - case: short_words_emergency + input: + prompt: Wofür stehen die Buchstaben der RICE-Methode? + system_messages: + [ + "Beantworten Sie die folgende Frage so kurz wie möglich und verwenden sie die original Begriffe auf Englisch." + ] + expected: + answer: "Rest, Ice, Compression, Elevation" From 827aad8f7130479efe9ab6f97fb24074da21b2c6 Mon Sep 17 00:00:00 2001 From: Luna Zetsche Date: Mon, 29 Apr 2024 14:35:26 +0200 Subject: [PATCH 13/69] CHANGE: regex and not regex in one runtest and csv --- benchmark/data/benchmark_data.yaml | 140 +++++++++++++----- ...explicit_relevance_of_single_fragments.csv | 6 + ...plicit_relevance_of_multiple_fragments.csv | 2 + benchmark/test_pdsm.py | 72 ++++++++- benchmark/test_pdsm_regex.py | 16 +- 5 files changed, 195 insertions(+), 41 deletions(-) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index 3f5481be..de6765a6 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -247,7 +247,7 @@ pdsm: # Math relevant questions - - case: multiple_answer_math + - case: multiple_answer_math_en input: prompt: A hollow organ of a patient contains 0.5 kg of liquid whose (mass) density is approximately the same as that of water. What is the approximate volume of this hollow organ? (A) 500 mm3 (B) 500 cm3 (C) 0,05 m3 (D) 0,5 m3 (E) 50 m3 system_messages: @@ -257,7 +257,7 @@ pdsm: expected: answer: "b" - - case: multiple_answer_math + - case: multiple_answer_math_en input: prompt: In a car accident, an occupant weighing 75 kg is restrained by the tight-fitting seat belt, whereby a belt force limiter limits the force acting on the occupant to a maximum of 5,000 N. The acceleration acting on the occupant is thus limited (in terms of amount) to approx. (A) 0.067 m/s2 (B) 15 m/s2 (C) 33 m/s2 (D) 67 m/s2 (E) 375 m/s2 system_messages: @@ -267,7 +267,7 @@ pdsm: expected: answer: "d" - - case: multiple_answer_math + - case: multiple_answer_math_en input: prompt: Medical oxygen is supplied in pressurised gas cylinders with an internal pressure of usually 200 bar. Manufacturers state that these cylinders should not be heated to over 50 °C and must be stored in a protected environment. By approximately what percentage does this internal pressure increase when such a pressurised gas cylinder is heated from 30 °C to 90 °C? (A) 3 % (B) 20 % (C) 40 % (D) 60 % (E) 300 % system_messages: @@ -279,7 +279,7 @@ pdsm: # Biochemistry - - case: multiple_choice_biochemistry + - case: multiple_choice_biochemistry_en input: prompt: A 14-year-old boy from the Mediterranean region has suddenly developed a life-threatening haemolytic crisis (massive breakdown/degradation of red blood cells). When talking to the parents, it turns out that the boy has received high doses of a painkiller, which also has an oxidising effect. The boy is found to have a genetic deficiency of a certain enzyme. A deficiency in which of the following enzymes best fits this description? (A) Fructokinase (B) Glucokinase (C) Glucose-6-phosphate dehydrogenase (D) pyruvate carboxylase (E) Pyruvate dehydrogenase system_messages: @@ -289,7 +289,7 @@ pdsm: expected: answer: "c" - - case: multiple_choice_biochemistry + - case: multiple_choice_biochemistry_en input: prompt: Hepatocytes near the central vein in the hepatic acinus efficiently prevent the escape of ammonium ions from the liver. Which enzyme in these cells is primarily responsible for removing the remaining ammonium ions from the blood that have escaped the other hepatocytes of the hepatic acinus? (A) arginase (B) Carbamoyl phosphate synthetase 1 (C) Carbamoyl phosphate synthetase 2 (D) Glutaminase (E) Glutamine synthetase system_messages: @@ -299,7 +299,7 @@ pdsm: expected: answer: "e" - - case: multiple_choice_biochemistry + - case: multiple_choice_biochemistry_en input: prompt: Proteins can be modified post-translationally by ubiquitin. Ubiquitin is a (A) diterpene (B) monosaccharide (C) Oligonucleotide (D) polypeptide (E) triacylglycerol system_messages: @@ -309,7 +309,7 @@ pdsm: expected: answer: "d" - - case: yes_no_biochemistry + - case: yes_no_biochemistry_en input: prompt: Is this true? The tendency to thrombosis (thrombophilia) is in many cases genetically determined. Missense mutations in the gene for factor V can be the cause of familial thrombophilia. Due to such mutations, the activated factor V (Va) is less efficiently inactivated by an activated protein C and is therefore particularly stable. system_messages: @@ -319,7 +319,7 @@ pdsm: expected: answer: "yes" - - case: yes_no_biochemistry + - case: yes_no_biochemistry_en input: prompt: Is this true? The tendency to thrombosis (thrombophilia) is in many cases genetically determined. Missense mutations in the gene for factor V can be the cause of familial thrombophilia. Due to such mutations, the activated factor V (Va) is less efficiently inactivated by an activated thrombomobilin and is therefore particularly stable. system_messages: @@ -331,7 +331,7 @@ pdsm: # physiology - - case: multiple_choice_physiology + - case: multiple_choice_physiology_en input: prompt: Which of these cells is most likely to release interleukin-2 after activation? B lymphocyte eosinophil granulocyte (C) mast cell (D) neutrophil granulocyte (E) T helper cell type 1 (TH1 cell) system_messages: @@ -341,7 +341,7 @@ pdsm: expected: answer: "e" - - case: multiple_choice_physiology + - case: multiple_choice_physiology_en input: prompt: Immunoglobulins (Ig) are categorised into different classes. Which statement about the structure or occurrence of the Ig classes is generally correct? (A) The affiliation to the Ig class depends mainly on the structure of the light chain of an Ig. (B) The secreted Ig of all Ig classes are monomeric molecules.(C) IgG is the predominant Ig in oral saliva. (D) IgM is the predominant Ig in blood serum. (E) Mature, naive B lymphocytes have membrane-bound IgM and IgD. system_messages: @@ -351,7 +351,7 @@ pdsm: expected: answer: "e" - - case: yes_no_physiology + - case: yes_no_physiology_en input: prompt: Is the apparent viscosity of the blood with a normal haematocrit (and under otherwise identical conditions) typically lower with a vessel diameter of around 8 μm than with a vessel diameter of 4 μm? system_messages: @@ -361,7 +361,7 @@ pdsm: expected: answer: "yes" - - case: yes_no_physiology + - case: yes_no_physiology_en input: prompt: Is the apparent (apparente) viscosity of the blood with normal haematocrit (and under otherwise identical conditions) always lower in large vessels than in small vessels? system_messages: @@ -371,7 +371,7 @@ pdsm: expected: answer: "no" - - case: one_word_physiology + - case: one_word_physiology_en input: prompt: Which temporal assignment of the ECG section to the states of the heart valves is generally correct when the AV valves are open and the pocket valves are closed? Is it the p-wave or the tp-intervall? system_messages: @@ -383,7 +383,7 @@ pdsm: # anatomy - - case: multiple_choice_anatomy + - case: multiple_choice_anatomy_en input: prompt: Which of these muscles is primarily involved in the internal rotation of the humerus in the shoulder joint? (A) M. infraspinatus (B) M. pectoralis minor (C) M. subscapularis (D) M. supraspinatus (E) M. teres minor system_messages: @@ -393,27 +393,97 @@ pdsm: expected: answer: "c" -################# -pdsm_regex: - -- case: asymmetry_calculations - input: - system_messages: - [ - Beantworte die Frage so präzise und kurz wie möglich - ] - prompt: "Nenne mir die drei gängigsten Berechnungen für die Asymmetrie zwischen Elektrodenpaaren in EEG-Signalen" - expected: - words_in_response: - - - - "Absolute Asymmetry" - - "Absolute Differenz" - - - - "Relative Asymmetry" - - "Relative Differenz" - - - - "Coherence" - - "Logarithmierte Differenz" +########################################################################################################### +# Test case: Working on a datascience project with eeg data +########################################################################################################### + + + - case: regex_eeg_data_de + input: + system_messages: + [ + Beantworte die Frage so präzise und kurz wie möglich + ] + prompt: "Nenne mir die drei gängigsten Berechnungen für die Asymmetrie zwischen Elektrodenpaaren in EEG-Signalen" + expected: + words_in_response: + - + - "Absolute Asymmetry" + - "Absolute Differenz" + - + - "Relative Asymmetry" + - "Relative Differenz" + - + - "Coherence" + - "Logarithmierte Differenz" + + - case: regex_eeg_data_de + input: + system_messages: + [ + Beantworte die Frage so präzise und kurz wie möglich + ] + prompt: "Nenne alle Channel die in einem 10/20 EEG vertreten sind" + expected: + words_in_response: + - "Fp1" + - "Fp2" + - "F7" + - "F3" + - "Fz" + - "F4" + - "F8" + - "T3" + - "C3" + - "Cz" + - "C4" + - "T4" + - "T5" + - "P3" + - "Pz" + - "P4" + - "T6" + - "O1" + - "O2" + + - case: regex_eeg_data_en + input: + system_messages: + [ + Answer the question short and precisely + ] + prompt: "Name all channels represented in a 10/20 EEG" + expected: + words_in_response: + - "Fp1" + - "Fp2" + - "F7" + - "F3" + - "Fz" + - "F4" + - "F8" + - "T3" + - "C3" + - "Cz" + - "C4" + - "T4" + - "T5" + - "P3" + - "Pz" + - "P4" + - "T6" + - "O1" + - "O2" + + - case: multiple_choice_eeg_data_de + input: + system_messages: + [ + Du erhälst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort. + ] + prompt: "Zu welchem EEG-Frequenzband gehört folgende Frequenz: 40hz? A Alpha B Gamma C Theta D Delta E Beta" + expected: + answer: "B" diff --git a/benchmark/results/explicit_relevance_of_single_fragments.csv b/benchmark/results/explicit_relevance_of_single_fragments.csv index a78e18ed..82f2a5ad 100644 --- a/benchmark/results/explicit_relevance_of_single_fragments.csv +++ b/benchmark/results/explicit_relevance_of_single_fragments.csv @@ -114,11 +114,17 @@ code-llama-instruct:7:ggufv2:Q8_0,explicit_relevance_no_repeat_instruction,1.0/1 code-llama-instruct:7:ggufv2:Q8_0,explicit_relevance_no_simple,1.0/1,5,bf26b8241de3470cd9a406aea0992fb2,2024-02-10 11:50:25 code-llama-instruct:7:ggufv2:Q8_0,explicit_relevance_yes,1.0/1,5,1f7a20371c9b65790b9b8e8be116b246,2024-02-10 11:48:39 gpt-3.5-turbo-0125,explicit_evaluation_no,1.0/1,5,d15e0094569f8df146459b50a781fc55,2024-02-12 08:31:21 +gpt-3.5-turbo-0125,explicit_evaluation_no,1.0/1,1,d15e0094569f8df146459b50a781fc55,2024-04-29 14:13:47 gpt-3.5-turbo-0125,explicit_evaluation_yes,1.0/1,5,1773602eac8037fbea015069d5f15cd2,2024-02-12 08:31:24 +gpt-3.5-turbo-0125,explicit_evaluation_yes,1.0/1,1,1773602eac8037fbea015069d5f15cd2,2024-04-29 14:13:49 gpt-3.5-turbo-0125,explicit_relevance_no_more_explicit,1.0/1,5,8dddcfc1314f6f671d59a3a90c95e3c0,2024-02-12 08:31:50 +gpt-3.5-turbo-0125,explicit_relevance_no_more_explicit,1.0/1,1,8dddcfc1314f6f671d59a3a90c95e3c0,2024-04-29 14:13:58 gpt-3.5-turbo-0125,explicit_relevance_no_repeat_instruction,1.0/1,5,1ca6c04890597e4ece0eb8ad632f3f75,2024-02-12 08:31:53 +gpt-3.5-turbo-0125,explicit_relevance_no_repeat_instruction,1.0/1,1,1ca6c04890597e4ece0eb8ad632f3f75,2024-04-29 14:14:01 gpt-3.5-turbo-0125,explicit_relevance_no_simple,1.0/1,5,bf26b8241de3470cd9a406aea0992fb2,2024-02-12 08:31:46 +gpt-3.5-turbo-0125,explicit_relevance_no_simple,1.0/1,1,bf26b8241de3470cd9a406aea0992fb2,2024-04-29 14:13:57 gpt-3.5-turbo-0125,explicit_relevance_yes,1.0/1,5,1f7a20371c9b65790b9b8e8be116b246,2024-02-12 08:31:18 +gpt-3.5-turbo-0125,explicit_relevance_yes,1.0/1,1,1f7a20371c9b65790b9b8e8be116b246,2024-04-29 14:13:45 gpt-3.5-turbo-0613,explicit_evaluation_no,1.0/1,5,d15e0094569f8df146459b50a781fc55,2024-02-10 11:56:05 gpt-3.5-turbo-0613,explicit_evaluation_yes,1.0/1,5,1773602eac8037fbea015069d5f15cd2,2024-02-10 11:56:08 gpt-3.5-turbo-0613,explicit_relevance_no_more_explicit,1.0/1,5,8dddcfc1314f6f671d59a3a90c95e3c0,2024-02-10 11:56:42 diff --git a/benchmark/results/implicit_relevance_of_multiple_fragments.csv b/benchmark/results/implicit_relevance_of_multiple_fragments.csv index 735aa595..cc4ebe9d 100644 --- a/benchmark/results/implicit_relevance_of_multiple_fragments.csv +++ b/benchmark/results/implicit_relevance_of_multiple_fragments.csv @@ -38,7 +38,9 @@ code-llama-instruct:7:ggufv2:Q6_K,implicit_relevance_yes,1.0/1,5,f9d749647929fcb code-llama-instruct:7:ggufv2:Q8_0,implicit_relevance_no,0.0/1,5,b24fb31fd761b0f3e308bebd70ce4277,2024-02-10 11:49:53 code-llama-instruct:7:ggufv2:Q8_0,implicit_relevance_yes,1.0/1,5,f9d749647929fcb55321c614a3bf8d20,2024-02-10 11:50:22 gpt-3.5-turbo-0125,implicit_relevance_no,0.8/1,5,b24fb31fd761b0f3e308bebd70ce4277,2024-02-12 08:31:33 +gpt-3.5-turbo-0125,implicit_relevance_no,1.0/1,1,b24fb31fd761b0f3e308bebd70ce4277,2024-04-29 14:13:53 gpt-3.5-turbo-0125,implicit_relevance_yes,1.0/1,5,f9d749647929fcb55321c614a3bf8d20,2024-02-12 08:31:42 +gpt-3.5-turbo-0125,implicit_relevance_yes,1.0/1,1,f9d749647929fcb55321c614a3bf8d20,2024-04-29 14:13:56 gpt-3.5-turbo-0613,implicit_relevance_no,1.0/1,5,b24fb31fd761b0f3e308bebd70ce4277,2024-02-10 11:56:18 gpt-3.5-turbo-0613,implicit_relevance_yes,1.0/1,5,f9d749647929fcb55321c614a3bf8d20,2024-02-10 11:56:37 gpt-4-0125-preview,implicit_relevance_no,0.0/1,5,b24fb31fd761b0f3e308bebd70ce4277,2024-02-12 08:38:56 diff --git a/benchmark/test_pdsm.py b/benchmark/test_pdsm.py index 1579e7fb..6da8c2c6 100644 --- a/benchmark/test_pdsm.py +++ b/benchmark/test_pdsm.py @@ -1,4 +1,5 @@ import inspect +import re import pytest @@ -24,6 +25,7 @@ def test_correctness_of_answers( model_name=model_name, task=task, md5_hash=yaml_data["hash"] )''' + def run_test(): conversation.reset() # needs to be reset for each test [ @@ -38,10 +40,76 @@ def run_test(): ).strip() print(response) + print(get_result_file_path(task)) score = [] + if "regex" not in yaml_data["case"]: + score.append(response == yaml_data["expected"]["answer"]) + else: + expected_word_pairs = yaml_data["expected"]["words_in_response"] + for pair in expected_word_pairs: + regex = "|".join(pair) + if re.search(regex, response, re.IGNORECASE): + # print(f"Expected words '{pair}' found in response: {response}") + score.append(True) + else: + score.append(False) + + return calculate_test_score(score) + + mean_score, max, n_iterations = multiple_testing(run_test) + + write_results_to_file( + model_name, + yaml_data["case"], + f"{mean_score}/{max}", + f"{n_iterations}", + yaml_data["hash"], + get_result_file_path(task), + ) + +''' +def test_correctness_with_regex( + model_name, + test_data_pdsm, + conversation, + multiple_testing +): + yaml_data = test_data_pdsm + task = f"{inspect.currentframe().f_code.co_name.replace('test_', '')}" + + # Skip if the test doesn't need regex + if "regex" not in yaml_data["case"]: + pytest.skip( + f"test case {yaml_data['case']} not supported for {task} benchmark" + ) + + def run_test(): + + conversation.reset() # needs to be reset for each test + [ + conversation.append_system_message(m) + for m in yaml_data["input"]["system_messages"] + ] + + response, _, _ = conversation.query(yaml_data["input"]["prompt"]) + + response = ( + response.lower().replace(".", "").replace("?", "").replace("!", "") + ).strip() + + score = [] + print(response) - score.append(response == yaml_data["expected"]["answer"]) + expected_word_pairs = yaml_data["expected"]["words_in_response"] + for pair in expected_word_pairs: + regex = "|".join(pair) + if re.search(regex, response, re.IGNORECASE): + #print(f"Expected words '{pair}' found in response: {response}") + score.append(True) + else: + score.append(False) + #print(f"Expected words '{pair}' not found in response: {response}") return calculate_test_score(score) @@ -55,5 +123,7 @@ def run_test(): yaml_data["hash"], get_result_file_path(task), ) + + ''' diff --git a/benchmark/test_pdsm_regex.py b/benchmark/test_pdsm_regex.py index e47d120f..16f5ac39 100644 --- a/benchmark/test_pdsm_regex.py +++ b/benchmark/test_pdsm_regex.py @@ -1,5 +1,6 @@ import re import inspect +import pytest from .conftest import calculate_test_score from .benchmark_utils import ( @@ -9,7 +10,7 @@ ) -def test_asymmetry_calculations( +def test_correctness_with_regex( model_name, test_data_pdsm_regex, conversation, @@ -18,6 +19,12 @@ def test_asymmetry_calculations( yaml_data = test_data_pdsm_regex task = f"{inspect.currentframe().f_code.co_name.replace('test_', '')}" + # Skip if the test needs both words of the pair + if "both" in yaml_data["case"]: + pytest.skip( + f"test case {yaml_data['case']} not supported for {task} benchmark" + ) + def run_test(): conversation.reset() # needs to be reset for each test @@ -33,15 +40,17 @@ def run_test(): ).strip() score = [] + print(response) expected_word_pairs = yaml_data["expected"]["words_in_response"] for pair in expected_word_pairs: regex = "|".join(pair) if re.search(regex, response, re.IGNORECASE): + #print(f"Expected words '{pair}' found in response: {response}") score.append(True) else: score.append(False) - print(f"Expected words '{pair}' not found in response: {response}") + #print(f"Expected words '{pair}' not found in response: {response}") return calculate_test_score(score) @@ -55,6 +64,3 @@ def run_test(): yaml_data["hash"], get_result_file_path(task), ) - - - From 7b1d7855a25adf10ee7dd3fcd339331d9063c70c Mon Sep 17 00:00:00 2001 From: Luna Zetsche Date: Mon, 29 Apr 2024 15:13:11 +0200 Subject: [PATCH 14/69] REFACTOR test names changed --- benchmark/conftest.py | 12 ++-- benchmark/data/benchmark_data.yaml | 2 +- ...py => test_correctness_medical_usecase.py} | 69 ++----------------- benchmark/test_pdsm_regex.py | 66 ------------------ 4 files changed, 12 insertions(+), 137 deletions(-) rename benchmark/{test_pdsm.py => test_correctness_medical_usecase.py} (53%) delete mode 100644 benchmark/test_pdsm_regex.py diff --git a/benchmark/conftest.py b/benchmark/conftest.py index 57a1842d..bb9eed0a 100644 --- a/benchmark/conftest.py +++ b/benchmark/conftest.py @@ -401,18 +401,14 @@ def pytest_generate_tests(metafunc): "test_data_text_extraction", data_file["text_extraction"], ) - if "test_data_pdsm" in metafunc.fixturenames: + if "test_data_correctness" in metafunc.fixturenames: metafunc.parametrize( - "test_data_pdsm", - data_file["pdsm"], - ) - if "test_data_pdsm_regex" in metafunc.fixturenames: - metafunc.parametrize( - "test_data_pdsm_regex", - data_file["pdsm_regex"], + "test_data_correctness", + data_file["correctness"], ) + @pytest.fixture def kg_schemas(): data_file = BENCHMARK_DATASET["benchmark_data.yaml"] diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index de6765a6..a20ab8ba 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -218,7 +218,7 @@ rag_interpretation: # new test cases pdsm -pdsm: +correctness: # test simple yes / no answer - case: single_answer_yes input: diff --git a/benchmark/test_pdsm.py b/benchmark/test_correctness_medical_usecase.py similarity index 53% rename from benchmark/test_pdsm.py rename to benchmark/test_correctness_medical_usecase.py index 6da8c2c6..36fb5d9c 100644 --- a/benchmark/test_pdsm.py +++ b/benchmark/test_correctness_medical_usecase.py @@ -14,11 +14,11 @@ def test_correctness_of_answers( model_name, - test_data_pdsm, + test_data_correctness, conversation, multiple_testing, ): - yaml_data = test_data_pdsm + yaml_data = test_data_correctness task = f"{inspect.currentframe().f_code.co_name.replace('test_', '')}" # Wieder einkommentieren, wenn benötigt '''skip_if_already_run( @@ -42,9 +42,14 @@ def run_test(): print(response) print(get_result_file_path(task)) + # calculate score of correct answers score = [] + + # calculate for answers without regex if "regex" not in yaml_data["case"]: score.append(response == yaml_data["expected"]["answer"]) + + #calculate for answers with regex else: expected_word_pairs = yaml_data["expected"]["words_in_response"] for pair in expected_word_pairs: @@ -67,63 +72,3 @@ def run_test(): yaml_data["hash"], get_result_file_path(task), ) - -''' -def test_correctness_with_regex( - model_name, - test_data_pdsm, - conversation, - multiple_testing -): - yaml_data = test_data_pdsm - task = f"{inspect.currentframe().f_code.co_name.replace('test_', '')}" - - # Skip if the test doesn't need regex - if "regex" not in yaml_data["case"]: - pytest.skip( - f"test case {yaml_data['case']} not supported for {task} benchmark" - ) - - def run_test(): - - conversation.reset() # needs to be reset for each test - [ - conversation.append_system_message(m) - for m in yaml_data["input"]["system_messages"] - ] - - response, _, _ = conversation.query(yaml_data["input"]["prompt"]) - - response = ( - response.lower().replace(".", "").replace("?", "").replace("!", "") - ).strip() - - score = [] - print(response) - - expected_word_pairs = yaml_data["expected"]["words_in_response"] - for pair in expected_word_pairs: - regex = "|".join(pair) - if re.search(regex, response, re.IGNORECASE): - #print(f"Expected words '{pair}' found in response: {response}") - score.append(True) - else: - score.append(False) - #print(f"Expected words '{pair}' not found in response: {response}") - - return calculate_test_score(score) - - mean_score, max, n_iterations = multiple_testing(run_test) - - write_results_to_file( - model_name, - yaml_data["case"], - f"{mean_score}/{max}", - f"{n_iterations}", - yaml_data["hash"], - get_result_file_path(task), - ) - - ''' - - diff --git a/benchmark/test_pdsm_regex.py b/benchmark/test_pdsm_regex.py deleted file mode 100644 index 16f5ac39..00000000 --- a/benchmark/test_pdsm_regex.py +++ /dev/null @@ -1,66 +0,0 @@ -import re -import inspect -import pytest - -from .conftest import calculate_test_score -from .benchmark_utils import ( - skip_if_already_run, - get_result_file_path, - write_results_to_file, -) - - -def test_correctness_with_regex( - model_name, - test_data_pdsm_regex, - conversation, - multiple_testing -): - yaml_data = test_data_pdsm_regex - task = f"{inspect.currentframe().f_code.co_name.replace('test_', '')}" - - # Skip if the test needs both words of the pair - if "both" in yaml_data["case"]: - pytest.skip( - f"test case {yaml_data['case']} not supported for {task} benchmark" - ) - - def run_test(): - - conversation.reset() # needs to be reset for each test - [ - conversation.append_system_message(m) - for m in yaml_data["input"]["system_messages"] - ] - - response, _, _ = conversation.query(yaml_data["input"]["prompt"]) - - response = ( - response.lower().replace(".", "").replace("?", "").replace("!", "") - ).strip() - - score = [] - print(response) - - expected_word_pairs = yaml_data["expected"]["words_in_response"] - for pair in expected_word_pairs: - regex = "|".join(pair) - if re.search(regex, response, re.IGNORECASE): - #print(f"Expected words '{pair}' found in response: {response}") - score.append(True) - else: - score.append(False) - #print(f"Expected words '{pair}' not found in response: {response}") - - return calculate_test_score(score) - - mean_score, max, n_iterations = multiple_testing(run_test) - - write_results_to_file( - model_name, - yaml_data["case"], - f"{mean_score}/{max}", - f"{n_iterations}", - yaml_data["hash"], - get_result_file_path(task), - ) From 3356c9eeef48e3a9f83fd1dd0a3b3b73969d2782 Mon Sep 17 00:00:00 2001 From: Luna Zetsche Date: Tue, 30 Apr 2024 08:38:55 +0200 Subject: [PATCH 15/69] ADDED new regex EEG-Questions --- benchmark/data/benchmark_data.yaml | 51 ++++++++++++++++--- benchmark/test_correctness_medical_usecase.py | 6 +-- 2 files changed, 46 insertions(+), 11 deletions(-) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index a20ab8ba..ab8f3c58 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -397,14 +397,15 @@ correctness: # Test case: Working on a datascience project with eeg data ########################################################################################################### +# regex - case: regex_eeg_data_de input: + prompt: Nenne mir die drei gängigsten Berechnungen für die Asymmetrie zwischen Elektrodenpaaren in EEG-Signalen system_messages: [ - Beantworte die Frage so präzise und kurz wie möglich + "Beantworte die Frage so präzise und kurz wie möglich" ] - prompt: "Nenne mir die drei gängigsten Berechnungen für die Asymmetrie zwischen Elektrodenpaaren in EEG-Signalen" expected: words_in_response: - @@ -419,11 +420,11 @@ correctness: - case: regex_eeg_data_de input: + prompt: Nenne alle Channel die in einem 10/20 EEG vertreten sind system_messages: [ - Beantworte die Frage so präzise und kurz wie möglich + "Beantworte die Frage so präzise und kurz wie möglich" ] - prompt: "Nenne alle Channel die in einem 10/20 EEG vertreten sind" expected: words_in_response: - "Fp1" @@ -448,11 +449,11 @@ correctness: - case: regex_eeg_data_en input: + prompt: Name all channels represented in a 10/20 EEG system_messages: [ - Answer the question short and precisely + "Answer the question short and precisely" ] - prompt: "Name all channels represented in a 10/20 EEG" expected: words_in_response: - "Fp1" @@ -475,13 +476,47 @@ correctness: - "O1" - "O2" + - case: regex_eeg_data_en + input: + prompt: What is the name for the smooth curve outlining the extremes of a signal (eg EEG) and thus generalizes the concept of a constant amplitude into an instantaneous amplitude. + system_messages: + [ + "Answer the question short and precisely" + ] + expected: + words_in_response: + - "envelope" + + - case: regex_eeg_data_de + input: + prompt: Wie nennt man die glatte Kurve, die die Extremwerte eines Signals (z. B. EEG) umreißt und somit das Konzept einer konstanten Amplitude in eine momentane Amplitude verallgemeinert. + system_messages: + [ + "Beantworte die Frage so präzise und kurz wie möglich" + ] + expected: + words_in_response: + - "envelope" + +# multiple choice + - case: multiple_choice_eeg_data_de input: + prompt: Zu welchem EEG-Frequenzband gehört folgende Frequenz 40hz? A Alpha B Gamma C Theta D Delta E Beta + system_messages: + [ + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + ] + expected: + answer: "B" + + - case: multiple_choice_eeg_data_en + input: + prompt: To which EEG frequency band does the following frequency belong 40hz? A Alpha B Gamma C Theta D Delta E Beta system_messages: [ - Du erhälst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort. + "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" ] - prompt: "Zu welchem EEG-Frequenzband gehört folgende Frequenz: 40hz? A Alpha B Gamma C Theta D Delta E Beta" expected: answer: "B" diff --git a/benchmark/test_correctness_medical_usecase.py b/benchmark/test_correctness_medical_usecase.py index 36fb5d9c..7105c44c 100644 --- a/benchmark/test_correctness_medical_usecase.py +++ b/benchmark/test_correctness_medical_usecase.py @@ -21,9 +21,9 @@ def test_correctness_of_answers( yaml_data = test_data_correctness task = f"{inspect.currentframe().f_code.co_name.replace('test_', '')}" # Wieder einkommentieren, wenn benötigt - '''skip_if_already_run( + skip_if_already_run( model_name=model_name, task=task, md5_hash=yaml_data["hash"] - )''' + ) def run_test(): @@ -49,7 +49,7 @@ def run_test(): if "regex" not in yaml_data["case"]: score.append(response == yaml_data["expected"]["answer"]) - #calculate for answers with regex + # calculate for answers with regex else: expected_word_pairs = yaml_data["expected"]["words_in_response"] for pair in expected_word_pairs: From 392da50c06951ec76b37ebd43356bdb3c0c1cb54 Mon Sep 17 00:00:00 2001 From: Luna Zetsche Date: Tue, 30 Apr 2024 09:10:16 +0200 Subject: [PATCH 16/69] ADDED new yes_no EEG-Questions --- benchmark/data/benchmark_data.yaml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index ab8f3c58..1da6b6e3 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -520,6 +520,27 @@ correctness: expected: answer: "B" + - case: yes_no_eeg_data_de + input: + prompt: Bei EEG Signalen sind sogenannte Delta Wellen vor allem im Tiefschlaf zu beobachten + system_messages: + [ + "Du erhältst eine Frage, beantworte sie nur mit 'Ja' oder 'Nein'." + ] + expected: + answer: "ja" + + - case: yes_no_eeg_data_en + input: + prompt: Are so-called delta waves observed in EEG signals, especially during deep sleep? + system_messages: + [ + "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + ] + expected: + answer: "ja" + + From a3788b2ff60dc3133c0bc55c2168bd9cb3f0cdbf Mon Sep 17 00:00:00 2001 From: melis Date: Tue, 14 May 2024 16:45:15 +0200 Subject: [PATCH 17/69] test --- benchmark/data/benchmark_data.yaml | 77 ++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index 3f5481be..cf231f0d 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -415,10 +415,87 @@ pdsm_regex: - "Coherence" - "Logarithmierte Differenz" +########################################################################################################### +# Test case: Using LLM for patient interview in progress -> Differenzialdiagnose +########################################################################################################### +- case: patient_single_answer_yes + input: + prompt: "Haben Sie in letzter Zeit Veränderungen in Ihrem Gesundheitszustand bemerkt?" + system_messages: [ + "Sie erhalten eine Frage, die Sie nur mit ‚Ja‘ oder ‚Nein‘ beantworten sollten" + ] + expected: + answer: "ja" +- case: patient_multiple_choice + input: + prompt: "Welche Beschwerden haben Sie derzeit? (a) Kopfschmerzen, (b) Bauchschmerzen, (c) Rückenschmerzen, (d) Keine Beschwerden" + system_messages: [ + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie sie kurz und bündig, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben angeben. Denken Sie daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + ] + expected: + answer: "d" +- case: patient_free_text + input: + prompt: "Können Sie etwas über Ihre bisherige Krankengeschichte erzählen?" + system_messages: [ + "Bitte geben Sie Ihre Antwort frei ein." + ] + expected: + behaviour: "answer" +########################################################################################################### +# Test case: Medication +########################################################################################################### +- case: medication_single_choice_no + input: + prompt: "Kann Ibuprofen sicher zusammen mit Antihypertensiva eingenommen werden?" + system_messages: [ + "Sie erhalten eine Frage, die Sie nur mit ‚Ja‘ oder ‚Nein‘ beantworten sollten" + ] + expected: + answer: "nein" +- case: medication_single_choice_yes + input: + prompt: "Besteht eine potenzielle Wechselwirkung zwischen Antibiotika und oralen Kontrazeptiva?" + system_messages: [ + "Sie erhalten eine Frage, die Sie nur mit ‚Ja‘ oder ‚Nein‘ beantworten sollten" + ] + expected: + answer: "ja" +- case: _medication_multiple_choice + input: + prompt: "Welche Medikamentenklasse hat das höchste Risiko für Wechselwirkungen mit Statinen? (a) Antikoagulanzien, (b) Antazida, (c) Antimykotika, (d) Antidepressiva" + system_messages: [ + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie sie kurz und bündig, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben angeben. Denken Sie daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + ] + expected: + answer: "c" +- case: multiple_choice_frage + input: + prompt: "Welche Medikamentenpaarung sollte bei Patienten vermieden werden, die MAO-Hemmer einnehmen? (a) Serotonin-Wiederaufnahmehemmer, (b) ACE-Hemmer, (c) Beta-Blocker, (d) Kalziumkanalblocker" + system_messages: [ + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie sie kurz und bündig, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben angeben. Denken Sie daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + ] + expected: + answer: "a" +- case: medication_free_text + input: + prompt: "Können Sie Beispiele für Medikamente nennen, die nicht mit NSAR (nichtsteroidalen Antirheumatika) wie Ibuprofen oder Naproxen eingenommen werden sollten, um das Risiko von Magengeschwüren zu minimieren?" + system_messages: + [ + Beantworte die Frage so präzise und kurz wie möglich + ] + expected: + words_in_response: + - + - "orale Steroide" + - "selektive Serotonin-Wiederaufnahmehemmer" + - + - "SSRI" + - "Antikoagulanzien" From 8b1321d9f133ef147cbf40e1ca6d161dc1efc290 Mon Sep 17 00:00:00 2001 From: melis Date: Tue, 14 May 2024 16:55:12 +0200 Subject: [PATCH 18/69] indent fixes --- benchmark/data/benchmark_data.yaml | 143 +++++++++++++++-------------- 1 file changed, 72 insertions(+), 71 deletions(-) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index 7e92bd07..f1dbba01 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -532,50 +532,51 @@ correctness: ########################################################################################################### # Test case: Using LLM for patient interview in progress -> Differenzialdiagnose ########################################################################################################### -- case: patient_single_answer_yes - input: - prompt: "Haben Sie in letzter Zeit Veränderungen in Ihrem Gesundheitszustand bemerkt?" - system_messages: [ - "Sie erhalten eine Frage, die Sie nur mit ‚Ja‘ oder ‚Nein‘ beantworten sollten" - ] - expected: - answer: "ja" -- case: patient_multiple_choice - input: - prompt: "Welche Beschwerden haben Sie derzeit? (a) Kopfschmerzen, (b) Bauchschmerzen, (c) Rückenschmerzen, (d) Keine Beschwerden" - system_messages: [ - "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie sie kurz und bündig, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben angeben. Denken Sie daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." - ] - expected: - answer: "d" -- case: patient_free_text - input: - prompt: "Können Sie etwas über Ihre bisherige Krankengeschichte erzählen?" - system_messages: [ - "Bitte geben Sie Ihre Antwort frei ein." - ] + - case: patient_single_answer_yes + input: + prompt: "Haben Sie in letzter Zeit Veränderungen in Ihrem Gesundheitszustand bemerkt?" + system_messages: [ + "Sie erhalten eine Frage, die Sie nur mit ‚Ja‘ oder ‚Nein‘ beantworten sollten" + ] expected: - behaviour: "answer" + answer: "ja" + - case: patient_multiple_choice + input: + prompt: "Welche Beschwerden haben Sie derzeit? (a) Kopfschmerzen, (b) Bauchschmerzen, (c) Rückenschmerzen, (d) Keine Beschwerden" + system_messages: [ + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie sie kurz und bündig, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben angeben. Denken Sie daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + ] + expected: + answer: "d" + - case: patient_free_text + input: + prompt: "Können Sie etwas über Ihre bisherige Krankengeschichte erzählen?" + system_messages: [ + "Bitte geben Sie Ihre Antwort frei ein." + ] + expected: + behaviour: "answer" ########################################################################################################### # Test case: Medication ########################################################################################################### -- case: medication_single_choice_no - input: - prompt: "Kann Ibuprofen sicher zusammen mit Antihypertensiva eingenommen werden?" - system_messages: [ - "Sie erhalten eine Frage, die Sie nur mit ‚Ja‘ oder ‚Nein‘ beantworten sollten" - ] - expected: - answer: "nein" + - case: medication_single_choice_no + input: + prompt: "Kann Ibuprofen sicher zusammen mit Antihypertensiva eingenommen werden?" + system_messages: [ + "Sie erhalten eine Frage, die Sie nur mit ‚Ja‘ oder ‚Nein‘ beantworten sollten" + ] + expected: + answer: "nein" + + - case: medication_single_choice_yes + input: + prompt: "Besteht eine potenzielle Wechselwirkung zwischen Antibiotika und oralen Kontrazeptiva?" + system_messages: [ + "Sie erhalten eine Frage, die Sie nur mit ‚Ja‘ oder ‚Nein‘ beantworten sollten" + ] + expected: + answer: "ja" -- case: medication_single_choice_yes - input: - prompt: "Besteht eine potenzielle Wechselwirkung zwischen Antibiotika und oralen Kontrazeptiva?" - system_messages: [ - "Sie erhalten eine Frage, die Sie nur mit ‚Ja‘ oder ‚Nein‘ beantworten sollten" - ] - expected: - answer: "ja" - case: yes_no_eeg_data_en input: prompt: Are so-called delta waves observed in EEG signals, especially during deep sleep? @@ -583,26 +584,26 @@ correctness: [ "You will receive a question and you should answer it with only using the word 'yes' or 'no'" ] - expected: + expected: answer: "ja" -- case: _medication_multiple_choice - input: - prompt: "Welche Medikamentenklasse hat das höchste Risiko für Wechselwirkungen mit Statinen? (a) Antikoagulanzien, (b) Antazida, (c) Antimykotika, (d) Antidepressiva" - system_messages: [ - "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie sie kurz und bündig, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben angeben. Denken Sie daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." - ] - expected: - answer: "c" + - case: _medication_multiple_choice + input: + prompt: "Welche Medikamentenklasse hat das höchste Risiko für Wechselwirkungen mit Statinen? (a) Antikoagulanzien, (b) Antazida, (c) Antimykotika, (d) Antidepressiva" + system_messages: [ + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie sie kurz und bündig, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben angeben. Denken Sie daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + ] + expected: + answer: "c" -- case: multiple_choice_frage - input: - prompt: "Welche Medikamentenpaarung sollte bei Patienten vermieden werden, die MAO-Hemmer einnehmen? (a) Serotonin-Wiederaufnahmehemmer, (b) ACE-Hemmer, (c) Beta-Blocker, (d) Kalziumkanalblocker" - system_messages: [ - "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie sie kurz und bündig, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben angeben. Denken Sie daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." - ] - expected: - answer: "a" + - case: multiple_choice_frage + input: + prompt: "Welche Medikamentenpaarung sollte bei Patienten vermieden werden, die MAO-Hemmer einnehmen? (a) Serotonin-Wiederaufnahmehemmer, (b) ACE-Hemmer, (c) Beta-Blocker, (d) Kalziumkanalblocker" + system_messages: [ + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie sie kurz und bündig, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben angeben. Denken Sie daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + ] + expected: + answer: "a" @@ -769,21 +770,21 @@ pdsm_emergency: expected: answer: "Rest, Ice, Compression, Elevation" -- case: medication_free_text - input: - prompt: "Können Sie Beispiele für Medikamente nennen, die nicht mit NSAR (nichtsteroidalen Antirheumatika) wie Ibuprofen oder Naproxen eingenommen werden sollten, um das Risiko von Magengeschwüren zu minimieren?" - system_messages: - [ - Beantworte die Frage so präzise und kurz wie möglich - ] - expected: - words_in_response: - - - - "orale Steroide" - - "selektive Serotonin-Wiederaufnahmehemmer" - - - - "SSRI" - - "Antikoagulanzien" + - case: medication_free_text + input: + prompt: "Können Sie Beispiele für Medikamente nennen, die nicht mit NSAR (nichtsteroidalen Antirheumatika) wie Ibuprofen oder Naproxen eingenommen werden sollten, um das Risiko von Magengeschwüren zu minimieren?" + system_messages: + [ + Beantworte die Frage so präzise und kurz wie möglich + ] + expected: + words_in_response: + - + - "orale Steroide" + - "selektive Serotonin-Wiederaufnahmehemmer" + - + - "SSRI" + - "Antikoagulanzien" From 4caf83af70c5a4f98be168eced714dd07e99018a Mon Sep 17 00:00:00 2001 From: Luna Zetsche Date: Wed, 15 May 2024 12:57:41 +0200 Subject: [PATCH 19/69] FIXED Encoding Bug --- benchmark/data/benchmark_data.yaml | 25 +++++++++++++++---------- benchmark/load_dataset.py | 2 +- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index f1dbba01..57b1805d 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -529,6 +529,17 @@ correctness: ] expected: answer: "ja" + + - case: yes_no_eeg_data_en + input: + prompt: Are so-called delta waves observed in EEG signals, especially during deep sleep? + system_messages: + [ + "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + ] + expected: + answer: "yes" + ########################################################################################################### # Test case: Using LLM for patient interview in progress -> Differenzialdiagnose ########################################################################################################### @@ -548,6 +559,7 @@ correctness: ] expected: answer: "d" + - case: patient_free_text input: prompt: "Können Sie etwas über Ihre bisherige Krankengeschichte erzählen?" @@ -556,9 +568,11 @@ correctness: ] expected: behaviour: "answer" + ########################################################################################################### # Test case: Medication ########################################################################################################### + - case: medication_single_choice_no input: prompt: "Kann Ibuprofen sicher zusammen mit Antihypertensiva eingenommen werden?" @@ -577,15 +591,7 @@ correctness: expected: answer: "ja" - - case: yes_no_eeg_data_en - input: - prompt: Are so-called delta waves observed in EEG signals, especially during deep sleep? - system_messages: - [ - "You will receive a question and you should answer it with only using the word 'yes' or 'no'" - ] - expected: - answer: "ja" + - case: _medication_multiple_choice input: @@ -612,7 +618,6 @@ correctness: # Language: German ########################################################################################################### -pdsm_emergency: # Level 1: Yes or no questions - case: yes_no_emergency diff --git a/benchmark/load_dataset.py b/benchmark/load_dataset.py index 7037c0b5..d3cf4382 100644 --- a/benchmark/load_dataset.py +++ b/benchmark/load_dataset.py @@ -58,7 +58,7 @@ def _load_test_data_from_this_repository(): test_data = {} for file_path in files_in_directory: if file_path.endswith(".yaml"): - with open(file_path, "r") as stream: + with open(file_path, "r", encoding='utf-8') as stream: try: yaml_data = yaml.safe_load(stream) From 176896133c647c66ec23b320119382500f038923 Mon Sep 17 00:00:00 2001 From: "marlis@engelke.me" Date: Wed, 15 May 2024 16:30:06 +0200 Subject: [PATCH 20/69] Added new testcases for mental diseases --- benchmark/data/benchmark_data.yaml | 206 ++++++++++++++++-- benchmark/test_correctness_medical_usecase.py | 3 +- 2 files changed, 188 insertions(+), 21 deletions(-) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index 57b1805d..a5bd30f8 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -566,8 +566,8 @@ correctness: system_messages: [ "Bitte geben Sie Ihre Antwort frei ein." ] - expected: - behaviour: "answer" + expected: + behaviour: "answer" ########################################################################################################### # Test case: Medication @@ -579,8 +579,8 @@ correctness: system_messages: [ "Sie erhalten eine Frage, die Sie nur mit ‚Ja‘ oder ‚Nein‘ beantworten sollten" ] - expected: - answer: "nein" + expected: + answer: "nein" - case: medication_single_choice_yes input: @@ -588,8 +588,8 @@ correctness: system_messages: [ "Sie erhalten eine Frage, die Sie nur mit ‚Ja‘ oder ‚Nein‘ beantworten sollten" ] - expected: - answer: "ja" + expected: + answer: "ja" @@ -599,8 +599,8 @@ correctness: system_messages: [ "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie sie kurz und bündig, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben angeben. Denken Sie daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." ] - expected: - answer: "c" + expected: + answer: "c" - case: multiple_choice_frage input: @@ -608,8 +608,8 @@ correctness: system_messages: [ "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie sie kurz und bündig, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben angeben. Denken Sie daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." ] - expected: - answer: "a" + expected: + answer: "a" @@ -775,21 +775,187 @@ correctness: expected: answer: "Rest, Ice, Compression, Elevation" - - case: medication_free_text + - case: medication_regex input: prompt: "Können Sie Beispiele für Medikamente nennen, die nicht mit NSAR (nichtsteroidalen Antirheumatika) wie Ibuprofen oder Naproxen eingenommen werden sollten, um das Risiko von Magengeschwüren zu minimieren?" system_messages: [ - Beantworte die Frage so präzise und kurz wie möglich + "Beantworte die Frage so präzise und kurz wie möglich" + ] + expected: + words_in_response: + - + - "orale Steroide" + - "selektive Serotonin-Wiederaufnahmehemmer" + - + - "SSRI" + - "Antikoagulanzien" + +########################################################################################################### + # Test case: Questions about mental disorders for psychotherapists, psychology students or psychiatrists in training + # Language: German +########################################################################################################### + + # Level 1: Yes or no questions + - case: yes_no_mental_diseases_autism_de_1 + input: + prompt: Ist das Asperger-Syndrom eine Form der Autismus-Spektrum-Störungen? + system_messages: + [ + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + ] + expected: + answer: "ja" + + - case: yes_no_mental_diseases_anorexia_de_1 + input: + prompt: Die Gestalttherapie wird häufig bei der Therapie von Anorexie angewendet und konzentriert sich auf das Identifizierung und Verändern dysfunktionaler Gedanken- und Verhaltensmuster. + system_messages: + [ + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. " + ] + expected: + answer: "nein" + + - case: yes_no_mental_diseases_anxiety_de_1 + input: + prompt: In der Psychotherapie der generalisierten Angststörung ist das Erlernen von Vermeidungsstrategien, um die Sorgen loszuwerden, eine gängige Technik. + system_messages: + [ + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. " + ] + expected: + answer: "nein" + + - case: yes_no_mental_diseases_anxiety_de_2 + input: + prompt: Menschen mit generalisierter Angststörung halten ihre Sorgen meist für sinnlos und wollen sie am liebsten vollständig loswerden. + system_messages: + [ + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. " + ] + expected: + answer: "ja" + + - case: yes_no_mental_diseases_mania_de_2 + input: + prompt: Wird eine Manie mit Medikamenten behandelt, steigt die Gefahr, dass psychotische Symptome auftreten. + system_messages: + [ + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. " + ] + expected: + answer: "nein" + + # Level 2: Multiple choice questions + + - case: multiple_choice_autism_de_1 + input: + prompt: Welche der folgenden sind übliche Therapieansätze bei Autismus? A Hypnotherapie, B Tanztherapie, C Psychoanalyse, D Kognitive Verhaltenstherapie, E Applied Behavior Analysis, F Entwicklungsbasierte Interventionen, G tiefenpsychologisch fundierte Psychotherapie, H Homöopathie, I Akupunktur, J Aromatherapie + system_messages: + [ + "Sie erhalten eine Multiple-Choice-Frage. Wähle aus den Antwortmöglichkeiten alle passenden Antworten aus und gebe die zugehörigen Buchstaben zurück. Gebe dabei ausschließlich die Buchstaben zurück und nicht die kompletten Antworten. Verknüpfe diese dann mit ','." ] - expected: - words_in_response: - - - - "orale Steroide" - - "selektive Serotonin-Wiederaufnahmehemmer" - - - - "SSRI" - - "Antikoagulanzien" + expected: + answer: "d,e,f" + + + - case: multiple_choice_anorexia_de_1 + input: + prompt: Welche Art von Medikamenten wird bei Anorexie-Patienten häufig verwendet, um Begleiterkrankungen wie Depressionen oder Angststörungen zu behandeln? A Antihistaminika, B Antibiotika, C Antidepressiva, D Betablocker + system_messages: + [ + "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gebe dabei nur den Buchstaben zurück und nicht die ganze Antwort." + ] + expected: + answer: "c" + + - case: multiple_choice_anxiety_de_1 + input: + prompt: Was trifft auf den GAD-7 zu? Der GAD-7 ist … A … ein schnell durchführbarer Test für generalisierte Angststörung, B … sehr zeitaufwändig, aber aussagekräftig, C … nicht wissenschaftlich untermauert, D … für die Diagnose einer generalisierten Angststörung völlig ausreichend + system_messages: + [ + "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gebe dabei nur den Buchstaben zurück und nicht die ganze Antwort." + ] + expected: + answer: "a" + + - case: multiple_choice_mania_de_1 + input: + prompt: Welches ist kein Frühwarnzeichen der Manie? A Unruhe, B euphorische Stimmung, C erhöhte Reizbarkeit, D vermehrter Schlaf + system_messages: + [ + "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gebe dabei nur den Buchstaben zurück und nicht die ganze Antwort." + ] + expected: + answer: "d" + + # Level 3: Word questions + - case: regex_autism_de_1 + input: + prompt: Nenne alle üblichen Ziele der Autismustherapie. + system_messages: + [ + "Antworte so kurz und präzise wie möglich." + ] + expected: + words_in_response: + - "kommunikation" + - "interaktion" + - "verhalten" + - "selbstständigkeit" + + - case: regex_anorexia_de_1 + input: + prompt: Wodurch zeichnet sich restriktive Anorexie aus? + system_messages: + [ + "Antworte so kurz und präzise wie möglich." + ] + expected: + words_in_response: + - + - "weniger" + - "nahrung" + - + - "mehr" + - "sport" + + - case: regex_anxiety_de_1 + input: + prompt: Kopfschmerzen und Zittern sind bei der generalisierten Angststörung häufig Symptome einer dauerhaft erhöhten ... + system_messages: + [ + "Vervollständige den Satz mit 2 Wörtern. Gebe dabei nur beiden gesuchten Wörter aus." + ] + expected: + words_in_response: + - "körperliche anstrengung" + + - case: regex_mania_de_1 + input: + prompt: Welche Therapiephase findet direkt nach der akuten Manie-Phase statt? + system_messages: + [ + "Antworte so kurz und präzise wie möglich." + ] + expected: + words_in_response: + - "erhaltungstherapie" + + - case: regex_mania_de_2 + input: + prompt: Bei den Ursachen der Manie geht man heute von einem Zusammenspiel zwischen ... und ... Faktoren sowie Störungen der ... aus. + system_messages: + [ + "Vervollständige den Satz so kurz wie möglich. Gebe dabei nur die Wörter aus, die die Lücken füllen sollen." + ] + expected: + words_in_response: + - "genetischen" + - "psychosozialen" + - "Neurotransmitter" + diff --git a/benchmark/test_correctness_medical_usecase.py b/benchmark/test_correctness_medical_usecase.py index 7105c44c..750241c5 100644 --- a/benchmark/test_correctness_medical_usecase.py +++ b/benchmark/test_correctness_medical_usecase.py @@ -39,8 +39,9 @@ def run_test(): response.lower().replace(".", "").replace("?", "").replace("!", "") ).strip() + print(yaml_data["case"]) print(response) - print(get_result_file_path(task)) + # print(get_result_file_path(task)) # calculate score of correct answers score = [] From 372e3c8e5088b1cbe2fc0d6c0963d447b157345c Mon Sep 17 00:00:00 2001 From: melis Date: Wed, 15 May 2024 16:47:53 +0200 Subject: [PATCH 21/69] test cases fixes --- benchmark/data/benchmark_data.yaml | 110 ++++++++++++++++++++++------- 1 file changed, 86 insertions(+), 24 deletions(-) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index f1dbba01..9aef6a9e 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -529,6 +529,15 @@ correctness: ] expected: answer: "ja" + - case: yes_no_eeg_data_en + input: + prompt: Are so-called delta waves observed in EEG signals, especially during deep sleep? + system_messages: + [ + "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + ] + expected: + answer: "ja" ########################################################################################################### # Test case: Using LLM for patient interview in progress -> Differenzialdiagnose ########################################################################################################### @@ -559,6 +568,7 @@ correctness: ########################################################################################################### # Test case: Medication ########################################################################################################### + # Level 1: Yes or no questions - case: medication_single_choice_no input: prompt: "Kann Ibuprofen sicher zusammen mit Antihypertensiva eingenommen werden?" @@ -576,18 +586,27 @@ correctness: ] expected: answer: "ja" + - case: ras_medication_single_choice_no + input: + prompt: "Hat es Vorteile verschiedene RAS-Hemmer zu kombinieren?" + system_messages: [ + "Sie erhalten eine Frage, die Sie nur mit ‚Ja‘ oder ‚Nein‘ beantworten sollten" + ] + expected: + answer: "nein" - - case: yes_no_eeg_data_en + - case: no_pde_medication_single_choice_no input: - prompt: Are so-called delta waves observed in EEG signals, especially during deep sleep? - system_messages: - [ - "You will receive a question and you should answer it with only using the word 'yes' or 'no'" - ] + prompt: "Sollten NO-Donatoren und PDE5-Hemmern gleichzeitig verabreicht werden?" + system_messages: [ + "Sie erhalten eine Frage, die Sie nur mit ‚Ja‘ oder ‚Nein‘ beantworten sollten" + ] expected: - answer: "ja" + answer: "nein" + + # Level 2: Multiple Choice - - case: _medication_multiple_choice + - case: statinen_medication_multiple_choice input: prompt: "Welche Medikamentenklasse hat das höchste Risiko für Wechselwirkungen mit Statinen? (a) Antikoagulanzien, (b) Antazida, (c) Antimykotika, (d) Antidepressiva" system_messages: [ @@ -596,7 +615,7 @@ correctness: expected: answer: "c" - - case: multiple_choice_frage + - case: mao_multiple_choice_frage input: prompt: "Welche Medikamentenpaarung sollte bei Patienten vermieden werden, die MAO-Hemmer einnehmen? (a) Serotonin-Wiederaufnahmehemmer, (b) ACE-Hemmer, (c) Beta-Blocker, (d) Kalziumkanalblocker" system_messages: [ @@ -605,8 +624,66 @@ correctness: expected: answer: "a" + - case: ass_ multiple_choice_frage + input: + prompt: "Was kann auftreten, wenn Acetylsalicylsäure und Cumarine zusammen eingenommen wird? (a) höherer Blutdruck, (b) Koomplexbildung, (c) Verstärkte Blutgerinnungshemmung, (d) Herzrhythmusstörung" + system_messages: [ + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie sie kurz und bündig, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben angeben. Denken Sie daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + ] + expected: + answer: "c" + + #Level 3: Free text + - case: one_word_medication + input: + prompt: "Mit welcher Frucht sollten Statine nicht eingenommen werden?" + system_messages: + [ + "Beantworten Sie die folgende Frage mit nur einem Wort" + ] + expected: + answer: "Grapefruit" + + - case: medication_free_text_nsar + input: + prompt: "Können Sie Beispiele für Medikamente nennen, die nicht mit NSAR (nichtsteroidalen Antirheumatika) wie Ibuprofen oder Naproxen eingenommen werden sollten, um das Risiko von Magengeschwüren zu minimieren?" + system_messages: + [ + Beantworte die Frage so präzise und kurz wie möglich + ] + expected: + words_in_response: + - - "orale Steroide" + - "selektive Serotonin-Wiederaufnahmehemmer" + - - "SSRI" + - "Antikoagulanzien" + - + - case: medication_free_text_forms + input: + prompt: "Welche zwei Formen der Arzneimittelwechselwirkung unterscheidet man grundsätzlich?" + system_messages: + [ + Beantworte die Frage so präzise und kurz wie möglich + ] + expected: + answer: "Pharmakodynamische und pharmakokinetische Wechselwirkungen" + - case: medication_free_text_ibu + input: + prompt: "Mit welchen Wirkstoffen sollte Ibuprofen nicht eingenommen werden?" + system_messages: + [ + Beantworte die Frage so präzise und kurz wie möglich. Mehrere Antworten sind erlaubt + ] + expected: + words_in_response: + - - "Kortison-Präparate" + - "Acetylsalicylsäure" + - "ASS" + - - "Clopidogrel" + - "NSAR" + - "NSAID" ########################################################################################################### # Test case: Questions about “emergency medicine” for prospective emergency physicians # Language: German @@ -770,21 +847,6 @@ pdsm_emergency: expected: answer: "Rest, Ice, Compression, Elevation" - - case: medication_free_text - input: - prompt: "Können Sie Beispiele für Medikamente nennen, die nicht mit NSAR (nichtsteroidalen Antirheumatika) wie Ibuprofen oder Naproxen eingenommen werden sollten, um das Risiko von Magengeschwüren zu minimieren?" - system_messages: - [ - Beantworte die Frage so präzise und kurz wie möglich - ] - expected: - words_in_response: - - - - "orale Steroide" - - "selektive Serotonin-Wiederaufnahmehemmer" - - - - "SSRI" - - "Antikoagulanzien" From e5be05f84b8427994179ffb4aa46c05fb171cb74 Mon Sep 17 00:00:00 2001 From: melis Date: Wed, 15 May 2024 17:36:32 +0200 Subject: [PATCH 22/69] test cases indent fixes --- benchmark/data/benchmark_data.yaml | 107 +++++++++++------------------ 1 file changed, 41 insertions(+), 66 deletions(-) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index ed7a3c23..e319e599 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -543,31 +543,7 @@ correctness: ########################################################################################################### # Test case: Using LLM for patient interview in progress -> Differenzialdiagnose ########################################################################################################### - - case: patient_single_answer_yes - input: - prompt: "Haben Sie in letzter Zeit Veränderungen in Ihrem Gesundheitszustand bemerkt?" - system_messages: [ - "Sie erhalten eine Frage, die Sie nur mit ‚Ja‘ oder ‚Nein‘ beantworten sollten" - ] - expected: - answer: "ja" - - case: patient_multiple_choice - input: - prompt: "Welche Beschwerden haben Sie derzeit? (a) Kopfschmerzen, (b) Bauchschmerzen, (c) Rückenschmerzen, (d) Keine Beschwerden" - system_messages: [ - "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie sie kurz und bündig, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben angeben. Denken Sie daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." - ] - expected: - answer: "d" - - case: patient_free_text - input: - prompt: "Können Sie etwas über Ihre bisherige Krankengeschichte erzählen?" - system_messages: [ - "Bitte geben Sie Ihre Antwort frei ein." - ] - expected: - behaviour: "answer" ########################################################################################################### # Test case: Medication @@ -578,7 +554,7 @@ correctness: input: prompt: "Kann Ibuprofen sicher zusammen mit Antihypertensiva eingenommen werden?" system_messages: [ - "Sie erhalten eine Frage, die Sie nur mit ‚Ja‘ oder ‚Nein‘ beantworten sollten" + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." ] expected: answer: "nein" @@ -587,34 +563,33 @@ correctness: input: prompt: "Besteht eine potenzielle Wechselwirkung zwischen Antibiotika und oralen Kontrazeptiva?" system_messages: [ - "Sie erhalten eine Frage, die Sie nur mit ‚Ja‘ oder ‚Nein‘ beantworten sollten" + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." ] expected: answer: "ja" - expected: - answer: "ja" - - case: ras_medication_single_choice_no + + - case: medication_single_choice_no input: prompt: "Hat es Vorteile verschiedene RAS-Hemmer zu kombinieren?" system_messages: [ - "Sie erhalten eine Frage, die Sie nur mit ‚Ja‘ oder ‚Nein‘ beantworten sollten" + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." ] - expected: - answer: "nein" + expected: + answer: "nein" - - case: no_pde_medication_single_choice_no + - case: medication_single_choice_no input: prompt: "Sollten NO-Donatoren und PDE5-Hemmern gleichzeitig verabreicht werden?" system_messages: [ - "Sie erhalten eine Frage, die Sie nur mit ‚Ja‘ oder ‚Nein‘ beantworten sollten" + "Sie erhalten eine Frage, die Sie nur mit ‚ja‘ oder ‚nein‘ beantworten sollten" ] - expected: - answer: "nein" + expected: + answer: "Nein" # Level 2: Multiple Choice - - case: statinen_medication_multiple_choice + - case: medication_multiple_choice input: prompt: "Welche Medikamentenklasse hat das höchste Risiko für Wechselwirkungen mit Statinen? (a) Antikoagulanzien, (b) Antazida, (c) Antimykotika, (d) Antidepressiva" system_messages: [ @@ -623,7 +598,7 @@ correctness: expected: answer: "c" - - case: mao_multiple_choice_frage + - case: medication_multiple_choice input: prompt: "Welche Medikamentenpaarung sollte bei Patienten vermieden werden, die MAO-Hemmer einnehmen? (a) Serotonin-Wiederaufnahmehemmer, (b) ACE-Hemmer, (c) Beta-Blocker, (d) Kalziumkanalblocker" system_messages: [ @@ -632,17 +607,17 @@ correctness: expected: answer: "a" - - case: ass_ multiple_choice_frage + - case: medication_multiple_choice input: - prompt: "Was kann auftreten, wenn Acetylsalicylsäure und Cumarine zusammen eingenommen wird? (a) höherer Blutdruck, (b) Koomplexbildung, (c) Verstärkte Blutgerinnungshemmung, (d) Herzrhythmusstörung" + prompt: "Was kann auftreten, wenn Acetylsalicylsäure und Cumarine zusammen eingenommen wird? a) höherer Blutdruck, b) Koomplexbildung, c) Verstärkte Blutgerinnungshemmung, d) Herzrhythmusstörung" system_messages: [ "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie sie kurz und bündig, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben angeben. Denken Sie daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." ] - expected: - answer: "c" + expected: + answer: "c" #Level 3: Free text - - case: one_word_medication + - case: medication_free_text input: prompt: "Mit welcher Frucht sollten Statine nicht eingenommen werden?" system_messages: @@ -653,45 +628,45 @@ correctness: answer: "Grapefruit" - - case: medication_free_text_nsar + - case: regex_medication_free_text input: prompt: "Können Sie Beispiele für Medikamente nennen, die nicht mit NSAR (nichtsteroidalen Antirheumatika) wie Ibuprofen oder Naproxen eingenommen werden sollten, um das Risiko von Magengeschwüren zu minimieren?" system_messages: [ - Beantworte die Frage so präzise und kurz wie möglich + "Beantworte die Frage so präzise und kurz wie möglich" ] - expected: - words_in_response: - - - "orale Steroide" - - "selektive Serotonin-Wiederaufnahmehemmer" - - - "SSRI" - - "Antikoagulanzien" - - - - case: medication_free_text_forms + expected: + words_in_response: + - - "orale Steroide" + - "selektive Serotonin-Wiederaufnahmehemmer" + - - "SSRI" + - "Antikoagulanzien" + + - case: medication_free_text input: prompt: "Welche zwei Formen der Arzneimittelwechselwirkung unterscheidet man grundsätzlich?" system_messages: [ - Beantworte die Frage so präzise und kurz wie möglich + "Beantworte die Frage so präzise und kurz wie möglich, mit wenigen Worten" ] - expected: - answer: "Pharmakodynamische und pharmakokinetische Wechselwirkungen" + expected: + answer: "Pharmakodynamisch und pharmakokinetisch" - - case: medication_free_text_ibu + - case: regex_medication_free_text input: prompt: "Mit welchen Wirkstoffen sollte Ibuprofen nicht eingenommen werden?" system_messages: [ - Beantworte die Frage so präzise und kurz wie möglich. Mehrere Antworten sind erlaubt + "Beantworte die Frage so präzise und kurz wie möglich. Mehrere Antworten sind erlaubt" ] - expected: - words_in_response: - - - "Kortison-Präparate" - - "Acetylsalicylsäure" - - "ASS" - - - "Clopidogrel" - - "NSAR" - - "NSAID" + expected: + words_in_response: + - - "Kortison-Präparate" + - "Acetylsalicylsäure" + - "ASS" + - - "Clopidogrel" + - "NSAR" + - "NSAID" ########################################################################################################### # Test case: Questions about “emergency medicine” for prospective emergency physicians # Language: German From 20183cb4dab418d98847c0648b63180f3971c65b Mon Sep 17 00:00:00 2001 From: melis Date: Mon, 20 May 2024 14:32:44 +0200 Subject: [PATCH 23/69] added englisch translations --- benchmark/data/benchmark_data.yaml | 143 ++++++++++++++++++++++++++--- 1 file changed, 131 insertions(+), 12 deletions(-) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index e319e599..8fe32d8a 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -550,7 +550,7 @@ correctness: ########################################################################################################### # Level 1: Yes or no questions - - case: medication_single_choice_no + - case: single_choice_medication_de input: prompt: "Kann Ibuprofen sicher zusammen mit Antihypertensiva eingenommen werden?" system_messages: [ @@ -559,7 +559,7 @@ correctness: expected: answer: "nein" - - case: medication_single_choice_yes + - case: single_choice_medication_de input: prompt: "Besteht eine potenzielle Wechselwirkung zwischen Antibiotika und oralen Kontrazeptiva?" system_messages: [ @@ -568,7 +568,7 @@ correctness: expected: answer: "ja" - - case: medication_single_choice_no + - case: single_choice_medication_de input: prompt: "Hat es Vorteile verschiedene RAS-Hemmer zu kombinieren?" system_messages: [ @@ -578,7 +578,7 @@ correctness: answer: "nein" - - case: medication_single_choice_no + - case: single_choice_medication_de input: prompt: "Sollten NO-Donatoren und PDE5-Hemmern gleichzeitig verabreicht werden?" system_messages: [ @@ -587,9 +587,47 @@ correctness: expected: answer: "Nein" + - case: single_choice_medication_en + input: + prompt: "Can ibuprofen be safely taken together with antihypertensives?" + system_messages: [ + "You receive a question and should only answer it with the words 'yes' or 'no'." + ] + expected: + answer: "no" + + - case: single_choice_medication_en + input: + prompt: "Is there a potential interaction between antibiotics and oral contraceptives?" + system_messages: [ + "You will receive a question and should only answer with the words 'yes' or 'no'." + ] + expected: + answer: "yes" + + - case: single_choice_medication_en + input: + prompt: "Are there advantages to combining different RAS inhibitors?" + system_messages: [ + "You will receive a question and should only answer it with the words 'yes' or 'no'." + ] + expected: + answer: "no" + + + - case: single_choice_medication_en + input: + prompt: "Should NO donors and PDE5 inhibitors be administered at the same time?" + system_messages: [ + "You will receive a question that you should only answer with 'yes' or 'no'" + ] + expected: + answer: "No" + + # Level 2: Multiple Choice - - case: medication_multiple_choice + - case: multiple_choice_medication_de input: prompt: "Welche Medikamentenklasse hat das höchste Risiko für Wechselwirkungen mit Statinen? (a) Antikoagulanzien, (b) Antazida, (c) Antimykotika, (d) Antidepressiva" system_messages: [ @@ -598,7 +636,7 @@ correctness: expected: answer: "c" - - case: medication_multiple_choice + - case: multiple_choice_medication_de input: prompt: "Welche Medikamentenpaarung sollte bei Patienten vermieden werden, die MAO-Hemmer einnehmen? (a) Serotonin-Wiederaufnahmehemmer, (b) ACE-Hemmer, (c) Beta-Blocker, (d) Kalziumkanalblocker" system_messages: [ @@ -607,7 +645,7 @@ correctness: expected: answer: "a" - - case: medication_multiple_choice + - case: multiple_choice_medication_de input: prompt: "Was kann auftreten, wenn Acetylsalicylsäure und Cumarine zusammen eingenommen wird? a) höherer Blutdruck, b) Koomplexbildung, c) Verstärkte Blutgerinnungshemmung, d) Herzrhythmusstörung" system_messages: [ @@ -616,8 +654,37 @@ correctness: expected: answer: "c" + - case: multiple_choice_medication_en + input: + prompt: "Which drug class has the highest risk of interaction with statins? (a) anticoagulants, (b) antacids, (c) antifungals, (d) antidepressants" + system_messages: [ + "You will receive a multiple-choice question. Answer it briefly and concisely by giving only the correct letter of the question in lower case. Remember to use only one lowercase letter and not the entire correct answer." + ] + expected: + answer: "c" + + - case: multiple_choice_medication_en + input: + prompt: "Which medication pairing should be avoided in patients taking MAO inhibitors? (a) serotonin reuptake inhibitors, (b) ACE inhibitors, (c) beta-blockers, (d) calcium channel blockers" + system_messages: [ + "You will receive a multiple choice question. Answer it briefly and concisely, using only the correct letter of the question in lower case. Remember to use only one lowercase letter and not the entire correct answer." + ] + expected: + answer: "a" + + + - case: multiple_choice_medication_en + input: + prompt: "What can occur if acetylsalicylic acid and coumarins are taken together? a) higher blood pressure, b) co-complex formation, c) increased blood clotting inhibition, d) cardiac arrhythmia" + system_messages: [ + "You will receive a multiple-choice question.Answer it briefly and concisely by indicating only the correct letter of the question in lower case.Remember to use only one lowercase letter and not the entire correct answer." + ] + expected: + answer: "c" + + #Level 3: Free text - - case: medication_free_text + - case: one_word_medication_de input: prompt: "Mit welcher Frucht sollten Statine nicht eingenommen werden?" system_messages: @@ -628,7 +695,7 @@ correctness: answer: "Grapefruit" - - case: regex_medication_free_text + - case: regex_medication_de input: prompt: "Können Sie Beispiele für Medikamente nennen, die nicht mit NSAR (nichtsteroidalen Antirheumatika) wie Ibuprofen oder Naproxen eingenommen werden sollten, um das Risiko von Magengeschwüren zu minimieren?" system_messages: @@ -642,7 +709,7 @@ correctness: - - "SSRI" - "Antikoagulanzien" - - case: medication_free_text + - case: one_word_medication_de input: prompt: "Welche zwei Formen der Arzneimittelwechselwirkung unterscheidet man grundsätzlich?" system_messages: @@ -652,7 +719,7 @@ correctness: expected: answer: "Pharmakodynamisch und pharmakokinetisch" - - case: regex_medication_free_text + - case: regex_medication_de input: prompt: "Mit welchen Wirkstoffen sollte Ibuprofen nicht eingenommen werden?" system_messages: @@ -667,7 +734,59 @@ correctness: - - "Clopidogrel" - "NSAR" - "NSAID" -########################################################################################################### + + - case: one_word_medication_en + input: + prompt: "With which fruit should statins not be taken?" + system_messages: + [ + "Answer the following question with just one word" + ] + expected: + answer: "Grapefruit" + + + - case: regex_medication_en + input: + prompt: "Can you give examples of medications that should not be taken with NSAIDs (non-steroidal anti-inflammatory drugs) such as ibuprofen or naproxen to minimize the risk of stomach ulcers?" + system_messages: + [ + "Answer the question as precisely and briefly as possible" + ] + expected: + words_in_response: + - - "oral steroids" + - "selective serotonin reuptake inhibitors" + - - "SSRIS" + - "anticoagulants" + + - case: one_word_medication_en + input: + prompt: "What are the two basic forms of drug interaction?" + system_messages: + [ + "Answer the question as precisely and briefly as possible, in a few words" + ] + expected: + answer: "Pharmacodynamic and pharmacokinetic" + + + - case: regex_medication_en + input: + prompt: "With which active substances should ibuprofen not be taken?" + system_messages: + [ + "Answer the question as precisely and briefly as possible. Multiple answers are allowed" + ] + expected: + words_in_response: + - - "cortisone preparations" + - "Acetylsalicylic acid" + - "ASS" + - - "Clopidogrel" + - "NSAID" + - "NSAID" + ########################################################################################################### # Test case: Questions about “emergency medicine” for prospective emergency physicians # Language: German ########################################################################################################### From b177a7d68f2d9671cdc73aa0b76d4374bbdab85c Mon Sep 17 00:00:00 2001 From: melis Date: Mon, 20 May 2024 17:20:30 +0200 Subject: [PATCH 24/69] test for oncology --- benchmark/data/benchmark_data.yaml | 219 ++++++++++++++++++++++++++--- 1 file changed, 200 insertions(+), 19 deletions(-) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index 8fe32d8a..826eac6e 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -541,10 +541,191 @@ correctness: answer: "yes" ########################################################################################################### -# Test case: Using LLM for patient interview in progress -> Differenzialdiagnose +# Test case: Oncology and radiation therapy ########################################################################################################### + # Level 1: Yes or no questions + + - case: single_choice_oncology_de + input: + prompt: "Ist Chemotherapie die einzige mögliche Therapie bei Krebs?" + system_messages: [ + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + ] + expected: + answer: "nein" + + - case: single_choice_oncology_de + input: + prompt: "Sind die BRCA 1 und BRCA 2 Gene für erblich bedingten Brustkrebs verantwortlich ?" + system_messages: [ + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + ] + expected: + answer: "ja" + + - case: single_choice_oncology_de + input: + prompt: "Die Strahlentherapie ist eine häufige Behandlungsmethode bei Glioblastom-Patienten?" + system_messages: [ + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + ] + expected: + answer: "ja" + + - case: single_choice_oncology_en + input: + prompt: "Is chemotherapy the only possible treatment for cancer?" + system_messages: [ + "You receive a question and should only answer it with the words 'yes' or 'no'." + ] + expected: + answer: "no" + + - case: single_choice_oncology_en + input: + prompt: "Are the BRCA 1 and BRCA 2 genes responsible for hereditary breast cancer ?" + system_messages: [ + "You receive a question and should only answer it with the words 'yes' or 'no'." + ] + expected: + answer: "yes" + + - case: single_choice_oncology_en + input: + prompt: "Radiotherapy is a common treatment method for glioblastoma patients?" + system_messages: [ + "You will receive a question and should only answer with the words 'yes' or 'no'." + ] + expected: + answer: "yes" + # Level 2: Multiple Choice + + - case: multiple_choice_oncology_de + input: + prompt: "Welche Art von Krebs wird häufig mit dem Tumormarker CA-125 überwacht? a) Lungenkrebs b) Ovarialkarzinom c) Bauchspeicheldrüsenkrebs d) Kolorektalkarzinom" + system_messages: + [ + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + ] + expected: + answer: "b" + - case: multiple_choice_oncology_de + input: + prompt: "Welches Medikament wird häufig als Antiemetikum zur Vorbeugung von Übelkeit und Erbrechen bei Chemotherapie-Patienten verwendet? a) Ondansetron b) Paracetamol c) Ibuprofen d) Loratadin" + system_messages: + [ + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + ] + expected: + answer: "a" + - case: multiple_choice_oncology_de + input: + prompt: "Welche Bestrahlungstechnik gilt als Standart der Strahlentherapie! a) perkutane Strahlentherapie b) fraktionierte Bestrahlung c)Brachytherapie d) Röntgentherapie" + system_messages: + [ + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + ] + expected: + answer: "a" + - case: multiple_choice_oncology_en + input: + prompt: "Which type of cancer is frequently monitored with the tumor marker CA-125? a) Lung cancer b) Ovarian cancer c) Pancreatic cancer d) Colorectal cancer" + system_messages: + [ + "You will receive a multiple choice question. Answer it briefly and concisely by entering only the correct letter of the question in lower case. Remember to use only one lowercase letter and not the whole correct answer." + ] + expected: + answer: "b" + - case: multiple_choice_oncology_en + input: + prompt: "Which drug is often used as an antiemetic to prevent nausea and vomiting in chemotherapy patients? a) Ondansetron b) Paracetamol c) Ibuprofen d) Loratadin" + system_messages: + [ + "You will receive a multiple choice question. Answer it briefly and concisely by entering only the correct letter of the question as a lowercase letter. Remember to use only one lowercase letter and not the whole correct answer." + ] + expected: + answer: "a" + + - case: multiple_choice_oncology_en + input: + prompt: "Which radiation technique is considered the standard for radiation therapy? a) Percutaneous radiation therapy b) Fractionated radiation c)Brachytherapy d) X-ray therapy" + system_messages: + [ + "You will receive a multiple choice question.Answer it briefly and concisely by entering only the correct letter of the question in lower case.Remember to use only one lowercase letter and not the whole correct answer." + ] + expected: + answer: "a" + + # Level 3: Free text + - case: one_word_oncology_de + input: + prompt: "Wie heißen die drei Tumorvolumina, abgekürzt, bei der Strahlentherapie?" + system_messages: + [ + "Beantworte die Frage so präzise und kurz wie möglich, mit wenigen Worten" + ] + expected: + answer: "GTV,CTV,PTV" + + - case: regex_oncology_de + input: + prompt: "Was sind einige typische Symptome für maligne Tumore?" + system_messages: + [ + "Beantworte die Frage so präzise und kurz wie möglich" + ] + expected: + words_in_response: + - "Gewichtsverlust" + - "Knoten" + - "Müdigkeit" + - "Husten" + + - case: one_word_oncology_de + input: + prompt: "Was ist die häufigste Krebsart bei Frauen?" + system_messages: + [ + "Beantworte die Frage so präzise und kurz wie möglich" + ] + expected: + answer: 'Brustkrebs' + + - case: one_word_oncology_en + input: + prompt: "What are the three tumor volumes, abbreviated, in radiotherapy?" + system_messages: + [ + "Answer the question as precisely and briefly as possible, in a few words" + ] + expected: + answer: "GTV,CTV,PTV" + + - case: regex_oncology_en + input: + prompt: "What are some typical symptoms for malignant tumors?" + system_messages: + [ + "Answer the question as precisely and briefly as possible" + ] + expected: + words_in_response: + - "weight loss" + - "lump" + - "fatigue" + - "cough" + + - case: one_word_oncology_en + input: + prompt: "What is the most common type of cancer in women?" + system_messages: + [ + "Answer the question as precisely and briefly as possible" + ] + expected: + answer: 'Breast cancer' ########################################################################################################### # Test case: Medication ########################################################################################################### @@ -704,10 +885,10 @@ correctness: ] expected: words_in_response: - - - "orale Steroide" - - "selektive Serotonin-Wiederaufnahmehemmer" - - - "SSRI" - - "Antikoagulanzien" + - "orale Steroide" + - - "selektive Serotonin-Wiederaufnahmehemmer" + - "SSRI" + - "Antikoagulanzien" - case: one_word_medication_de input: @@ -728,12 +909,12 @@ correctness: ] expected: words_in_response: - - - "Kortison-Präparate" - - "Acetylsalicylsäure" + - "Kortison-Präparate" + - - "Acetylsalicylsäure" - "ASS" - - - "Clopidogrel" - - "NSAR" - - "NSAID" + - "Clopidogrel" + - "NSAR" + - "NSAID" - case: one_word_medication_en input: @@ -755,10 +936,10 @@ correctness: ] expected: words_in_response: - - - "oral steroids" - - "selective serotonin reuptake inhibitors" - - - "SSRIS" - - "anticoagulants" + - "oral steroids" + - - "selective serotonin reuptake inhibitors" + - "SSRIS" + - "anticoagulants" - case: one_word_medication_en input: @@ -780,12 +961,12 @@ correctness: ] expected: words_in_response: - - - "cortisone preparations" - - "Acetylsalicylic acid" + - "cortisone preparations" + - - "Acetylsalicylic acid" - "ASS" - - - "Clopidogrel" - - "NSAID" - - "NSAID" + - "Clopidogrel" + - "NSAID" + - "NSAID" ########################################################################################################### # Test case: Questions about “emergency medicine” for prospective emergency physicians # Language: German From 3dd8930783983bdc5822a0df661318b78fb89999 Mon Sep 17 00:00:00 2001 From: Luna Zetsche Date: Wed, 22 May 2024 08:38:36 +0200 Subject: [PATCH 25/69] ADD translation for physikum --- benchmark/data/benchmark_data.yaml | 153 +++++++++++++++++++++++++++++ 1 file changed, 153 insertions(+) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index a5bd30f8..a41266bc 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -393,6 +393,159 @@ correctness: expected: answer: "c" +########################################################################################################### +# Test case: Student preparing for the Physikum for medical studies +# Language: german +########################################################################################################### + + # Math relevant questions + + - case: multiple_choice_math_de + input: + prompt: Ein Hohlorgan eines Patienten enthält 0,5 kg einer Flüssigkeit, deren (Massen-)Dichte ungefähr der von Wasser entspricht. Wie groß ist das ungefähre Volumen dieses Hohlorgans? (A) 500 mm3 (B) 500 cm3 (C) 0,05 m3 (D) 0,5 m3 (E) 50 m3 + system_messages: + [ + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + ] + expected: + answer: "b" + + - case: multiple_choice_math_de + input: + prompt: Bei einem Autounfall wird ein 75 kg schwerer Insasse durch den eng anliegenden Sicherheitsgurt zurückgehalten, wobei ein Gurtkraftbegrenzer die auf den Insassen wirkende Kraft auf maximal 5.000 N begrenzt. Die auf den Insassen wirkende Beschleunigung ist damit (betragsmäßig) auf ca. (A) 0,067 m/s2 (B) 15 m/s2 (C) 33 m/s2 (D) 67 m/s2 (E) 375 m/s2 begrenzt. + system_messages: + [ + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + ] + expected: + answer: "d" + + - case: multiple_choice_math_en + input: + prompt: Medizinischer Sauerstoff wird in Druckgasflaschen mit einem Innendruck von normalerweise 200 bar geliefert. Die Hersteller geben an, dass diese Flaschen nicht auf über 50 °C erhitzt werden dürfen und in einer geschützten Umgebung gelagert werden müssen. Um wie viel Prozent erhöht sich dieser Innendruck ungefähr, wenn eine solche Druckgasflasche von 30 °C auf 90 °C erhitzt wird? (A) 3 % (B) 20 % (C) 40 % (D) 60 % (E) 300 % + system_messages: + [ + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + ] + expected: + answer: "b" + +# Biochemistry + + - case: multiple_choice_biochemistry_de + input: + prompt: Ein 14-jähriger Junge aus dem Mittelmeerraum hat plötzlich eine lebensbedrohliche hämolytische Krise (massiver Abbau von roten Blutkörperchen) entwickelt. Im Gespräch mit den Eltern stellt sich heraus, dass der Junge hohe Dosen eines Schmerzmittels erhalten hat, das auch eine oxidierende Wirkung hat. Es wird festgestellt, dass der Junge einen genetischen Mangel an einem bestimmten Enzym hat. Welcher Mangel an welchem der folgenden Enzyme passt am besten zu dieser Beschreibung? (A) Fructokinase (B) Glucokinase (C) Glucose-6-phosphat-Dehydrogenase (D) Pyruvat-Carboxylase (E) Pyruvat-Dehydrogenase + system_messages: + [ + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + ] + expected: + answer: "c" + + - case: multiple_choice_biochemistry_de + input: + prompt: Hepatozyten in der Nähe der Zentralvene im Leberazinus verhindern wirksam das Entweichen von Ammoniumionen aus der Leber. Welches Enzym in diesen Zellen ist in erster Linie für die Entfernung der verbleibenden Ammoniumionen aus dem Blut verantwortlich, die den anderen Hepatozyten des hepatischen Acinus entkommen sind? (A) Arginase (B) Carbamoylphosphat-Synthetase 1 (C) Carbamoylphosphat-Synthetase 2 (D) Glutaminase (E) Glutamin-Synthetase + system_messages: + [ + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + ] + expected: + answer: "e" + + - case: multiple_choice_biochemistry_de + input: + prompt: Proteine können posttranslational durch Ubiquitin modifiziert werden. Ubiquitin ist ein (A) Diterpen (B) Monosaccharid (C) Oligonukleotid (D) Polypeptid (E) Triacylglycerin + system_messages: + [ + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + ] + expected: + answer: "d" + + - case: yes_no_biochemistry_de + input: + prompt: Stimmt das? Die Neigung zu Thrombosen (Thrombophilie) ist in vielen Fällen genetisch bedingt. Missensemutationen im Gen für Faktor V können die Ursache einer familiären Thrombophilie sein. Durch solche Mutationen wird der aktivierte Faktor V (Va) weniger effizient durch ein aktiviertes Protein C inaktiviert und ist daher besonders stabil. + system_messages: + [ + "Sie erhalten eine Frage, die Sie nur mit „ja“ oder „nein“ beantworten sollten." + ] + expected: + answer: "ja" + + - case: yes_no_biochemistry_de + input: + prompt: Stimmt das? Die Neigung zu Thrombosen (Thrombophilie) ist in vielen Fällen genetisch bedingt. Missensemutationen im Gen für Faktor V können die Ursache einer familiären Thrombophilie sein. Durch solche Mutationen wird der aktivierte Faktor V (Va) weniger effizient durch ein aktiviertes Thrombomobilin inaktiviert und ist daher besonders stabil. + system_messages: + [ + "Sie erhalten eine Frage, die Sie nur mit „ja“ oder „nein“ beantworten sollten." + ] + expected: + answer: "nein" + +# physiology + + - case: multiple_choice_physiology_de + input: + prompt: Welche dieser Zellen wird nach der Aktivierung am ehesten Interleukin-2 freisetzen? B-Lymphozyt eosinophiler Granulozyt (C) Mastzelle (D) neutrophiler Granulozyt (E) T-Helferzelle Typ 1 (TH1-Zelle) + system_messages: + [ + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + ] + expected: + answer: "e" + + - case: multiple_choice_physiology_de + input: + prompt: Die Immunglobuline (Ig) werden in verschiedene Klassen eingeteilt. Welche Aussage über den Aufbau bzw. das Vorkommen der Ig-Klassen ist generell richtig? (A) Die Zugehörigkeit zu einer Ig-Klasse hängt hauptsächlich von der Struktur der leichten Kette eines Ig ab. (B) Die sezernierten Ig aller Ig-Klassen sind monomere Moleküle. (C) IgG ist das vorherrschende Ig im oralen Speichel. (D) IgM ist das vorherrschende Ig im Blutserum. (E) Reife, naive B-Lymphozyten haben membrangebundenes IgM und IgD. + system_messages: + [ + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + ] + expected: + answer: "e" + + - case: yes_no_physiology_de + input: + prompt: Ist die scheinbare Viskosität des Blutes bei normalem Hämatokrit (und unter sonst gleichen Bedingungen) bei einem Gefäßdurchmesser von etwa 8 μm typischerweise niedriger als bei einem Gefäßdurchmesser von 4 μm? + system_messages: + [ + "Sie erhalten eine Frage, die Sie nur mit „ja“ oder „nein“ beantworten sollten." + ] + expected: + answer: "ja" + + - case: yes_no_physiology_de + input: + prompt: Ist die scheinbare (apparente) Viskosität des Blutes bei normalem Hämatokrit (und unter sonst gleichen Bedingungen) in großen Gefäßen immer niedriger als in kleinen Gefäßen? + system_messages: + [ + "Sie erhalten eine Frage, die Sie nur mit „ja“ oder „nein“ beantworten sollten." + ] + expected: + answer: "nein" + + - case: one_word_physiology_de + input: + prompt: Welche zeitliche Zuordnung des EKG-Abschnittes zu den Zuständen der Herzklappen ist generell richtig, wenn die AV-Klappen geöffnet und die Taschenklappen geschlossen sind? Ist es die p-Welle oder der tp-Intervall? + system_messages: + [ + "Beantworte die folgende Frage mit nur einem Wort" + ] + expected: + answer: "p-welle" + +# anatomy + + - case: multiple_choice_anatomy_de + input: + prompt: Welcher dieser Muskeln ist hauptsächlich an der Innenrotation des Oberarmknochens im Schultergelenk beteiligt? (A) M. infraspinatus (B) M. pectoralis minor (C) M. subscapularis (D) M. supraspinatus (E) M. teres minor + system_messages: + [ + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + ] + expected: + answer: "c" + ########################################################################################################### # Test case: Working on a datascience project with eeg data ########################################################################################################### From 5e2d1809b714d25ecb78396971612e0d3b118e60 Mon Sep 17 00:00:00 2001 From: Luna Zetsche Date: Wed, 22 May 2024 08:53:43 +0200 Subject: [PATCH 26/69] ADD translation EEG --- benchmark/data/benchmark_data.yaml | 121 ++++++++++++++++------------- 1 file changed, 68 insertions(+), 53 deletions(-) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index a41266bc..8007a739 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -548,35 +548,17 @@ correctness: ########################################################################################################### # Test case: Working on a datascience project with eeg data +# Language: english ########################################################################################################### -# regex + # regex - - case: regex_eeg_data_de - input: - prompt: Nenne mir die drei gängigsten Berechnungen für die Asymmetrie zwischen Elektrodenpaaren in EEG-Signalen - system_messages: - [ - "Beantworte die Frage so präzise und kurz wie möglich" - ] - expected: - words_in_response: - - - - "Absolute Asymmetry" - - "Absolute Differenz" - - - - "Relative Asymmetry" - - "Relative Differenz" - - - - "Coherence" - - "Logarithmierte Differenz" - - - case: regex_eeg_data_de + - case: regex_eeg_data_en input: - prompt: Nenne alle Channel die in einem 10/20 EEG vertreten sind + prompt: Name all channels represented in a 10/20 EEG system_messages: [ - "Beantworte die Frage so präzise und kurz wie möglich" + "Answer the question short and precisely" ] expected: words_in_response: @@ -602,11 +584,72 @@ correctness: - case: regex_eeg_data_en input: - prompt: Name all channels represented in a 10/20 EEG + prompt: What is the name for the smooth curve outlining the extremes of a signal (eg EEG) and thus generalizes the concept of a constant amplitude into an instantaneous amplitude. system_messages: [ "Answer the question short and precisely" ] + expected: + words_in_response: + - "envelope" + + # multiple choice + + - case: multiple_choice_eeg_data_en + input: + prompt: To which EEG frequency band does the following frequency belong 40hz? A Alpha B Gamma C Theta D Delta E Beta + system_messages: + [ + "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" + ] + expected: + answer: "B" + + #yes_no + + - case: yes_no_eeg_data_en + input: + prompt: Are so-called delta waves observed in EEG signals, especially during deep sleep? + system_messages: + [ + "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + ] + expected: + answer: "yes" + +########################################################################################################### +# Test case: Working on a datascience project with eeg data +# Language: german +########################################################################################################### + + #regex + + - case: regex_eeg_data_de + input: + prompt: Nenne mir die drei gängigsten Berechnungen für die Asymmetrie zwischen Elektrodenpaaren in EEG-Signalen + system_messages: + [ + "Beantworte die Frage so präzise und kurz wie möglich" + ] + expected: + words_in_response: + - + - "Absolute Asymmetry" + - "Absolute Differenz" + - + - "Relative Asymmetry" + - "Relative Differenz" + - + - "Coherence" + - "Logarithmierte Differenz" + + - case: regex_eeg_data_de + input: + prompt: Nenne alle Channel die in einem 10/20 EEG vertreten sind + system_messages: + [ + "Beantworte die Frage so präzise und kurz wie möglich" + ] expected: words_in_response: - "Fp1" @@ -629,17 +672,6 @@ correctness: - "O1" - "O2" - - case: regex_eeg_data_en - input: - prompt: What is the name for the smooth curve outlining the extremes of a signal (eg EEG) and thus generalizes the concept of a constant amplitude into an instantaneous amplitude. - system_messages: - [ - "Answer the question short and precisely" - ] - expected: - words_in_response: - - "envelope" - - case: regex_eeg_data_de input: prompt: Wie nennt man die glatte Kurve, die die Extremwerte eines Signals (z. B. EEG) umreißt und somit das Konzept einer konstanten Amplitude in eine momentane Amplitude verallgemeinert. @@ -663,15 +695,7 @@ correctness: expected: answer: "B" - - case: multiple_choice_eeg_data_en - input: - prompt: To which EEG frequency band does the following frequency belong 40hz? A Alpha B Gamma C Theta D Delta E Beta - system_messages: - [ - "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" - ] - expected: - answer: "B" +# yes_no - case: yes_no_eeg_data_de input: @@ -683,15 +707,6 @@ correctness: expected: answer: "ja" - - case: yes_no_eeg_data_en - input: - prompt: Are so-called delta waves observed in EEG signals, especially during deep sleep? - system_messages: - [ - "You will receive a question and you should answer it with only using the word 'yes' or 'no'" - ] - expected: - answer: "yes" ########################################################################################################### # Test case: Using LLM for patient interview in progress -> Differenzialdiagnose From a53a8be557c629372371ba49502fa66da21e899f Mon Sep 17 00:00:00 2001 From: "marlis@engelke.me" Date: Wed, 22 May 2024 09:49:23 +0200 Subject: [PATCH 27/69] REFACTORED and ADDED questions for mental diseases --- benchmark/data/benchmark_data.yaml | 571 ++++++++++++++++++++++++++++- 1 file changed, 556 insertions(+), 15 deletions(-) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index a5bd30f8..2b57320b 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -797,7 +797,7 @@ correctness: ########################################################################################################### # Level 1: Yes or no questions - - case: yes_no_mental_diseases_autism_de_1 + - case: single_choice_mental_disorders_de input: prompt: Ist das Asperger-Syndrom eine Form der Autismus-Spektrum-Störungen? system_messages: @@ -807,7 +807,7 @@ correctness: expected: answer: "ja" - - case: yes_no_mental_diseases_anorexia_de_1 + - case: single_choice_mental_disorders_de input: prompt: Die Gestalttherapie wird häufig bei der Therapie von Anorexie angewendet und konzentriert sich auf das Identifizierung und Verändern dysfunktionaler Gedanken- und Verhaltensmuster. system_messages: @@ -817,7 +817,7 @@ correctness: expected: answer: "nein" - - case: yes_no_mental_diseases_anxiety_de_1 + - case: single_choice_mental_disorders_de input: prompt: In der Psychotherapie der generalisierten Angststörung ist das Erlernen von Vermeidungsstrategien, um die Sorgen loszuwerden, eine gängige Technik. system_messages: @@ -827,7 +827,7 @@ correctness: expected: answer: "nein" - - case: yes_no_mental_diseases_anxiety_de_2 + - case: single_choice_mental_disorders_de input: prompt: Menschen mit generalisierter Angststörung halten ihre Sorgen meist für sinnlos und wollen sie am liebsten vollständig loswerden. system_messages: @@ -837,7 +837,7 @@ correctness: expected: answer: "ja" - - case: yes_no_mental_diseases_mania_de_2 + - case: single_choice_mental_disorders_de input: prompt: Wird eine Manie mit Medikamenten behandelt, steigt die Gefahr, dass psychotische Symptome auftreten. system_messages: @@ -847,9 +847,59 @@ correctness: expected: answer: "nein" + - case: single_choice_mental_disorders_de + input: + prompt: Verlustangst und Bindungsangst sind zwei gegenteilige Phänomene. + system_messages: + [ + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. " + ] + expected: + answer: "nein" + + - case: single_choice_mental_disorders_de + input: + prompt: Bei einer bipolaren Störung hält eine depressive Episode mindestens 14 Tage an. + system_messages: + [ + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. " + ] + expected: + answer: "ja" + + - case: single_choice_mental_disorders_de + input: + prompt: Die Anfälligkeit dafür, eine Depression zu entwickeln, kann vererbt werden. + system_messages: + [ + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. " + ] + expected: + answer: "ja" + + - case: single_choice_mental_disorders_de + input: + prompt: Die Erkrankung Multiple Persönlichkeit kann aufgrund ihrer Schwere oft kaum behandelt werden. + system_messages: + [ + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. " + ] + expected: + answer: "nein" + + - case: single_choice_mental_disorders_de + input: + prompt: Im Gegensatz zur Magersucht ist die Binge-Eating-Störung nicht tödlich. + system_messages: + [ + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. " + ] + expected: + answer: "nein" + # Level 2: Multiple choice questions - - case: multiple_choice_autism_de_1 + - case: multiple_choice_mental_disorders_de input: prompt: Welche der folgenden sind übliche Therapieansätze bei Autismus? A Hypnotherapie, B Tanztherapie, C Psychoanalyse, D Kognitive Verhaltenstherapie, E Applied Behavior Analysis, F Entwicklungsbasierte Interventionen, G tiefenpsychologisch fundierte Psychotherapie, H Homöopathie, I Akupunktur, J Aromatherapie system_messages: @@ -860,7 +910,7 @@ correctness: answer: "d,e,f" - - case: multiple_choice_anorexia_de_1 + - case: multiple_choice_mental_disorders_de input: prompt: Welche Art von Medikamenten wird bei Anorexie-Patienten häufig verwendet, um Begleiterkrankungen wie Depressionen oder Angststörungen zu behandeln? A Antihistaminika, B Antibiotika, C Antidepressiva, D Betablocker system_messages: @@ -870,7 +920,17 @@ correctness: expected: answer: "c" - - case: multiple_choice_anxiety_de_1 + - case: multiple_choice_mental_disorders_de + input: + prompt: Was ist ein Hauptziel der Ernährungstherapie bei der Behandlung von Anorexie? A Förderung einer veganen Ernährungsweise, B Eliminierung bestimmter Lebensmittelgruppen aus der Ernährung, C Wiederherstellung des Körpergewichts und Etablierung eines gesunden Essverhaltens, D Konzentration auf Sport und Fitness zur Gewichtsreduktion + system_messages: + [ + "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gebe dabei nur den Buchstaben zurück und nicht die ganze Antwort." + ] + expected: + answer: "c" + + - case: multiple_choice_mental_disorders_de input: prompt: Was trifft auf den GAD-7 zu? Der GAD-7 ist … A … ein schnell durchführbarer Test für generalisierte Angststörung, B … sehr zeitaufwändig, aber aussagekräftig, C … nicht wissenschaftlich untermauert, D … für die Diagnose einer generalisierten Angststörung völlig ausreichend system_messages: @@ -880,7 +940,7 @@ correctness: expected: answer: "a" - - case: multiple_choice_mania_de_1 + - case: multiple_choice_mental_disorders_de input: prompt: Welches ist kein Frühwarnzeichen der Manie? A Unruhe, B euphorische Stimmung, C erhöhte Reizbarkeit, D vermehrter Schlaf system_messages: @@ -890,8 +950,58 @@ correctness: expected: answer: "d" + - case: multiple_choice_mental_disorders_de + input: + prompt: Zu welcher Art von psychischen Störungen gehört die Manie? A affektive Störungen, B euphorische Störungen, C Zwangsstörungen, D Aktivitätsstörungen + system_messages: + [ + "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gebe dabei nur den Buchstaben zurück und nicht die ganze Antwort." + ] + expected: + answer: "a" + + - case: multiple_choice_mental_disorders_de + input: + prompt: Was können Ursachen einer sozialen Phobie sein? A genetische Veranlagung, B Persönlichkeitsmerkmale, C bestimmte Denkstile, D unangenehme Erfahrungen mit anderen Menschen, E Interessenskonflikte, F Mangelernährung + system_messages: + [ + "Wähle aus den Antwortmöglichkeiten alle passenden Antworten aus und gebe die zugehörigen Buchstaben zurück. Gib dabei ausschließlich die Buchstaben zurück und nicht die kompletten Antworten. Verknüpfe diese dann mit ','. In der Antwort sollen keine Leerzeichen auftauchen." + ] + expected: + answer: "a,b,c,d" + + - case: multiple_choice_mental_disorders_de + input: + prompt: Welche psychosozialen Faktoren können zur Entwicklung einer Depression beitragen? A Verlust eines Elternteils in der Kindheit, B enge Eltern-Kind-Bindung, C zu hohes Selbstwertgefühl, D Traumata wie das Erleben von Gewalt, E mangelndes Selbstwertgefühl, F Persönlichkeitstyp Typus melancholicus + system_messages: + [ + "Wähle aus den Antwortmöglichkeiten alle passenden Antworten aus und gebe die zugehörigen Buchstaben zurück. Gib dabei ausschließlich die Buchstaben zurück und nicht die kompletten Antworten. Verknüpfe diese dann mit ','. In der Antwort sollen keine Leerzeichen auftauchen." + ] + expected: + answer: "a,d,e,f" + + - case: multiple_choice_mental_disorders_de + input: + prompt: Von allen psychischen Erkrankungen besitzt die Magersucht … A … die geringste Anzahl an Erkrankten, B … die höchste Heilungsquote, C … den harmlosesten Verlauf, D … die höchste Sterberate + system_messages: + [ + "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gebe dabei nur den Buchstaben zurück und nicht die ganze Antwort." + ] + expected: + answer: "d" + + - case: multiple_choice_mental_disorders_de + input: + prompt: Was sind typische Kennzeichen der Anorexie? A ständige Übelkeit, B anhaltendes Untergewicht, C Angst vor dem Zunehmen oder Zudicksein, D starke Gewichtsschwankungen, E Appetitlosigkeit + system_messages: + [ + "Wähle aus den Antwortmöglichkeiten alle passenden Antworten aus und gebe die zugehörigen Buchstaben zurück. Gib dabei ausschließlich die Buchstaben zurück und nicht die kompletten Antworten. Verknüpfe diese dann mit ','. In der Antwort sollen keine Leerzeichen auftauchen." + ] + expected: + answer: "b,c,e" + # Level 3: Word questions - - case: regex_autism_de_1 + - case: regex_mental_disorders_de input: prompt: Nenne alle üblichen Ziele der Autismustherapie. system_messages: @@ -905,7 +1015,7 @@ correctness: - "verhalten" - "selbstständigkeit" - - case: regex_anorexia_de_1 + - case: regex_mental_disorders_de input: prompt: Wodurch zeichnet sich restriktive Anorexie aus? system_messages: @@ -920,8 +1030,10 @@ correctness: - - "mehr" - "sport" + - "bewegung" + - "gewichtsverlust" - - case: regex_anxiety_de_1 + - case: regex_mental_disorders_de input: prompt: Kopfschmerzen und Zittern sind bei der generalisierten Angststörung häufig Symptome einer dauerhaft erhöhten ... system_messages: @@ -932,7 +1044,7 @@ correctness: words_in_response: - "körperliche anstrengung" - - case: regex_mania_de_1 + - case: regex_mental_disorders_de input: prompt: Welche Therapiephase findet direkt nach der akuten Manie-Phase statt? system_messages: @@ -941,9 +1053,12 @@ correctness: ] expected: words_in_response: - - "erhaltungstherapie" + - "erhaltung" + - + - "therapie" + - "phase" - - case: regex_mania_de_2 + - case: regex_mental_disorders_de input: prompt: Bei den Ursachen der Manie geht man heute von einem Zusammenspiel zwischen ... und ... Faktoren sowie Störungen der ... aus. system_messages: @@ -956,6 +1071,432 @@ correctness: - "psychosozialen" - "Neurotransmitter" + - case: regex_mental_disorders_de + input: + prompt: Welche beiden Behandlungsmethoden werden am häufigsten bei einer sozialen Phobie angewandt? + system_messages: + [ + "Antworte so kurz und präzise wie möglich." + ] + expected: + words_in_response: + - + - "kognitive Verhaltenstherapie" + - "Verhaltenstherapie" + - + - "Medikamente" + - "Medikamentöse Therapie" + + - case: regex_mental_disorders_de + input: + prompt: Nenne die beiden Therapiearten, deren Kombination bei der Behandlung von Depressionen in der Regel am besten wirkt. + system_messages: + [ + "Antworte so kurz und präzise wie möglich." + ] + expected: + words_in_response: + - "Psychotherapie" + - + - "Medikamente" + - "Medikamentöse Therapie" + + - case: regex_mental_disorders_de + input: + prompt: Zwischen welchen Formen von Anorexie wird unterschieden? + system_messages: + [ + "Antworte so kurz und präzise wie möglich." + ] + expected: + words_in_response: + - "Restriktiv" + - "Binge" + + - case: regex_mental_disorders_de + input: + prompt: Unter welchen Störungen ist die dissoziative Identitätsstörung im ICD-11? + system_messages: + [ + "Antworte so kurz und präzise wie möglich." + ] + expected: + words_in_response: + - + - "Konversionsstörungen" + - "Konversion" + + - case: regex_mental_disorders_de + input: + prompt: Wozu dient die Abspaltung von der eigenen Persönlichkeit in den meisten Fällen bei Personen mit einer Multiplen Persönlichkeit? + system_messages: + [ + "Antworte so kurz und präzise wie möglich." + ] + expected: + words_in_response: + - "Schutz" + - + - "Trauma" + - "traumatisch" + - "Erinnerungen" + + +########################################################################################################### + # Test case: Questions about mental disorders for psychotherapists, psychology students or psychiatrists in training + # Language: English +########################################################################################################### + + # Level 1: Yes or no questions + - case: single_choice_mental_disorders_en + input: + prompt: Is Asperger syndrome a form of autism spectrum disorder? + system_messages: + [ + "You receive a question and should only answer it with the words 'yes' or 'no'." + ] + expected: + answer: "yes" + + - case: single_choice_mental_disorders_en + input: + prompt: Gestalt therapy is often used in the treatment of anorexia and focuses on identifying and changing dysfunctional thought and behaviour patterns. + system_messages: + [ + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + ] + expected: + answer: "no" + + - case: single_choice_mental_disorders_en + input: + prompt: In psychotherapy for generalised anxiety disorder, learning avoidance strategies to get rid of worries is a common technique. + system_messages: + [ + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + ] + expected: + answer: "no" + + - case: single_choice_mental_disorders_en + input: + prompt: People with generalised anxiety disorder usually consider their worries to be pointless and would prefer to get rid of them completely. + system_messages: + [ + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + ] + expected: + answer: "yes" + + - case: single_choice_mental_disorders_en + input: + prompt: If mania is treated with medication, the risk of psychotic symptoms increases. + system_messages: + [ + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + ] + expected: + answer: "no" + + - case: single_choice_mental_disorders_en + input: + prompt: Fear of loss and fear of commitment are two opposing phenomena. + system_messages: + [ + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + ] + expected: + answer: "no" + + - case: single_choice_mental_disorders_en + input: + prompt: In bipolar disorder, a depressive episode lasts at least 14 days. + system_messages: + [ + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + ] + expected: + answer: "yes" + + - case: single_choice_mental_disorders_en + input: + prompt: The susceptibility to developing depression can be inherited. + system_messages: + [ + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + ] + expected: + answer: "yes" + + - case: single_choice_mental_disorders_en + input: + prompt: Due to its severity, multiple personality disorder is often almost impossible to treat. + system_messages: + [ + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + ] + expected: + answer: "no" + + - case: single_choice_mental_disorders_en + input: + prompt: In contrast to anorexia, binge eating disorder is not fatal. + system_messages: + [ + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + ] + expected: + answer: "no" + + # Level 2: Multiple choice questions + + - case: multiple_choice_mental_disorders_en + input: + prompt: Which of the following are common therapeutic approaches for autism? A Hypnotherapy, B Dance therapy, C Psychoanalysis, D Cognitive behavioural therapy, E Applied behaviour analysis, F Development-based interventions, G Depth psychology-based psychotherapy, H Homeopathy, I Acupuncture, J Aromatherapy + system_messages: + [ + "You will receive a multiple choice question. Select all suitable answers from the possible answers and return the corresponding letters. Only return the letters and not the complete answers. Then link these with ','. Do not include whitespaces in your answer." + ] + expected: + answer: "d,e,f" + + + - case: multiple_choice_mental_disorders_en + input: + prompt: Which type of medication is often used in anorexia patients to treat concomitant illnesses such as depression or anxiety disorders? A Antihistamines, B Antibiotics, C Antidepressants, D Beta-blockers + system_messages: + [ + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + ] + expected: + answer: "c" + + - case: multiple_choice_mental_disorders_en + input: + prompt: What is one of the main aims of nutritional therapy in the treatment of anorexia? A Promoting a vegan diet, B Eliminating certain food groups from the diet, C Restoring body weight and establishing healthy eating behaviour, D Focusing on sport and fitness to reduce weight + system_messages: + [ + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + ] + expected: + answer: "c" + + - case: multiple_choice_mental_disorders_en + input: + prompt: What is true of the GAD-7? The GAD-7 is ... A ... a quick test for generalised anxiety disorder, B ... very time-consuming, but meaningful, C ... not scientifically substantiated, D ... completely sufficient for the diagnosis of generalised anxiety disorder + system_messages: + [ + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + ] + expected: + answer: "a" + + - case: multiple_choice_mental_disorders_en + input: + prompt: Which of the following is not an early warning sign of mania? A restlessness, B euphoric mood, C increased irritability, D increased sleep + system_messages: + [ + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + ] + expected: + answer: "d" + + - case: multiple_choice_mental_disorders_en + input: + prompt: To which type of mental disorder does mania belong? A affective disorders, B euphoric disorders, C obsessive-compulsive disorders, D activity disorders + system_messages: + [ + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + ] + expected: + answer: "a" + + - case: multiple_choice_mental_disorders_en + input: + prompt: What can be the causes of a social phobia? A genetic predisposition, B personality traits, C certain thinking styles, D unpleasant experiences with other people, E conflicts of interest, F malnutrition + system_messages: + [ + "You will receive a multiple choice question. Select all suitable answers from the possible answers and return the corresponding letters. Only return the letters and not the complete answers. Then link these with ','. Do not include whitespaces in your answer." + ] + expected: + answer: "a,b,c,d" + + - case: multiple_choice_mental_disorders_en + input: + prompt: Which psychosocial factors can contribute to the development of depression? A Loss of a parent in childhood, B Close parent-child bond, C Too high self-esteem, D Traumas such as experiencing violence, E Lack of self-esteem, F Melancholic personality type + system_messages: + [ + "You will receive a multiple choice question. Select all suitable answers from the possible answers and return the corresponding letters. Only return the letters and not the complete answers. Then link these with ','. Do not include whitespaces in your answer." + ] + expected: + answer: "a,d,e,f" + + - case: multiple_choice_mental_disorders_en + input: + prompt: Of all mental illnesses, anorexia has ... A ... the lowest number of sufferers, B ... the highest recovery rate, C ... the most harmless course, D ... the highest mortality rate + system_messages: + [ + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + ] + expected: + answer: "d" + + - case: multiple_choice_mental_disorders_en + input: + prompt: What are the typical characteristics of anorexia? A constant nausea, B persistent underweight, C fear of gaining weight or being overweight, D severe weight fluctuations, E loss of appetite + system_messages: + [ + "You will receive a multiple choice question. Select all suitable answers from the possible answers and return the corresponding letters. Only return the letters and not the complete answers. Then link these with ','. Do not include whitespaces in your answer." + ] + expected: + answer: "b,c,e" + + # Level 3: Word questions + - case: regex_mental_disorders_en + input: + prompt: List all the common goals of autism therapy. + system_messages: + [ + "Answer as briefly and concisely as possible." + ] + expected: + words_in_response: + - "communication" + - "interaction" + - "behaviour" + - "independence" + + - case: regex_mental_disorders_en + input: + prompt: What characterises restrictive anorexia? + system_messages: + [ + "Answer as briefly and concisely as possible." + ] + expected: + words_in_response: + - + - "less" + - "nutrition" + - "food" + - + - "low" + - "lose" + - "reduce" + - "weight" + - "loss" + + - case: regex_mental_disorders_en + input: + prompt: In generalised anxiety disorder, headaches and tremors are often symptoms of a permanently increased ... + system_messages: + [ + "Complete the sentence with 2 words. Only fill in the two words you are looking for." + ] + expected: + words_in_response: + - "physical exertion" + + - case: regex_mental_disorders_en + input: + prompt: Which therapy phase takes place directly after the acute mania phase? + system_messages: + [ + "Answer as briefly and concisely as possible." + ] + expected: + words_in_response: + - + - "conservation" + - "maintenance" + - + - "therapy" + - "phase" + + - case: regex_mental_disorders_en + input: + prompt: The causes of mania are now thought to be an interplay between ... and ... factors as well as ... disorders. + system_messages: + [ + "Complete the sentence as briefly as possible. Only fill in the words that should fill the gaps." + ] + expected: + words_in_response: + - "genetic" + - "psychosocial" + - "neurotransmitter" + + - case: regex_mental_disorders_en + input: + prompt: Which two treatment methods are most commonly used for social phobia? + system_messages: + [ + "Answer as briefly and concisely as possible." + ] + expected: + words_in_response: + - + - "cognitive behavioural therapy" + - "behavioural therapy" + - + - "medication" + - "drug" + - "drug therapy" + + - case: regex_mental_disorders_en + input: + prompt: Name the two types of therapy whose combination usually works best in the treatment of depression. + system_messages: + [ + "Answer as briefly and concisely as possible." + ] + expected: + words_in_response: + - "psychotherapy" + - + - "medication" + - "drug" + - "drug therapy" + + - case: regex_mental_disorders_en + input: + prompt: What are the different types of anorexia? + system_messages: + [ + "Answer as briefly and concisely as possible." + ] + expected: + words_in_response: + - "restrictive" + - "binge" + + - case: regex_mental_disorders_en + input: + prompt: Which disorders does dissociative identity disorder fall under in ICD-11? + system_messages: + [ + "Answer as briefly and concisely as possible." + ] + expected: + words_in_response: + - + - "conversion disorders" + - "conversion" + + - case: regex_mental_disorders_en + input: + prompt: What is the purpose of splitting off from one's own personality in most cases in people with a multiple personality? + system_messages: + [ + "Answer as briefly and concisely as possible." + ] + expected: + words_in_response: + - "protection" + - + - "trauma" + - "traumatic" + - "memories" From 0a4b75a1f733e3095f1bc087a9ef6199c1e9232d Mon Sep 17 00:00:00 2001 From: Luna Zetsche Date: Wed, 22 May 2024 10:00:24 +0200 Subject: [PATCH 28/69] WIP wrong_asnwer csv --- benchmark/benchmark_utils.py | 76 +++++++++++++++++++ benchmark/test_correctness_medical_usecase.py | 25 +++++- 2 files changed, 99 insertions(+), 2 deletions(-) diff --git a/benchmark/benchmark_utils.py b/benchmark/benchmark_utils.py index 00afdd77..84cd87f9 100644 --- a/benchmark/benchmark_utils.py +++ b/benchmark/benchmark_utils.py @@ -30,6 +30,9 @@ def benchmark_already_executed( """ task_results = return_or_create_result_file(task) + # check if failure group csv already exists + return_or_create_wrong_result_file(task) + if task_results.empty: return False @@ -96,6 +99,47 @@ def return_or_create_result_file( return results +def return_or_create_wrong_result_file(task: str): + """ + Returns the wrong result file for the task or creates it if it does not exist. + + Args: + task (str): The benchmark task, e.g. "biocypher_query_generation" + + Returns: + pd.DataFrame: The wrong result file for the task + """ + file_path = get_wrong_result_file_path(task) + try: + results = pd.read_csv(file_path, header=0) + except (pd.errors.EmptyDataError, FileNotFoundError): + results = pd.DataFrame( + columns=[ + "model_name", + "subtask", + "wrong_answer", + "expected_answer", + "failure_groups", + "md5_hash", + "datetime", + ] + ) + results.to_csv(file_path, index=False) + return results + + +def get_wrong_result_file_path(task: str) -> str: + """Returns the path to the wrong result file. + + Args: + task (str): The benchmark task, e.g. "biocypher_query_generation" + + Returns: + str: The path to the wrong result file + """ + return f"benchmark/results/{task}_failure_groups.csv" + + def write_results_to_file( model_name: str, subtask: str, @@ -126,6 +170,38 @@ def write_results_to_file( results.to_csv(file_path, index=False) +def write_wrong_results_to_file( + model_name: str, + subtask: str, + wrong_answer: str, + expected_answer: str, + failure_groups: str, + md5_hash: str, + file_path: str, +): + """Writes the wrong benchmark results for the subtask to the result file. + + Args: + model_name (str): The model name, e.g. "gpt-3.5-turbo" + subtask (str): The benchmark subtask test case, e.g. "entities" + wrong_answer (str): The wrong answer given to the subtask + expected_answer (str): The expected for the subtask + failure_groups (str): The group of the failure e.g. "Wrong count of words" + md5_hash (str): The md5 hash of the test case + file_path (str): The path to the result file + """ + results = pd.read_csv(file_path, header=0) + now = datetime.now().strftime("%Y-%m-%d %H:%M:%S") + new_row = pd.DataFrame( + [[model_name, subtask, wrong_answer, expected_answer, failure_groups, md5_hash, now]], + columns=results.columns, + ) + results = pd.concat([results, new_row], ignore_index=True).sort_values( + by=["model_name", "subtask"] + ) + results.to_csv(file_path, index=False) + + # TODO should we use SQLite? An online database (REDIS)? def get_result_file_path(file_name: str) -> str: """Returns the path to the result file. diff --git a/benchmark/test_correctness_medical_usecase.py b/benchmark/test_correctness_medical_usecase.py index 750241c5..d157496f 100644 --- a/benchmark/test_correctness_medical_usecase.py +++ b/benchmark/test_correctness_medical_usecase.py @@ -8,7 +8,9 @@ from .benchmark_utils import ( skip_if_already_run, get_result_file_path, + get_wrong_result_file_path, write_results_to_file, + write_wrong_results_to_file ) @@ -24,9 +26,14 @@ def test_correctness_of_answers( skip_if_already_run( model_name=model_name, task=task, md5_hash=yaml_data["hash"] ) + failure_group = "other" + wrong_answer = "" + expected_answer = "" def run_test(): + nonlocal wrong_answer + nonlocal expected_answer conversation.reset() # needs to be reset for each test [ conversation.append_system_message(m) @@ -46,9 +53,13 @@ def run_test(): # calculate score of correct answers score = [] - # calculate for answers without regex + # calculate for answers without regex and save response if wrong if "regex" not in yaml_data["case"]: - score.append(response == yaml_data["expected"]["answer"]) + expected_answer = yaml_data["expected"]["answer"] + is_correct = response == expected_answer + score.append(is_correct) + if not is_correct: + wrong_answer = response # calculate for answers with regex else: @@ -73,3 +84,13 @@ def run_test(): yaml_data["hash"], get_result_file_path(task), ) + if wrong_answer != "": + write_wrong_results_to_file( + model_name, + yaml_data["case"], + wrong_answer, + expected_answer, + failure_group, + yaml_data["hash"], + get_wrong_result_file_path(task) + ) From d3c6fcea7e633896e77feebd5de88ba7fb480870 Mon Sep 17 00:00:00 2001 From: Luna Zetsche Date: Wed, 22 May 2024 10:01:37 +0200 Subject: [PATCH 29/69] BUGFIX eeg_answer --- benchmark/data/benchmark_data.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index 8007a739..8ace41a4 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -603,7 +603,7 @@ correctness: "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" ] expected: - answer: "B" + answer: "b" #yes_no @@ -693,7 +693,7 @@ correctness: "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." ] expected: - answer: "B" + answer: "b" # yes_no From c853b72fec065f5fae9e2052104e18cecd028cc9 Mon Sep 17 00:00:00 2001 From: Luna Zetsche Date: Wed, 22 May 2024 10:23:21 +0200 Subject: [PATCH 30/69] ADD writing csv with expected, wrong and failure_group --- benchmark/benchmark_utils.py | 20 +++++++++++++++++++ benchmark/data/benchmark_data.yaml | 4 ++-- benchmark/test_correctness_medical_usecase.py | 7 ++++++- 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/benchmark/benchmark_utils.py b/benchmark/benchmark_utils.py index 84cd87f9..374e30e7 100644 --- a/benchmark/benchmark_utils.py +++ b/benchmark/benchmark_utils.py @@ -1,6 +1,7 @@ import pytest import pandas as pd +import re from datetime import datetime @@ -202,6 +203,25 @@ def write_wrong_results_to_file( results.to_csv(file_path, index=False) +def categorize_failures(wrong_answer, expected_answer): + if wrong_answer.lower() == expected_answer.lower(): + return "Case Sensitivity" + elif wrong_answer in expected_answer or expected_answer in wrong_answer: + return "Partial Match" + elif re.sub(r'\s+', '', wrong_answer.lower()) == re.sub(r'\s+', '', expected_answer.lower()): + return "Format Error" + elif re.search(r'\b' + re.escape(wrong_answer) + r'\b', expected_answer) or re.search(r'\b' + re.escape(expected_answer) + r'\b', wrong_answer): + return "Synonym" + elif re.search(r'\w+', wrong_answer) and re.search(r'\w+', expected_answer) and any(char.isdigit() for char in wrong_answer) != any(char.isdigit() for char in expected_answer): + return "Format Error" + elif any(char.isdigit() for char in wrong_answer) or any(char.isdigit() for char in expected_answer): + return "Format Error" + elif wrong_answer.lower() in expected_answer.lower() or expected_answer.lower() in wrong_answer.lower(): + return "Partial Match" + else: + return "Other" + + # TODO should we use SQLite? An online database (REDIS)? def get_result_file_path(file_name: str) -> str: """Returns the path to the result file. diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index a5bd30f8..9f5ec334 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -508,7 +508,7 @@ correctness: "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." ] expected: - answer: "B" + answer: "b" - case: multiple_choice_eeg_data_en input: @@ -518,7 +518,7 @@ correctness: "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" ] expected: - answer: "B" + answer: "b" - case: yes_no_eeg_data_de input: diff --git a/benchmark/test_correctness_medical_usecase.py b/benchmark/test_correctness_medical_usecase.py index d157496f..7ee1fdb1 100644 --- a/benchmark/test_correctness_medical_usecase.py +++ b/benchmark/test_correctness_medical_usecase.py @@ -10,7 +10,8 @@ get_result_file_path, get_wrong_result_file_path, write_results_to_file, - write_wrong_results_to_file + write_wrong_results_to_file, + categorize_failures ) @@ -34,6 +35,7 @@ def test_correctness_of_answers( def run_test(): nonlocal wrong_answer nonlocal expected_answer + nonlocal failure_group conversation.reset() # needs to be reset for each test [ conversation.append_system_message(m) @@ -60,6 +62,7 @@ def run_test(): score.append(is_correct) if not is_correct: wrong_answer = response + failure_group = categorize_failures(wrong_answer, expected_answer) # calculate for answers with regex else: @@ -74,6 +77,8 @@ def run_test(): return calculate_test_score(score) + + mean_score, max, n_iterations = multiple_testing(run_test) write_results_to_file( From f3a1597921452d1f9b6d3b8faddf557e9b136ad3 Mon Sep 17 00:00:00 2001 From: Luna Zetsche Date: Wed, 22 May 2024 10:35:49 +0200 Subject: [PATCH 31/69] ADD regex failure_groups --- benchmark/benchmark_utils.py | 51 +++++++++++++++++++++++++----------- 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/benchmark/benchmark_utils.py b/benchmark/benchmark_utils.py index 374e30e7..0648448f 100644 --- a/benchmark/benchmark_utils.py +++ b/benchmark/benchmark_utils.py @@ -203,23 +203,42 @@ def write_wrong_results_to_file( results.to_csv(file_path, index=False) -def categorize_failures(wrong_answer, expected_answer): - if wrong_answer.lower() == expected_answer.lower(): - return "Case Sensitivity" - elif wrong_answer in expected_answer or expected_answer in wrong_answer: - return "Partial Match" - elif re.sub(r'\s+', '', wrong_answer.lower()) == re.sub(r'\s+', '', expected_answer.lower()): - return "Format Error" - elif re.search(r'\b' + re.escape(wrong_answer) + r'\b', expected_answer) or re.search(r'\b' + re.escape(expected_answer) + r'\b', wrong_answer): - return "Synonym" - elif re.search(r'\w+', wrong_answer) and re.search(r'\w+', expected_answer) and any(char.isdigit() for char in wrong_answer) != any(char.isdigit() for char in expected_answer): - return "Format Error" - elif any(char.isdigit() for char in wrong_answer) or any(char.isdigit() for char in expected_answer): - return "Format Error" - elif wrong_answer.lower() in expected_answer.lower() or expected_answer.lower() in wrong_answer.lower(): - return "Partial Match" +def categorize_failures(wrong_answer, expected_answer, regex=False): + if not regex: + + # Check if the answer is right, but the case sensitivity was wrong + if wrong_answer.lower() == expected_answer.lower(): + return "Case Sensitivity" + + # Check + elif wrong_answer in expected_answer or expected_answer in wrong_answer: + return "Partial Match" + elif re.sub(r'\s+', '', wrong_answer.lower()) == re.sub(r'\s+', '', expected_answer.lower()): + return "Format Error" + elif re.search(r'\b' + re.escape(wrong_answer) + r'\b', expected_answer) or re.search(r'\b' + re.escape(expected_answer) + r'\b', wrong_answer): + return "Synonym" + elif re.search(r'\w+', wrong_answer) and re.search(r'\w+', expected_answer) and any(char.isdigit() for char in wrong_answer) != any(char.isdigit() for char in expected_answer): + return "Format Error" + elif any(char.isdigit() for char in wrong_answer) or any(char.isdigit() for char in expected_answer): + return "Format Error" + elif wrong_answer.lower() in expected_answer.lower() or expected_answer.lower() in wrong_answer.lower(): + return "Partial Match" + else: + return "Other" + else: - return "Other" + # Check if all the words in wrong_answer are expected but some of the expected are missing + if all(word in expected_answer for word in wrong_answer.split()): + return "Words Missing" + + # Check if some words in wrong_answer are incorrect (present in wrong_answer but not in expected_answer) + elif any(word not in expected_answer for word in wrong_answer.split()): + return "Incorrect Words" + + # Check if the entire wrong_answer is completely different from the expected_answer + else: + return "Entire Answer Incorrect" + # TODO should we use SQLite? An online database (REDIS)? From 4d67b3cb0d044129c6471ab60c9087f0b2702e58 Mon Sep 17 00:00:00 2001 From: Luna Zetsche Date: Wed, 22 May 2024 11:25:30 +0200 Subject: [PATCH 32/69] ADD regex failure_groups and better synonym tracker --- benchmark/benchmark_utils.py | 39 +++++++++++++++---- benchmark/test_correctness_medical_usecase.py | 9 ++++- 2 files changed, 39 insertions(+), 9 deletions(-) diff --git a/benchmark/benchmark_utils.py b/benchmark/benchmark_utils.py index 0648448f..9bd2e771 100644 --- a/benchmark/benchmark_utils.py +++ b/benchmark/benchmark_utils.py @@ -2,6 +2,7 @@ import pandas as pd import re +from nltk.corpus import wordnet from datetime import datetime @@ -204,25 +205,34 @@ def write_wrong_results_to_file( def categorize_failures(wrong_answer, expected_answer, regex=False): + if not regex: - # Check if the answer is right, but the case sensitivity was wrong + # Check if the answer is right, but the case sensitivity was wrong (e.g. a / A) if wrong_answer.lower() == expected_answer.lower(): return "Case Sensitivity" - # Check + # Check if some of the answer is right (e.g. "a headache instead of a") elif wrong_answer in expected_answer or expected_answer in wrong_answer: return "Partial Match" + + # Check if the format of the answer is wrong, but the answer otherwise is right (e.g. "a b" instead of "ab") elif re.sub(r'\s+', '', wrong_answer.lower()) == re.sub(r'\s+', '', expected_answer.lower()): return "Format Error" - elif re.search(r'\b' + re.escape(wrong_answer) + r'\b', expected_answer) or re.search(r'\b' + re.escape(expected_answer) + r'\b', wrong_answer): + + # Check if the answer is a synonym with nltk (e.g. Illness / Sickness) + elif is_synonym(wrong_answer, expected_answer): return "Synonym" + + # Check if the format of the answer is wrong due to numerical or alphabetic differences (e.g. "123" vs "one two three") elif re.search(r'\w+', wrong_answer) and re.search(r'\w+', expected_answer) and any(char.isdigit() for char in wrong_answer) != any(char.isdigit() for char in expected_answer): return "Format Error" - elif any(char.isdigit() for char in wrong_answer) or any(char.isdigit() for char in expected_answer): - return "Format Error" + + # Check if partial match with case sensitivity elif wrong_answer.lower() in expected_answer.lower() or expected_answer.lower() in wrong_answer.lower(): - return "Partial Match" + return "Partial Match / case Sensitivity" + + # Else the answer may be completely wrong else: return "Other" @@ -232,14 +242,27 @@ def categorize_failures(wrong_answer, expected_answer, regex=False): return "Words Missing" # Check if some words in wrong_answer are incorrect (present in wrong_answer but not in expected_answer) - elif any(word not in expected_answer for word in wrong_answer.split()): - return "Incorrect Words" + #elif any(word not in expected_answer for word in wrong_answer.split()): + # return "Incorrect Words" # Check if the entire wrong_answer is completely different from the expected_answer else: return "Entire Answer Incorrect" +def is_synonym(word1, word2): + if word2 is "yes" or "no" or "ja" or "nein": + return False + + synsets1 = wordnet.synsets(word1) + synsets2 = wordnet.synsets(word2) + + for synset1 in synsets1: + for synset2 in synsets2: + if synset1.wup_similarity(synset2) is not None: + return True + return False + # TODO should we use SQLite? An online database (REDIS)? def get_result_file_path(file_name: str) -> str: diff --git a/benchmark/test_correctness_medical_usecase.py b/benchmark/test_correctness_medical_usecase.py index 7ee1fdb1..d8e0a11a 100644 --- a/benchmark/test_correctness_medical_usecase.py +++ b/benchmark/test_correctness_medical_usecase.py @@ -1,4 +1,5 @@ import inspect +import nltk import re import pytest @@ -21,9 +22,12 @@ def test_correctness_of_answers( conversation, multiple_testing, ): + # Downloads the naturale language synonym toolkit, just need to be done once per device + # nltk.download() + yaml_data = test_data_correctness task = f"{inspect.currentframe().f_code.co_name.replace('test_', '')}" - # Wieder einkommentieren, wenn benötigt + skip_if_already_run( model_name=model_name, task=task, md5_hash=yaml_data["hash"] ) @@ -69,11 +73,14 @@ def run_test(): expected_word_pairs = yaml_data["expected"]["words_in_response"] for pair in expected_word_pairs: regex = "|".join(pair) + expected_answer = regex if re.search(regex, response, re.IGNORECASE): # print(f"Expected words '{pair}' found in response: {response}") score.append(True) else: score.append(False) + wrong_answer = wrong_answer + response + failure_group = categorize_failures(wrong_answer, expected_answer, True) return calculate_test_score(score) From 2b4f6adc06fdcabbb8b97ddb0a13e9baaf473dff Mon Sep 17 00:00:00 2001 From: Yasmin Tehranchian Date: Thu, 23 May 2024 01:37:57 +0200 Subject: [PATCH 33/69] Translate the emergency cases and updating to the new schema --- benchmark/data/benchmark_data.yaml | 221 ++++++++++++++++++++++++----- 1 file changed, 189 insertions(+), 32 deletions(-) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index a1e57a8f..5b408649 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -309,7 +309,7 @@ correctness: expected: answer: "d" - - case: yes_no_biochemistry_en + - case: dichotomous_biochemistry_en input: prompt: Is this true? The tendency to thrombosis (thrombophilia) is in many cases genetically determined. Missense mutations in the gene for factor V can be the cause of familial thrombophilia. Due to such mutations, the activated factor V (Va) is less efficiently inactivated by an activated protein C and is therefore particularly stable. system_messages: @@ -319,7 +319,7 @@ correctness: expected: answer: "yes" - - case: yes_no_biochemistry_en + - case: dichotomous_biochemistry_en input: prompt: Is this true? The tendency to thrombosis (thrombophilia) is in many cases genetically determined. Missense mutations in the gene for factor V can be the cause of familial thrombophilia. Due to such mutations, the activated factor V (Va) is less efficiently inactivated by an activated thrombomobilin and is therefore particularly stable. system_messages: @@ -351,7 +351,7 @@ correctness: expected: answer: "e" - - case: yes_no_physiology_en + - case: dichotomous_physiology_en input: prompt: Is the apparent viscosity of the blood with a normal haematocrit (and under otherwise identical conditions) typically lower with a vessel diameter of around 8 μm than with a vessel diameter of 4 μm? system_messages: @@ -361,7 +361,7 @@ correctness: expected: answer: "yes" - - case: yes_no_physiology_en + - case: dichotomous_physiology_en input: prompt: Is the apparent (apparente) viscosity of the blood with normal haematocrit (and under otherwise identical conditions) always lower in large vessels than in small vessels? system_messages: @@ -462,7 +462,7 @@ correctness: expected: answer: "d" - - case: yes_no_biochemistry_de + - case: dichotomous_biochemistry_de input: prompt: Stimmt das? Die Neigung zu Thrombosen (Thrombophilie) ist in vielen Fällen genetisch bedingt. Missensemutationen im Gen für Faktor V können die Ursache einer familiären Thrombophilie sein. Durch solche Mutationen wird der aktivierte Faktor V (Va) weniger effizient durch ein aktiviertes Protein C inaktiviert und ist daher besonders stabil. system_messages: @@ -472,7 +472,7 @@ correctness: expected: answer: "ja" - - case: yes_no_biochemistry_de + - case: dichotomous_biochemistry_de input: prompt: Stimmt das? Die Neigung zu Thrombosen (Thrombophilie) ist in vielen Fällen genetisch bedingt. Missensemutationen im Gen für Faktor V können die Ursache einer familiären Thrombophilie sein. Durch solche Mutationen wird der aktivierte Faktor V (Va) weniger effizient durch ein aktiviertes Thrombomobilin inaktiviert und ist daher besonders stabil. system_messages: @@ -504,7 +504,7 @@ correctness: expected: answer: "e" - - case: yes_no_physiology_de + - case: dichotomous_physiology_de input: prompt: Ist die scheinbare Viskosität des Blutes bei normalem Hämatokrit (und unter sonst gleichen Bedingungen) bei einem Gefäßdurchmesser von etwa 8 μm typischerweise niedriger als bei einem Gefäßdurchmesser von 4 μm? system_messages: @@ -514,7 +514,7 @@ correctness: expected: answer: "ja" - - case: yes_no_physiology_de + - case: dichotomous_physiology_de input: prompt: Ist die scheinbare (apparente) Viskosität des Blutes bei normalem Hämatokrit (und unter sonst gleichen Bedingungen) in großen Gefäßen immer niedriger als in kleinen Gefäßen? system_messages: @@ -605,9 +605,9 @@ correctness: expected: answer: "b" - #yes_no + #dichotomous - - case: yes_no_eeg_data_en + - case: dichotomous_eeg_data_en input: prompt: Are so-called delta waves observed in EEG signals, especially during deep sleep? system_messages: @@ -695,9 +695,9 @@ correctness: expected: answer: "b" -# yes_no +# dichotomous - - case: yes_no_eeg_data_de + - case: dichotomous_eeg_data_de input: prompt: Bei EEG Signalen sind sogenannte Delta Wellen vor allem im Tiefschlaf zu beobachten system_messages: @@ -954,16 +954,16 @@ correctness: - - "Clopidogrel" - "NSAID" - "NSAID" - ########################################################################################################### +########################################################################################################### # Test case: Questions about “emergency medicine” for prospective emergency physicians # Language: German ########################################################################################################### # Level 1: Yes or no questions - - case: yes_no_emergency + - case: dichotomous_emergency_de input: - prompt: Bei einem Herzinfarkt wird typischerweise Aspirin eingesetzt? + prompt: Wird bei einem Herzinfarkt typischerweise Aspirin eingesetzt? system_messages: [ "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." @@ -971,7 +971,7 @@ correctness: expected: answer: "ja" - - case: yes_no_emergency + - case: dichotomous_emergency_de input: prompt: Ist RHUB ist die Abkürzung für einen Rettungshubschrauber? system_messages: @@ -981,9 +981,9 @@ correctness: expected: answer: "nein" - - case: yes_no_emergency + - case: dichotomous_emergency_de input: - prompt: Bei einem epileptischen Anfall immer versuchen die Person festzuhalten? + prompt: Sollte man bei einem epileptischen Anfall immer versuchen die Person festzuhalten? system_messages: [ "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." @@ -991,9 +991,9 @@ correctness: expected: answer: "nein" - - case: yes_no_emergency + - case: dichotomous_emergency_de input: - prompt: Bei CPR sind Kompressionen wichtiger als die Luftzufuhr? + prompt: Sind bei CPR die Kompressionen wichtiger als die Luftzufuhr? system_messages: [ "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." @@ -1001,7 +1001,7 @@ correctness: expected: answer: "ja" - - case: yes_no_emergency + - case: dichotomous_emergency_de input: prompt: Kann man einen automatisierten externen Defibrillator (AED) auch bei Epilepsie verwenden? system_messages: @@ -1011,9 +1011,9 @@ correctness: expected: answer: "nein" - # Level 2: Multiple choice questions + # Level 2: Single or Multiple choice questions - - case: multiple_choice_emergency + - case: single_choice_emergency_de input: prompt: Welches „Stresshormon“ steigert Blutdruck und Herzfrequenz?? (A) Insulin (B) Adrenalin (C) Melatonin (D) Leptin system_messages: @@ -1023,7 +1023,7 @@ correctness: expected: answer: "b" - - case: multiple_choice_emergency + - case: single_choice_emergency_de input: prompt: Welcher Wirkstoff wird bei einem aktuten Asthmaanfall indiziert? (A) Verapamil (B) Fenoterol (C) Haloperidol (D) 4-Dimethylaminophenol system_messages: @@ -1033,7 +1033,7 @@ correctness: expected: answer: "b" - - case: multiple_choice_emergency + - case: single_choice_emergency_de input: prompt: Was bezeichnet der systolische Blutdruckwert? (A) Den unteren Wert, also den Druck in der Entspannungsphase des Herzens (B) Den über eine Minute gemittelten Druck (C) Den höchsten Druck direkt nach Ventrikelkontraktion (D) Das Gleiche, wie der diastolische Wert system_messages: @@ -1043,7 +1043,7 @@ correctness: expected: answer: "c" - - case: multiple_choice_emergency + - case: single_choice_emergency_de input: prompt: Bei welchem Blutzuckerwert besteht die Gefahr eines diabetischen Komas? (A) < 20 mg/dl (B) < 50 mg/dl (C) < 90 mg/dl (D) > 110 mg/dl (E) > 300 mg/dl system_messages: @@ -1053,7 +1053,7 @@ correctness: expected: answer: "e" - - case: multiple_choice_emergency + - case: single_choice_emergency_de input: prompt: Bei welcher Diagnose ist die Hochlagerung der Beine kontraindiziert? (A) Hypovolämischer Schock (B) Anaphylaktischer Schock (C) Hypoglykämischer Schock (D) Kardiogener Schock (E) Septisch-Toxischer Schock system_messages: @@ -1066,7 +1066,7 @@ correctness: # Level 3: Word questions - - case: one_word_emergency + - case: one_word_emergency_de input: prompt: Was ist der erste Schritt bei der Erste-Hilfe-Leistung nach dem ABCDE Schema? system_messages: @@ -1076,7 +1076,7 @@ correctness: expected: answer: "Atemwege" - - case: one_word_emergency + - case: one_word_emergency_de input: prompt: Welche Art von Blut führt die Lungenvene? system_messages: @@ -1086,7 +1086,7 @@ correctness: expected: answer: "Sauerstoffreiches" - - case: one_word_emergency + - case: one_word_emergency_de input: prompt: Welche Blutgruppe gibt bei unbekannten Notfällen? system_messages: @@ -1096,7 +1096,7 @@ correctness: expected: answer: "0" - - case: short_words_emergency + - case: short_words_emergency_de input: prompt: Was erfordert der Einsatz eines Guedeltubus? system_messages: @@ -1106,7 +1106,7 @@ correctness: expected: answer: "Tiefe Bewusstlosigkeit" - - case: short_words_emergency + - case: short_words_emergency_de input: prompt: Wofür stehen die Buchstaben der RICE-Methode? system_messages: @@ -1116,6 +1116,163 @@ correctness: expected: answer: "Rest, Ice, Compression, Elevation" + +########################################################################################################### + # Test case: Questions about “emergency medicine” for prospective emergency physicians + # Language: English +########################################################################################################### + + + # Level 1: Yes or no questions + - case: dichotomous_emergency_en + input: + prompt: Is Aspirin is typically used for a heart attack? + system_messages: + [ + "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + ] + expected: + answer: "yes" + + - case: dichotomous_emergency_en + input: + prompt: Should you always try to hold the person during an epileptic seizure? + system_messages: + [ + "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + ] + expected: + answer: "no" + + - case: dichotomous_emergency_en + input: + prompt: Are the compressions more important than the air supply during CPR? + system_messages: + [ + "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + ] + expected: + answer: "yes" + + - case: dichotomous_emergency_en + input: + prompt: Can an automated external defibrillator (AED) also be used for epilepsy? + system_messages: + [ + "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + ] + expected: + answer: "yes" + + # Level 2: Single or Multiple choice questions + + - case: single_choice_emergency_en + input: + prompt: Which "stress hormone" increases blood pressure and heart rate? (A) Insulin (B) Adrenaline (C) Melatonin (D) Leptin + system_messages: + [ + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + ] + expected: + answer: "b" + + - case: single_choice_emergency_en + input: + prompt: Which drug is indicated for an acute asthma attack? (A) Verapamil (B) Fenoterol (C) Haloperidol (D) 4-Dimethylaminophenol + system_messages: + [ + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + ] + expected: + answer: "b" + + - case: single_choice_emergency_en + input: + prompt: What is the systolic blood pressure value? (A) The lower value, i.e. the pressure in the relaxation phase of the heart (B) The pressure averaged over one minute (C) The highest pressure directly after ventricular contraction (D) The same as the diastolic value + system_messages: + [ + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + ] + expected: + answer: "c" + + - case: single_choice_emergency_en + input: + prompt: At which blood glucose level is there a risk of diabetic coma? (A) < 20 mg/dl (B) < 50 mg/dl (C) < 90 mg/dl (D) > 110 mg/dl (E) > 300 mg/dl + system_messages: + [ + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + ] + expected: + answer: "e" + + - case: single_choice_emergency_en + input: + prompt: For which diagnosis is elevation of the legs contraindicated? (A) Hypovolemic shock (B) Anaphylactic shock (C) Hypoglycemic shock (D) Cardiogenic shock (E) Septic-toxic shock + system_messages: + [ + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + ] + expected: + answer: "d" + + + # Level 3: Word questions + + - case: one_word_emergency_en + input: + prompt: What is the first step in providing first aid according to the ABCDE scheme? + system_messages: + [ + "Answer the following question with just one word" + ] + expected: + answer: "Airways" + + - case: one_word_emergency_en + input: + prompt: What type of blood does the pulmonary vein carry? + system_messages: + [ + "Answer the following question with just one word" + ] + expected: + answer: "Oxygen-rich" + + - case: one_word_emergency_en + input: + prompt: Which blood group is used for unknown emergencies? + system_messages: + [ + "Answer the following question with just one word. If the answer is zero, please use the number 0." + ] + expected: + answer: "0" + + - case: short_words_emergency_en + input: + prompt: What does the use of a Guedel tube require? + system_messages: + [ + "Answer the following question with maximal two words." + ] + expected: + answer: "Deep unconsciousness" + + - case: short_words_emergency_en + input: + prompt: What do the letters of the RICE method stand for? + system_messages: + [ + "Answer the following question with just one word per letter" + ] + expected: + answer: "Rest, Ice, Compression, Elevation" + + + + + - case: medication_regex input: prompt: "Können Sie Beispiele für Medikamente nennen, die nicht mit NSAR (nichtsteroidalen Antirheumatika) wie Ibuprofen oder Naproxen eingenommen werden sollten, um das Risiko von Magengeschwüren zu minimieren?" From 9f4e039d0dcbabb68053177a90a79cb10cbdd205 Mon Sep 17 00:00:00 2001 From: Yasmin Tehranchian Date: Fri, 24 May 2024 18:12:44 +0200 Subject: [PATCH 34/69] New cardiology cases in German --- benchmark/data/benchmark_data.yaml | 311 +++++++++++++++++++++++++++++ 1 file changed, 311 insertions(+) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index 5b408649..6dd54ad4 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -1996,7 +1996,318 @@ correctness: - "traumatic" - "memories" +########################################################################################################### + # Test case: Questions about “emergency medicine” for prospective emergency physicians + # Language: German +########################################################################################################### + + + # Level 1: Yes or no questions + - case: dichotomous_cardiology_de + input: + prompt: Bei einer arrhythmogene rechtsventrikuläre Kardiomyopathie (ARVC) muss eine dominierenden RV-Dilatation und eine Dysfunktion bei histologischer Beteiligung vorhanden sein? + system_messages: + [ + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + ] + expected: + answer: "nein" + + - case: dichotomous_cardiology_de + input: + prompt: Muss eine bei einer routinemäßigen Nachuntersuchung stabilen Patienten mit einer Kardiomyopathie immer ein EKG und ein Echokardiographie durchgeführt werden ? + system_messages: + [ + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + ] + expected: + answer: "ja" + + - case: dichotomous_cardiology_de + input: + prompt: Wir bei Patienten mit Ruhe- oder provozierbarer LVOTO, Digoxin und arterielle und venöse Dilatatoren empfohlen? + system_messages: + [ + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + ] + expected: + answer: "nein" + + - case: dichotomous_cardiology_de + input: + prompt: Welches Geschlecht ist von Morbus Fabry häufiger betroffen? + system_messages: + [ + "Sie erhalten eine Frage und sollten diese nur mit den Worten „Mann“ oder „Frau“ beantworten." + ] + expected: + answer: "Mann" + + - case: dichotomous_cardiology_de + input: + prompt: Haben medikamentöse Therapien Einfluss auf den natürlichen Verlauf von Aortenklappenstenose? + system_messages: + [ + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + ] + expected: + answer: "nein" + + # Level 2: Single or Multiple choice questions + + - case: single_choice_cardiology_de + input: + prompt: Welches dieser Merkmale deutet nicht eindeutig auf eine Ätiologie oder morphologische Diagnose? (A) Grundrhythmus und Herzfrequenz (B) Atrioventrikuläre Block (AV-Block) (C) Ventrikuläres Präexzitationsmuster (D) Verteilung der Repolarisationsanomalien + system_messages: + [ + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden" + ] + expected: + answer: "a" + + - case: single_choice_cardiology_de + input: + prompt: Welches Merkmale wird nicht mit der Hilfe von Echokardiographie und CMR beurteilt? (A) Ventrikelfunktion (B) Hypertrophie (C) Myokardiale Ischämie (D) Dilatation + system_messages: + [ + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden" + ] + expected: + answer: "c" + + - case: single_choice_cardiology_de + input: + prompt: Welcher dieser Genotypen ist nicht Hochrisiko Idikator für den plötzlichen Herztod bei Patienten mit DCM und NDLVC? (A) PLN (B) TMEM43 (C) APOE (D) DSP + system_messages: + [ + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden" + ] + expected: + answer: "c" + + - case: single_choice_cardiology_de + input: + prompt: Welche dieser Erkankungen ist keine Endomyokardiale Störungen? (A) Morbus Fabry (B) Hypereosinophilie (C) Karzinoide (D) Endokardiale Fibroelastose + system_messages: + [ + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden" + ] + expected: + answer: "a" + + - case: single_choice_cardiology_de + input: + prompt: Ab welcher Breite der Vena contracta (in mm) kann eine hochgradigen Aortenklappeninsuffizienz diagnitiziert werden? (A) >50 (B) >6 (C) >12 (D) >23 + system_messages: + [ + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden" + ] + expected: + answer: "b" + + + # Level 3: Word questions + + - case: one_word_cardiology_de + input: + prompt: Welches bildgebende Verfahren wird beim Verdacht auf Amyloidose verwendet? + system_messages: + [ + "Beantworten Sie die folgende Frage mit nur einem Wort" + ] + expected: + answer: "Knochenszintigraphie" + + - case: one_word_cardiology_de + input: + prompt: Was ist das empfohlen Maximum an Zeitspanne zwischen Nachunterschung bei klinisch stabilen Patienten mit einer Kardiomyopathie? + system_messages: + [ + "Beantworten Sie die folgende Frage mit nur einer Angabe in Jahren. Nur die Zahl ohne weitere Beschreibung" + ] + expected: + answer: "2" + + - case: one_word_cardiology_de + input: + prompt: Welche Methode wird zum Abschätzung des 5-Jahres-Risikos für einen plötzlichen Tod bei Patienten im Alter von ≥ 16 Jahren verwendet ? + system_messages: + [ + "Beantworten Sie die folgende Frage mit nur einem Wort." + ] + expected: + answer: "HCM-SCD-Risikorechner" + + - case: one_word_cardiology_de + input: + prompt: Wie viele Wochen nach einer Intervation bei einer periphere arterielle Verschlusskrankheit muss ein Patienten mindestens warten bis er wieder einen Bus fahren kann? + system_messages: + [ + "Beantworten Sie die folgende Frage mit nur einer Angabe in Wochen. Nur die Zahl ohne weitere Beschreibung" + ] + expected: + answer: "1" + + + - case: one_word_cardiology_de + input: + prompt: Welches standardisierte Medikament sollte in Erwägung gezogen werden, wenn die Herzfrequenz eines Patienten trotz Betablockertherapie hoch bleibt? + system_messages: + [ + "Beantworten Sie die folgende Frage mit nur einem Wort." + ] + expected: + answer: "Digoxin" + + + + + + # Level 1: Yes or no questions + - case: dichotomous_emergency_en + input: + prompt: Is Aspirin is typically used for a heart attack? + system_messages: + [ + "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + ] + expected: + answer: "yes" + + - case: dichotomous_emergency_en + input: + prompt: Should you always try to hold the person during an epileptic seizure? + system_messages: + [ + "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + ] + expected: + answer: "no" + + - case: dichotomous_emergency_en + input: + prompt: Are the compressions more important than the air supply during CPR? + system_messages: + [ + "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + ] + expected: + answer: "yes" + + - case: dichotomous_emergency_en + input: + prompt: Can an automated external defibrillator (AED) also be used for epilepsy? + system_messages: + [ + "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + ] + expected: + answer: "yes" + + # Level 2: Single or Multiple choice questions + + - case: single_choice_emergency_en + input: + prompt: Which "stress hormone" increases blood pressure and heart rate? (A) Insulin (B) Adrenaline (C) Melatonin (D) Leptin + system_messages: + [ + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + ] + expected: + answer: "b" + + - case: single_choice_emergency_en + input: + prompt: Which drug is indicated for an acute asthma attack? (A) Verapamil (B) Fenoterol (C) Haloperidol (D) 4-Dimethylaminophenol + system_messages: + [ + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + ] + expected: + answer: "b" + - case: single_choice_emergency_en + input: + prompt: What is the systolic blood pressure value? (A) The lower value, i.e. the pressure in the relaxation phase of the heart (B) The pressure averaged over one minute (C) The highest pressure directly after ventricular contraction (D) The same as the diastolic value + system_messages: + [ + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + ] + expected: + answer: "c" + + - case: single_choice_emergency_en + input: + prompt: At which blood glucose level is there a risk of diabetic coma? (A) < 20 mg/dl (B) < 50 mg/dl (C) < 90 mg/dl (D) > 110 mg/dl (E) > 300 mg/dl + system_messages: + [ + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + ] + expected: + answer: "e" + + - case: single_choice_emergency_en + input: + prompt: For which diagnosis is elevation of the legs contraindicated? (A) Hypovolemic shock (B) Anaphylactic shock (C) Hypoglycemic shock (D) Cardiogenic shock (E) Septic-toxic shock + system_messages: + [ + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + ] + expected: + answer: "d" + + + # Level 3: Word questions + + - case: one_word_emergency_en + input: + prompt: What is the first step in providing first aid according to the ABCDE scheme? + system_messages: + [ + "Answer the following question with just one word" + ] + expected: + answer: "Airways" + + - case: one_word_emergency_en + input: + prompt: What type of blood does the pulmonary vein carry? + system_messages: + [ + "Answer the following question with just one word" + ] + expected: + answer: "Oxygen-rich" + + - case: one_word_emergency_en + input: + prompt: Which blood group is used for unknown emergencies? + system_messages: + [ + "Answer the following question with just one word. If the answer is zero, please use the number 0." + ] + expected: + answer: "0" + + - case: short_words_emergency_en + input: + prompt: What does the use of a Guedel tube require? + system_messages: + [ + "Answer the following question with maximal two words." + ] + expected: + answer: "Deep unconsciousness" + + - case: short_words_emergency_en + input: + prompt: What do the letters of the RICE method stand for? + system_messages: + [ + "Answer the following question with just one word per letter" + ] + expected: + answer: "Rest, Ice, Compression, Elevation" kg_schemas: gene_kg: From f871db06393039ae18492c0a65e04ec6daf8fad0 Mon Sep 17 00:00:00 2001 From: Yasmin Tehranchian Date: Fri, 24 May 2024 19:10:29 +0200 Subject: [PATCH 35/69] Case translated into English --- benchmark/data/benchmark_data.yaml | 116 ++++++++++++++++------------- 1 file changed, 63 insertions(+), 53 deletions(-) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index 6dd54ad4..d7d11da5 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -2025,7 +2025,7 @@ correctness: - case: dichotomous_cardiology_de input: - prompt: Wir bei Patienten mit Ruhe- oder provozierbarer LVOTO, Digoxin und arterielle und venöse Dilatatoren empfohlen? + prompt: Wird bei Patienten mit Ruhe- oder provozierbarer LVOTO, Digoxin und arterielle und venöse Dilatatoren empfohlen? system_messages: [ "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." @@ -2077,7 +2077,7 @@ correctness: - case: single_choice_cardiology_de input: - prompt: Welcher dieser Genotypen ist nicht Hochrisiko Idikator für den plötzlichen Herztod bei Patienten mit DCM und NDLVC? (A) PLN (B) TMEM43 (C) APOE (D) DSP + prompt: Welcher dieser Genotypen ist kein Hochrisiko Indikator für den plötzlichen Herztod bei Patienten mit DCM und NDLVC? (A) PLN (B) TMEM43 (C) APOE (D) DSP system_messages: [ "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden" @@ -2097,7 +2097,7 @@ correctness: - case: single_choice_cardiology_de input: - prompt: Ab welcher Breite der Vena contracta (in mm) kann eine hochgradigen Aortenklappeninsuffizienz diagnitiziert werden? (A) >50 (B) >6 (C) >12 (D) >23 + prompt: Ab welcher Breite der Vena contracta (in mm) kann eine hochgradigen Aortenklappeninsuffizienz diagnostiziert werden? (A) >50 (B) >6 (C) >12 (D) >23 system_messages: [ "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden" @@ -2148,7 +2148,6 @@ correctness: expected: answer: "1" - - case: one_word_cardiology_de input: prompt: Welches standardisierte Medikament sollte in Erwägung gezogen werden, wenn die Herzfrequenz eines Patienten trotz Betablockertherapie hoch bleibt? @@ -2160,33 +2159,35 @@ correctness: answer: "Digoxin" - - +########################################################################################################### + # Test case: Questions about “emergency medicine” for prospective emergency physicians + # Language: English +########################################################################################################### # Level 1: Yes or no questions - - case: dichotomous_emergency_en + - case: dichotomous_cardiology_en input: - prompt: Is Aspirin is typically used for a heart attack? + prompt: Do drug therapies influence the natural progression of aortic valve stenosis? system_messages: [ "You will receive a question and you should answer it with only using the word 'yes' or 'no'" ] expected: - answer: "yes" + answer: "no" - - case: dichotomous_emergency_en + - case: dichotomous_cardiology_en input: - prompt: Should you always try to hold the person during an epileptic seizure? + prompt: Which gender is more frequently affected by Fabry disease? system_messages: [ - "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + "You will receive a question and you should answer it with only using the word 'Men' or 'Woman'" ] expected: - answer: "no" + answer: "Men" - - case: dichotomous_emergency_en + - case: dichotomous_cardiology_en input: - prompt: Are the compressions more important than the air supply during CPR? + prompt: Does a routine follow-up examination of stable patients with cardiomyopathy always include an ECG and an echocardiogram? system_messages: [ "You will receive a question and you should answer it with only using the word 'yes' or 'no'" @@ -2194,41 +2195,51 @@ correctness: expected: answer: "yes" - - case: dichotomous_emergency_en + - case: dichotomous_cardiology_en input: - prompt: Can an automated external defibrillator (AED) also be used for epilepsy? + prompt: Arrhythmogenic right ventricular cardiomyopathy (ARVC) must have dominant RV dilatation and dysfunction with histologic involvement? system_messages: [ "You will receive a question and you should answer it with only using the word 'yes' or 'no'" ] expected: - answer: "yes" + answer: "no" + + - case: dichotomous_cardiology_en + input: + prompt: Is digoxin and arterial and venous dilators recommended in patients with resting or provocable LVOTO? + system_messages: + [ + "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + ] + expected: + answer: "no" # Level 2: Single or Multiple choice questions - - case: single_choice_emergency_en + - case: single_choice_cardiology_en input: - prompt: Which "stress hormone" increases blood pressure and heart rate? (A) Insulin (B) Adrenaline (C) Melatonin (D) Leptin + prompt: From which width of the vena contracta (in mm) can a high-grade aortic valve insufficiency be diagnosed? (A) >50 (B) >6 (C) >12 (D) >23 system_messages: [ "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." ] expected: - answer: "b" + answer: "a" - - case: single_choice_emergency_en + - case: single_choice_cardiology_en input: - prompt: Which drug is indicated for an acute asthma attack? (A) Verapamil (B) Fenoterol (C) Haloperidol (D) 4-Dimethylaminophenol + prompt: Which of these genotypes is not a high-risk indicator for sudden cardiac death in patients with DCM and NDLVC? (A) PLN (B) TMEM43 (C) APOE (D) DSP system_messages: [ "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." ] expected: - answer: "b" + answer: "c" - - case: single_choice_emergency_en + - case: single_choice_cardiology_en input: - prompt: What is the systolic blood pressure value? (A) The lower value, i.e. the pressure in the relaxation phase of the heart (B) The pressure averaged over one minute (C) The highest pressure directly after ventricular contraction (D) The same as the diastolic value + prompt: Which features are not assessed using echocardiography and CMR? (A) Ventricular function (B) Hypertrophy (C) Myocardial ischemia (D) Dilatation system_messages: [ "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." @@ -2236,78 +2247,77 @@ correctness: expected: answer: "c" - - case: single_choice_emergency_en + - case: single_choice_cardiology_en input: - prompt: At which blood glucose level is there a risk of diabetic coma? (A) < 20 mg/dl (B) < 50 mg/dl (C) < 90 mg/dl (D) > 110 mg/dl (E) > 300 mg/dl + prompt: Which of these features does not clearly indicate an etiologic or morphologic diagnosis? (A) Baseline rhythm and heart rate (B) Atrioventricular block (AV block) (C) Ventricular preexcitation pattern (D) Distribution of repolarization abnormalities system_messages: [ "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." ] expected: - answer: "e" + answer: "a" - - case: single_choice_emergency_en + - case: single_choice_cardiology_en input: - prompt: For which diagnosis is elevation of the legs contraindicated? (A) Hypovolemic shock (B) Anaphylactic shock (C) Hypoglycemic shock (D) Cardiogenic shock (E) Septic-toxic shock + prompt: Which of these diseases is not an endomyocardial disorder? (A) Fabry disease (B) Hypereosinophilia (C) Carcinoids (D) Endocardial fibroelastosis system_messages: [ "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." ] expected: - answer: "d" - + answer: "a" # Level 3: Word questions - - case: one_word_emergency_en + - case: one_word_cardiology_en input: - prompt: What is the first step in providing first aid according to the ABCDE scheme? + prompt: Which imaging procedure is used for suspected amyloidosis? system_messages: [ - "Answer the following question with just one word" + "Answer the following question with just two words" ] expected: - answer: "Airways" + answer: "Bone scintigraphy" - - case: one_word_emergency_en + - case: one_word_cardiology_en input: - prompt: What type of blood does the pulmonary vein carry? + prompt: What is the recommended maximum time between follow-up examinations in clinically stable patients with cardiomyopathy? system_messages: [ - "Answer the following question with just one word" + "Answer the following question in years only. Just the number without further description." ] expected: - answer: "Oxygen-rich" + answer: "2" - - case: one_word_emergency_en + - case: one_word_cardiology_en input: - prompt: Which blood group is used for unknown emergencies? + prompt: Which method is used to estimate the 5-year risk of sudden death in patients aged ≥ 16 years ? system_messages: [ - "Answer the following question with just one word. If the answer is zero, please use the number 0." + "Answer the following question with just with the name of the method" ] expected: - answer: "0" + answer: "HCM Risk-SCD Calculator" - - case: short_words_emergency_en + - case: one_word_cardiology_en input: - prompt: What does the use of a Guedel tube require? + prompt: How many weeks after an intervention for peripheral arterial occlusive disease does a patient have to wait at least until he can drive a bus again? system_messages: [ - "Answer the following question with maximal two words." + "Answer the following question in weeks only. Just the number without further description." ] expected: - answer: "Deep unconsciousness" + answer: "1" - - case: short_words_emergency_en + - case: one_word_cardiology_en input: - prompt: What do the letters of the RICE method stand for? + prompt: Which standardized medication should be considered if a patient's heart rate remains high despite beta-blocker therapy? system_messages: [ - "Answer the following question with just one word per letter" + "Answer the following question with just one words" ] expected: - answer: "Rest, Ice, Compression, Elevation" + answer: "Digoxin" kg_schemas: gene_kg: From 4a4fd38fe23baec85970bae7bdf02af8c711ea78 Mon Sep 17 00:00:00 2001 From: Yasmin Tehranchian Date: Fri, 24 May 2024 19:27:52 +0200 Subject: [PATCH 36/69] Refactor and clean code --- benchmark/data/benchmark_data.yaml | 471 +++++++++++++++-------------- 1 file changed, 240 insertions(+), 231 deletions(-) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index 27752d7f..795f20cd 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -217,32 +217,15 @@ rag_interpretation: behaviour: "answer" -# new test cases pdsm -correctness: - # test simple yes / no answer - - case: single_answer_yes - input: - prompt: Does taking blood thinners have the potential to reduce the risk of a stroke? - system_messages: - [ - "You will receive a question and you should answer it with only using the word 'yes' or 'no'" - ] - expected: - answer: "yes" + ########################################################################################################### + # Here start the PDSM Test Cases + ########################################################################################################### - # test multiple choice answer - - case: multiple_answer_a - input: - prompt: Which of the following is a known risk factor for stroke? A) High cholesterol B) Low blood pressure C) Regular exercise D) Vitamin D deficiency - system_messages: - [ - "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" - ] - expected: - answer: "a" +correctness: ########################################################################################################### # Test case: Student preparing for the Physikum for medical studies + # Language: English ########################################################################################################### # Math relevant questions @@ -395,7 +378,7 @@ correctness: ########################################################################################################### # Test case: Student preparing for the Physikum for medical studies -# Language: german +# Language: German ########################################################################################################### # Math relevant questions @@ -548,7 +531,7 @@ correctness: ########################################################################################################### # Test case: Working on a datascience project with eeg data -# Language: english +# Language: English ########################################################################################################### # regex @@ -619,7 +602,7 @@ correctness: ########################################################################################################### # Test case: Working on a datascience project with eeg data -# Language: german +# Language: German ########################################################################################################### #regex @@ -707,40 +690,13 @@ correctness: expected: answer: "ja" - -########################################################################################################### +########################################################################################################## # Test case: Oncology and radiation therapy +# Language: English ########################################################################################################### - # Level 1: Yes or no questions - - - case: single_choice_oncology_de - input: - prompt: "Ist Chemotherapie die einzige mögliche Therapie bei Krebs?" - system_messages: [ - "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." - ] - expected: - answer: "nein" - - - case: single_choice_oncology_de - input: - prompt: "Sind die BRCA 1 und BRCA 2 Gene für erblich bedingten Brustkrebs verantwortlich ?" - system_messages: [ - "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." - ] - expected: - answer: "ja" - - - case: single_choice_oncology_de - input: - prompt: "Die Strahlentherapie ist eine häufige Behandlungsmethode bei Glioblastom-Patienten?" - system_messages: [ - "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." - ] - expected: - answer: "ja" - - case: single_choice_oncology_en +# Level 1: Yes or no questions + - case: dichotomous_oncology_en input: prompt: "Is chemotherapy the only possible treatment for cancer?" system_messages: [ @@ -749,7 +705,7 @@ correctness: expected: answer: "no" - - case: single_choice_oncology_en + - case: dichotomous_oncology_en input: prompt: "Are the BRCA 1 and BRCA 2 genes responsible for hereditary breast cancer ?" system_messages: [ @@ -758,7 +714,7 @@ correctness: expected: answer: "yes" - - case: single_choice_oncology_en + - case: dichotomous_oncology_en input: prompt: "Radiotherapy is a common treatment method for glioblastoma patients?" system_messages: [ @@ -766,66 +722,139 @@ correctness: ] expected: answer: "yes" - # Level 2: Multiple Choice - - case: multiple_choice_oncology_de +# Level 2: Multiple Choice + + - case: multiple_choice_oncology_en input: - prompt: "Welche Art von Krebs wird häufig mit dem Tumormarker CA-125 überwacht? a) Lungenkrebs b) Ovarialkarzinom c) Bauchspeicheldrüsenkrebs d) Kolorektalkarzinom" + prompt: "Which type of cancer is frequently monitored with the tumor marker CA-125? a) Lung cancer b) Ovarian cancer c) Pancreatic cancer d) Colorectal cancer" system_messages: [ - "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + "You will receive a multiple choice question. Answer it briefly and concisely by entering only the correct letter of the question in lower case. Remember to use only one lowercase letter and not the whole correct answer." ] expected: answer: "b" - - case: multiple_choice_oncology_de + - case: multiple_choice_oncology_en input: - prompt: "Welches Medikament wird häufig als Antiemetikum zur Vorbeugung von Übelkeit und Erbrechen bei Chemotherapie-Patienten verwendet? a) Ondansetron b) Paracetamol c) Ibuprofen d) Loratadin" + prompt: "Which drug is often used as an antiemetic to prevent nausea and vomiting in chemotherapy patients? a) Ondansetron b) Paracetamol c) Ibuprofen d) Loratadin" system_messages: [ - "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + "You will receive a multiple choice question. Answer it briefly and concisely by entering only the correct letter of the question as a lowercase letter. Remember to use only one lowercase letter and not the whole correct answer." ] expected: answer: "a" - - case: multiple_choice_oncology_de + - case: multiple_choice_oncology_en input: - prompt: "Welche Bestrahlungstechnik gilt als Standart der Strahlentherapie! a) perkutane Strahlentherapie b) fraktionierte Bestrahlung c)Brachytherapie d) Röntgentherapie" + prompt: "Which radiation technique is considered the standard for radiation therapy? a) Percutaneous radiation therapy b) Fractionated radiation c)Brachytherapy d) X-ray therapy" system_messages: [ - "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + "You will receive a multiple choice question.Answer it briefly and concisely by entering only the correct letter of the question in lower case.Remember to use only one lowercase letter and not the whole correct answer." ] expected: answer: "a" - - case: multiple_choice_oncology_en + # Level 3: Free text + + - case: one_word_oncology_en input: - prompt: "Which type of cancer is frequently monitored with the tumor marker CA-125? a) Lung cancer b) Ovarian cancer c) Pancreatic cancer d) Colorectal cancer" + prompt: "What are the three tumor volumes, abbreviated, in radiotherapy?" system_messages: [ - "You will receive a multiple choice question. Answer it briefly and concisely by entering only the correct letter of the question in lower case. Remember to use only one lowercase letter and not the whole correct answer." + "Answer the question as precisely and briefly as possible, in a few words" + ] + expected: + answer: "GTV,CTV,PTV" + + - case: regex_oncology_en + input: + prompt: "What are some typical symptoms for malignant tumors?" + system_messages: + [ + "Answer the question as precisely and briefly as possible" + ] + expected: + words_in_response: + - "weight loss" + - "lump" + - "fatigue" + - "cough" + + - case: one_word_oncology_en + input: + prompt: "What is the most common type of cancer in women?" + system_messages: + [ + "Answer the question as precisely and briefly as possible" + ] + expected: + answer: 'Breast cancer' + +########################################################################################################### +# Test case: Oncology and radiation therapy +# Language: German +########################################################################################################### + # Level 1: Yes or no questions + + - case: dichotomous_oncology_de + input: + prompt: "Ist Chemotherapie die einzige mögliche Therapie bei Krebs?" + system_messages: [ + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + ] + expected: + answer: "nein" + + - case: dichotomous_oncology_de + input: + prompt: "Sind die BRCA 1 und BRCA 2 Gene für erblich bedingten Brustkrebs verantwortlich ?" + system_messages: [ + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + ] + expected: + answer: "ja" + + - case: dichotomous_oncology_de + input: + prompt: "Die Strahlentherapie ist eine häufige Behandlungsmethode bei Glioblastom-Patienten?" + system_messages: [ + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + ] + expected: + answer: "ja" + + # Level 2: Multiple Choice + + - case: multiple_choice_oncology_de + input: + prompt: "Welche Art von Krebs wird häufig mit dem Tumormarker CA-125 überwacht? a) Lungenkrebs b) Ovarialkarzinom c) Bauchspeicheldrüsenkrebs d) Kolorektalkarzinom" + system_messages: + [ + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." ] expected: answer: "b" - - case: multiple_choice_oncology_en + - case: multiple_choice_oncology_de input: - prompt: "Which drug is often used as an antiemetic to prevent nausea and vomiting in chemotherapy patients? a) Ondansetron b) Paracetamol c) Ibuprofen d) Loratadin" + prompt: "Welches Medikament wird häufig als Antiemetikum zur Vorbeugung von Übelkeit und Erbrechen bei Chemotherapie-Patienten verwendet? a) Ondansetron b) Paracetamol c) Ibuprofen d) Loratadin" system_messages: [ - "You will receive a multiple choice question. Answer it briefly and concisely by entering only the correct letter of the question as a lowercase letter. Remember to use only one lowercase letter and not the whole correct answer." + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." ] expected: answer: "a" - - case: multiple_choice_oncology_en + - case: multiple_choice_oncology_de input: - prompt: "Which radiation technique is considered the standard for radiation therapy? a) Percutaneous radiation therapy b) Fractionated radiation c)Brachytherapy d) X-ray therapy" + prompt: "Welche Bestrahlungstechnik gilt als Standart der Strahlentherapie! a) perkutane Strahlentherapie b) fraktionierte Bestrahlung c)Brachytherapie d) Röntgentherapie" system_messages: [ - "You will receive a multiple choice question.Answer it briefly and concisely by entering only the correct letter of the question in lower case.Remember to use only one lowercase letter and not the whole correct answer." + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." ] expected: answer: "a" + # Level 3: Free text - case: one_word_oncology_de input: @@ -861,45 +890,140 @@ correctness: expected: answer: 'Brustkrebs' - - case: one_word_oncology_en +########################################################################################################### +# Test case: Medication +# Language: English +########################################################################################################### +# Level 1: Yes or no questions + + - case: dichotomous_medication_en input: - prompt: "What are the three tumor volumes, abbreviated, in radiotherapy?" + prompt: "Can ibuprofen be safely taken together with antihypertensives?" + system_messages: [ + "You receive a question and should only answer it with the words 'yes' or 'no'." + ] + expected: + answer: "no" + + - case: dichotomous_medication_en + input: + prompt: "Is there a potential interaction between antibiotics and oral contraceptives?" + system_messages: [ + "You will receive a question and should only answer with the words 'yes' or 'no'." + ] + expected: + answer: "yes" + + - case: dichotomous_medication_en + input: + prompt: "Are there advantages to combining different RAS inhibitors?" + system_messages: [ + "You will receive a question and should only answer it with the words 'yes' or 'no'." + ] + expected: + answer: "no" + + + - case: dichotomous_medication_en + input: + prompt: "Should NO donors and PDE5 inhibitors be administered at the same time?" + system_messages: [ + "You will receive a question that you should only answer with 'yes' or 'no'" + ] + expected: + answer: "No" + + # Level 2: Multiple Choice + + - case: multiple_choice_medication_en + input: + prompt: "Which drug class has the highest risk of interaction with statins? (a) anticoagulants, (b) antacids, (c) antifungals, (d) antidepressants" + system_messages: [ + "You will receive a multiple-choice question. Answer it briefly and concisely by giving only the correct letter of the question in lower case. Remember to use only one lowercase letter and not the entire correct answer." + ] + expected: + answer: "c" + + - case: multiple_choice_medication_en + input: + prompt: "Which medication pairing should be avoided in patients taking MAO inhibitors? (a) serotonin reuptake inhibitors, (b) ACE inhibitors, (c) beta-blockers, (d) calcium channel blockers" + system_messages: [ + "You will receive a multiple choice question. Answer it briefly and concisely, using only the correct letter of the question in lower case. Remember to use only one lowercase letter and not the entire correct answer." + ] + expected: + answer: "a" + + + - case: multiple_choice_medication_en + input: + prompt: "What can occur if acetylsalicylic acid and coumarins are taken together? a) higher blood pressure, b) co-complex formation, c) increased blood clotting inhibition, d) cardiac arrhythmia" + system_messages: [ + "You will receive a multiple-choice question.Answer it briefly and concisely by indicating only the correct letter of the question in lower case.Remember to use only one lowercase letter and not the entire correct answer." + ] + expected: + answer: "c" + + #Level 3: Free text + + - case: one_word_medication_en + input: + prompt: "With which fruit should statins not be taken?" system_messages: [ - "Answer the question as precisely and briefly as possible, in a few words" + "Answer the following question with just one word" ] expected: - answer: "GTV,CTV,PTV" + answer: "Grapefruit" - - case: regex_oncology_en + + - case: regex_medication_en input: - prompt: "What are some typical symptoms for malignant tumors?" + prompt: "Can you give examples of medications that should not be taken with NSAIDs (non-steroidal anti-inflammatory drugs) such as ibuprofen or naproxen to minimize the risk of stomach ulcers?" system_messages: [ "Answer the question as precisely and briefly as possible" ] expected: words_in_response: - - "weight loss" - - "lump" - - "fatigue" - - "cough" + - "oral steroids" + - - "selective serotonin reuptake inhibitors" + - "SSRIS" + - "anticoagulants" - - case: one_word_oncology_en + - case: one_word_medication_en input: - prompt: "What is the most common type of cancer in women?" + prompt: "What are the two basic forms of drug interaction?" system_messages: [ - "Answer the question as precisely and briefly as possible" + "Answer the question as precisely and briefly as possible, in a few words" ] expected: - answer: 'Breast cancer' + answer: "Pharmacodynamic and pharmacokinetic" + + + - case: regex_medication_en + input: + prompt: "With which active substances should ibuprofen not be taken?" + system_messages: + [ + "Answer the question as precisely and briefly as possible. Multiple answers are allowed" + ] + expected: + words_in_response: + - "cortisone preparations" + - - "Acetylsalicylic acid" + - "ASS" + - "Clopidogrel" + - "NSAID" + - "NSAID" + ########################################################################################################### # Test case: Medication +# Language: German ########################################################################################################### # Level 1: Yes or no questions - - case: single_choice_medication_de + - case: dichotomous_medication_de input: prompt: "Kann Ibuprofen sicher zusammen mit Antihypertensiva eingenommen werden?" system_messages: [ @@ -908,7 +1032,7 @@ correctness: expected: answer: "nein" - - case: single_choice_medication_de + - case: dichotomous_medication_de input: prompt: "Besteht eine potenzielle Wechselwirkung zwischen Antibiotika und oralen Kontrazeptiva?" system_messages: [ @@ -917,7 +1041,7 @@ correctness: expected: answer: "ja" - - case: single_choice_medication_de + - case: dichotomous_medication_de input: prompt: "Hat es Vorteile verschiedene RAS-Hemmer zu kombinieren?" system_messages: [ @@ -927,7 +1051,7 @@ correctness: answer: "nein" - - case: single_choice_medication_de + - case: dichotomous_medication_de input: prompt: "Sollten NO-Donatoren und PDE5-Hemmern gleichzeitig verabreicht werden?" system_messages: [ @@ -936,42 +1060,6 @@ correctness: expected: answer: "Nein" - - case: single_choice_medication_en - input: - prompt: "Can ibuprofen be safely taken together with antihypertensives?" - system_messages: [ - "You receive a question and should only answer it with the words 'yes' or 'no'." - ] - expected: - answer: "no" - - - case: single_choice_medication_en - input: - prompt: "Is there a potential interaction between antibiotics and oral contraceptives?" - system_messages: [ - "You will receive a question and should only answer with the words 'yes' or 'no'." - ] - expected: - answer: "yes" - - - case: single_choice_medication_en - input: - prompt: "Are there advantages to combining different RAS inhibitors?" - system_messages: [ - "You will receive a question and should only answer it with the words 'yes' or 'no'." - ] - expected: - answer: "no" - - - - case: single_choice_medication_en - input: - prompt: "Should NO donors and PDE5 inhibitors be administered at the same time?" - system_messages: [ - "You will receive a question that you should only answer with 'yes' or 'no'" - ] - expected: - answer: "No" # Level 2: Multiple Choice @@ -1003,35 +1091,6 @@ correctness: expected: answer: "c" - - case: multiple_choice_medication_en - input: - prompt: "Which drug class has the highest risk of interaction with statins? (a) anticoagulants, (b) antacids, (c) antifungals, (d) antidepressants" - system_messages: [ - "You will receive a multiple-choice question. Answer it briefly and concisely by giving only the correct letter of the question in lower case. Remember to use only one lowercase letter and not the entire correct answer." - ] - expected: - answer: "c" - - - case: multiple_choice_medication_en - input: - prompt: "Which medication pairing should be avoided in patients taking MAO inhibitors? (a) serotonin reuptake inhibitors, (b) ACE inhibitors, (c) beta-blockers, (d) calcium channel blockers" - system_messages: [ - "You will receive a multiple choice question. Answer it briefly and concisely, using only the correct letter of the question in lower case. Remember to use only one lowercase letter and not the entire correct answer." - ] - expected: - answer: "a" - - - - case: multiple_choice_medication_en - input: - prompt: "What can occur if acetylsalicylic acid and coumarins are taken together? a) higher blood pressure, b) co-complex formation, c) increased blood clotting inhibition, d) cardiac arrhythmia" - system_messages: [ - "You will receive a multiple-choice question.Answer it briefly and concisely by indicating only the correct letter of the question in lower case.Remember to use only one lowercase letter and not the entire correct answer." - ] - expected: - answer: "c" - - #Level 3: Free text - case: one_word_medication_de input: @@ -1084,58 +1143,8 @@ correctness: - "NSAR" - "NSAID" - - case: one_word_medication_en - input: - prompt: "With which fruit should statins not be taken?" - system_messages: - [ - "Answer the following question with just one word" - ] - expected: - answer: "Grapefruit" - - - - case: regex_medication_en - input: - prompt: "Can you give examples of medications that should not be taken with NSAIDs (non-steroidal anti-inflammatory drugs) such as ibuprofen or naproxen to minimize the risk of stomach ulcers?" - system_messages: - [ - "Answer the question as precisely and briefly as possible" - ] - expected: - words_in_response: - - "oral steroids" - - - "selective serotonin reuptake inhibitors" - - "SSRIS" - - "anticoagulants" - - case: one_word_medication_en - input: - prompt: "What are the two basic forms of drug interaction?" - system_messages: - [ - "Answer the question as precisely and briefly as possible, in a few words" - ] - expected: - answer: "Pharmacodynamic and pharmacokinetic" - - - - case: regex_medication_en - input: - prompt: "With which active substances should ibuprofen not be taken?" - system_messages: - [ - "Answer the question as precisely and briefly as possible. Multiple answers are allowed" - ] - expected: - words_in_response: - - "cortisone preparations" - - - "Acetylsalicylic acid" - - "ASS" - - "Clopidogrel" - - "NSAID" - - "NSAID" - ########################################################################################################### +########################################################################################################### # Test case: Questions about “emergency medicine” for prospective emergency physicians # Language: German ########################################################################################################### @@ -1476,7 +1485,7 @@ correctness: ########################################################################################################### # Level 1: Yes or no questions - - case: single_choice_mental_disorders_de + - case: dichotomous_mental_disorders_de input: prompt: Ist das Asperger-Syndrom eine Form der Autismus-Spektrum-Störungen? system_messages: @@ -1486,7 +1495,7 @@ correctness: expected: answer: "ja" - - case: single_choice_mental_disorders_de + - case: dichotomous_mental_disorders_de input: prompt: Die Gestalttherapie wird häufig bei der Therapie von Anorexie angewendet und konzentriert sich auf das Identifizierung und Verändern dysfunktionaler Gedanken- und Verhaltensmuster. system_messages: @@ -1496,7 +1505,7 @@ correctness: expected: answer: "nein" - - case: single_choice_mental_disorders_de + - case: dichotomous_mental_disorders_de input: prompt: In der Psychotherapie der generalisierten Angststörung ist das Erlernen von Vermeidungsstrategien, um die Sorgen loszuwerden, eine gängige Technik. system_messages: @@ -1506,7 +1515,7 @@ correctness: expected: answer: "nein" - - case: single_choice_mental_disorders_de + - case: dichotomous_mental_disorders_de input: prompt: Menschen mit generalisierter Angststörung halten ihre Sorgen meist für sinnlos und wollen sie am liebsten vollständig loswerden. system_messages: @@ -1516,7 +1525,7 @@ correctness: expected: answer: "ja" - - case: single_choice_mental_disorders_de + - case: dichotomous_mental_disorders_de input: prompt: Wird eine Manie mit Medikamenten behandelt, steigt die Gefahr, dass psychotische Symptome auftreten. system_messages: @@ -1526,7 +1535,7 @@ correctness: expected: answer: "nein" - - case: single_choice_mental_disorders_de + - case: dichotomous_mental_disorders_de input: prompt: Verlustangst und Bindungsangst sind zwei gegenteilige Phänomene. system_messages: @@ -1536,7 +1545,7 @@ correctness: expected: answer: "nein" - - case: single_choice_mental_disorders_de + - case: dichotomous_mental_disorders_de input: prompt: Bei einer bipolaren Störung hält eine depressive Episode mindestens 14 Tage an. system_messages: @@ -1546,7 +1555,7 @@ correctness: expected: answer: "ja" - - case: single_choice_mental_disorders_de + - case: dichotomous_mental_disorders_de input: prompt: Die Anfälligkeit dafür, eine Depression zu entwickeln, kann vererbt werden. system_messages: @@ -1556,7 +1565,7 @@ correctness: expected: answer: "ja" - - case: single_choice_mental_disorders_de + - case: dichotomous_mental_disorders_de input: prompt: Die Erkrankung Multiple Persönlichkeit kann aufgrund ihrer Schwere oft kaum behandelt werden. system_messages: @@ -1566,7 +1575,7 @@ correctness: expected: answer: "nein" - - case: single_choice_mental_disorders_de + - case: dichotomous_mental_disorders_de input: prompt: Im Gegensatz zur Magersucht ist die Binge-Eating-Störung nicht tödlich. system_messages: @@ -1827,7 +1836,7 @@ correctness: ########################################################################################################### # Level 1: Yes or no questions - - case: single_choice_mental_disorders_en + - case: dichotomous_mental_disorders_en input: prompt: Is Asperger syndrome a form of autism spectrum disorder? system_messages: @@ -1837,7 +1846,7 @@ correctness: expected: answer: "yes" - - case: single_choice_mental_disorders_en + - case: dichotomous_mental_disorders_en input: prompt: Gestalt therapy is often used in the treatment of anorexia and focuses on identifying and changing dysfunctional thought and behaviour patterns. system_messages: @@ -1847,7 +1856,7 @@ correctness: expected: answer: "no" - - case: single_choice_mental_disorders_en + - case: dichotomous_mental_disorders_en input: prompt: In psychotherapy for generalised anxiety disorder, learning avoidance strategies to get rid of worries is a common technique. system_messages: @@ -1857,7 +1866,7 @@ correctness: expected: answer: "no" - - case: single_choice_mental_disorders_en + - case: dichotomous_mental_disorders_en input: prompt: People with generalised anxiety disorder usually consider their worries to be pointless and would prefer to get rid of them completely. system_messages: @@ -1867,7 +1876,7 @@ correctness: expected: answer: "yes" - - case: single_choice_mental_disorders_en + - case: dichotomous_mental_disorders_en input: prompt: If mania is treated with medication, the risk of psychotic symptoms increases. system_messages: @@ -1877,7 +1886,7 @@ correctness: expected: answer: "no" - - case: single_choice_mental_disorders_en + - case: dichotomous_mental_disorders_en input: prompt: Fear of loss and fear of commitment are two opposing phenomena. system_messages: @@ -1887,7 +1896,7 @@ correctness: expected: answer: "no" - - case: single_choice_mental_disorders_en + - case: dichotomous_mental_disorders_en input: prompt: In bipolar disorder, a depressive episode lasts at least 14 days. system_messages: @@ -1897,7 +1906,7 @@ correctness: expected: answer: "yes" - - case: single_choice_mental_disorders_en + - case: dichotomous_mental_disorders_en input: prompt: The susceptibility to developing depression can be inherited. system_messages: @@ -1907,7 +1916,7 @@ correctness: expected: answer: "yes" - - case: single_choice_mental_disorders_en + - case: dichotomous_mental_disorders_en input: prompt: Due to its severity, multiple personality disorder is often almost impossible to treat. system_messages: @@ -1917,7 +1926,7 @@ correctness: expected: answer: "no" - - case: single_choice_mental_disorders_en + - case: dichotomous_mental_disorders_en input: prompt: In contrast to anorexia, binge eating disorder is not fatal. system_messages: From 72c74292be0b8cc89759935f4ba9105f5750c597 Mon Sep 17 00:00:00 2001 From: "marlis@engelke.me" Date: Mon, 27 May 2024 18:10:58 +0200 Subject: [PATCH 37/69] ADDED new testcase dermatology --- benchmark/data/benchmark_data.yaml | 682 +++++++++++++++++++++++++++++ 1 file changed, 682 insertions(+) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index 795f20cd..bb225d19 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -2509,6 +2509,688 @@ correctness: expected: answer: "Digoxin" +########################################################################################################### + # Test case: Questions about “dermatology” for dermatology physicians + # Language: German +########################################################################################################### + + # Level 1: Yes or no questions + - case: dichotomous_dermatology_de + input: + prompt: Die Erkrankung Rosazea kann sich durch Koffein, Alkohol, Nikotin, UV-Strahlen und Stress verschlechtern. + system_messages: + [ + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück." + ] + expected: + answer: "ja" + + - case: dichotomous_dermatology_de + input: + prompt: Bestimmte Nahrungsmittel können die Ursache für eine chronische Nesselsucht bei Erwachsenen darstellen. + system_messages: + [ + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück." + ] + expected: + answer: "nein" + + - case: dichotomous_dermatology_de + input: + prompt: Bei einem mittelgradigem differenzierten Plattenepithelkarzinom am Fingerrücken mit einer Tumordicke von 6mm ist die einzige Behandlungsoption die Fingeramputation. + system_messages: + [ + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück." + ] + expected: + answer: "nein" + + - case: dichotomous_dermatology_de + input: + prompt: Die Immunsuppression ist ein Risikofaktor für NMSC (Weißer Hautkrebs). + system_messages: + [ + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück." + ] + expected: + answer: "ja" + + - case: dichotomous_dermatology_de + input: + prompt: Bei der BRAF-Mutation wird Vemurafenib als wirksames Medikament verwendet. + system_messages: + [ + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück." + ] + expected: + answer: "ja" + + - case: dichotomous_dermatology_de + input: + prompt: Ursache für ein Angioödem kann eine Typ 4 Reaktion nach Coombs sein. + system_messages: + [ + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück." + ] + expected: + answer: "nein" + + - case: dichotomous_dermatology_de + input: + prompt: Das Nikolski-Zeichen kann bei Verbrühungen und Verätzungen auftreten. + system_messages: + [ + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück." + ] + expected: + answer: "ja" + + - case: dichotomous_dermatology_de + input: + prompt: Nicht-melanozytäre Hauttumore können an lichtexponierter Haut entstehen. + system_messages: + [ + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück." + ] + expected: + answer: "ja" + + - case: dichotomous_dermatology_de + input: + prompt: Die Melanominzidenz hat in den letzten Jahrzehnten deutlich abgenommen. + system_messages: + [ + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück." + ] + expected: + answer: "nein" + + - case: dichotomous_dermatology_de + input: + prompt: Bei Mundsoor treten typischerweise Koplik-Flecken auf der Zunge auf. + system_messages: + [ + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück." + ] + expected: + answer: "nein" + + # Level 2: Single or Multiple choice questions + + - case: multiple_choice_dermatology_de + input: + prompt: Für welche Erkrankungen sind rötlich-livide, ulzerierte Knoten verdächtig? A Merkelzellkarzinom, B Talgdrüsenkarzinom, C Plattenepithelkarzinom, D Ameloplastisches malignes Melanom, E Basalzellkarzinom + system_messages: + [ + "Wähle aus den Antwortmöglichkeiten alle passenden Antworten aus und gebe die zugehörigen Buchstaben zurück. Gib dabei ausschließlich die Buchstaben zurück und nicht die kompletten Antworten. Verknüpfe diese dann mit ','. In der Antwort sollen keine Leerzeichen auftauchen." + ] + expected: + answer: "a,b,c,d,e" + + - case: single_choice_dermatology_de + input: + prompt: Durch was unterscheiden sich Akne vulgaris und Rosazea klinisch? A Granulome, B Pusteln, C Erytheme, D Papeln, E Comedone + system_messages: + [ + "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gib dabei nur den Buchstaben zurück und nicht die ganze Antwort." + ] + expected: + answer: "e" + + - case: multiple_choice_dermatology_de + input: + prompt: Welche Erkrankungen haben ein erhöhtes Risiko für Kontaktallergien? A Lichen Planus, B Acne vulgaris, C Psoriasis vulgaris, D Ulcus cruris, E Atopisches Ekzem + system_messages: + [ + "Wähle aus den Antwortmöglichkeiten alle passenden Antworten aus und gebe die zugehörigen Buchstaben zurück. Gib dabei ausschließlich die Buchstaben zurück und nicht die kompletten Antworten. Verknüpfe diese dann mit ','. In der Antwort sollen keine Leerzeichen auftauchen." + ] + expected: + answer: "d,e" + + - case: multiple_choice_dermatology_de + input: + prompt: Patienten mit einem Befall welcher Hautfalten zeigen ein höheres Risiko für Psoriasis-Arthritis? A Kniekehle, B Kopfhaut, C Halsbeugen, D Nagel, E Pofalte + system_messages: + [ + "Wähle aus den Antwortmöglichkeiten alle passenden Antworten aus und gebe die zugehörigen Buchstaben zurück. Gib dabei ausschließlich die Buchstaben zurück und nicht die kompletten Antworten. Verknüpfe diese dann mit ','. In der Antwort sollen keine Leerzeichen auftauchen." + ] + expected: + answer: "b,d,e" + + - case: single_choice_dermatology_de + input: + prompt: Welche Erkrankung liegt vor, wenn nach einem Zeckenstich eine ringförmige Rötung entsteht? A Erythema elevatum, B Erythema anulare centrifugum, C Erythema chronicum migrans, D Erythema circinatum, E Erythema Granulate + system_messages: + [ + "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gib dabei nur den Buchstaben zurück und nicht die ganze Antwort." + ] + expected: + answer: "c" + + - case: multiple_choice_dermatology_de + input: + prompt: Welche Anzeichen sich typsich für AGEP (akute generalisierte exanthematische Pustulose)? A Virale Pusteln, B Sterile Pusteln, C Follikulär gebundene Pusteln, D Bakterielle Pusteln, E Nicht follikulär gebundene Pusteln + system_messages: + [ + "Wähle aus den Antwortmöglichkeiten alle passenden Antworten aus und gebe die zugehörigen Buchstaben zurück. Gib dabei ausschließlich die Buchstaben zurück und nicht die kompletten Antworten. Verknüpfe diese dann mit ','. In der Antwort sollen keine Leerzeichen auftauchen." + ] + expected: + answer: "b,e" + + - case: single_choice_dermatology_de + input: + prompt: Bei welcher Erkrankung sind Papeln vorzufinden? A Psoriasis, B Herpes zoster, C Lichen planus + system_messages: + [ + "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gib dabei nur den Buchstaben zurück und nicht die ganze Antwort." + ] + expected: + answer: "c" + + - case: single_choice_dermatology_de + input: + prompt: Welche der folgenden Optionen stimmt bei Furunkeln nicht? A Furunkel an der Oberlippe können Ursache einer Sinus cavernosus Infektion sein, B häufigster Erreger sind Streptokokken, C häufige Rezidive können Hinweis auf eine Immuninsuffizienz sein, D wird mit penicillinrsistentem AB behandelt, E es handelt sich um eine massive Perifollikulitis mit Nekrose + system_messages: + [ + "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gib dabei nur den Buchstaben zurück und nicht die ganze Antwort." + ] + expected: + answer: "b" + + - case: single_choice_dermatology_de + input: + prompt: Welches Medikament gehört nicht zum Therapiespektrum der Akne vulgaris? A Isotretionin (oral), B Itraconazol, C Benzylperoxid (topisch), D Antiandrogen (bei Frauen), E Minocyclin + system_messages: + [ + "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gib dabei nur den Buchstaben zurück und nicht die ganze Antwort." + ] + expected: + answer: "b" + + - case: single_choice_dermatology_de + input: + prompt: Welche Eigenschaft weisen die Nägel Bei Psoriasis auf? A Ölflecken, B Bruchnägel, C Längsstreifung, D Glanznägel + system_messages: + [ + "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gib dabei nur den Buchstaben zurück und nicht die ganze Antwort." + ] + expected: + answer: "a" + + # Level 3: Word questions + + - case: regex_dermatology_de + input: + prompt: Welche begleitende, medikamentöse Therapie von Akne ist bei der Gabe von Isotretionin nötig? + system_messages: + [ + "Antworte so kurz und präzise wie möglich." + ] + expected: + words_in_response: + - - "kontrazeption" + - "verhütung" + + - case: regex_dermatology_de + input: + prompt: Was ist die häufigste Ursache für Erythema nodosum? + system_messages: + [ + "Antworte so kurz und präzise wie möglich." + ] + expected: + words_in_response: + - "streptokokken" + + - case: regex_dermatology_de + input: + prompt: Bei welchen Erkrankungen tritt das Köbner-Phänomen besonders häufig auf? + system_messages: + [ + "Antworte so kurz und präzise wie möglich." + ] + expected: + words_in_response: + - "lichen ruber planus" + - "psoriasis" + + - case: regex_dermatology_de + input: + prompt: Welche HPV-Typen sind onkogene Hochrisikoviren? + system_messages: + [ + "Antworte so kurz und präzise wie möglich." + ] + expected: + words_in_response: + - "16" + - "18" + + - case: regex_dermatology_de + input: + prompt: Welche klinische Formen des Basalzellkarzinoms gibt es? + system_messages: + [ + "Antworte so kurz und präzise wie möglich." + ] + expected: + words_in_response: + - "nodulär" + - "superfiziell" + - "sklerodermiform" + - "pigmentiert" + - - "ulzeriert" + - "ulzerierend" + - - "destruiert" + - "destruierend" + + - case: regex_dermatology_de + input: + prompt: Mit welchem Wirkstoff wird Erysipel medikamentös behandelt? + system_messages: + [ + "Antworte so kurz und präzise wie möglich." + ] + expected: + words_in_response: + - "penicillin" + + - case: regex_dermatology_de + input: + prompt: Welche Wirkstoffe sollten in einem Notfallkoffer für Allergiker sein? + system_messages: + [ + "Antworte so kurz und präzise wie möglich." + ] + expected: + words_in_response: + - "kortison" + - "antihistaminika" + - "adrenalin" + + - case: regex_dermatology_de + input: + prompt: Welcher Botenstoff wird von Mastzellen bei der allergischen Reaktion ausgeschüttet? + system_messages: + [ + "Antworte so kurz und präzise wie möglich." + ] + expected: + words_in_response: + - "histamin" + + - case: regex_dermatology_de + input: + prompt: Welche Personen sind oft von Mundsoor betroffen? + system_messages: + [ + "Antworte so kurz und präzise wie möglich." + ] + expected: + words_in_response: + - "kleinkinder" + - "immunsupprimierte" + - "alte" + + - case: regex_dermatology_de + input: + prompt: Welche Erkrankung zeigt polygonale, juckende und violett erscheinende Papeln? + system_messages: + [ + "Antworte so kurz und präzise wie möglich." + ] + expected: + words_in_response: + - "lichen ruber planus" + +########################################################################################################### + # Test case: Questions about “dermatology” for dermatology physicians + # Language: English +########################################################################################################### + + # Level 1: Yes or no questions + - case: dichotomous_dermatology_en + input: + prompt: Rosacea can be worsened by caffeine, alcohol, nicotine, UV rays and stress. + system_messages: + [ + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + ] + expected: + answer: "yes" + + - case: dichotomous_dermatology_en + input: + prompt: Certain foods can be the cause of chronic hives in adults. + system_messages: + [ + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + ] + expected: + answer: "no" + + - case: dichotomous_dermatology_en + input: + prompt: In the case of a moderately differentiated squamous cell carcinoma on the back of the finger with a tumour thickness of 6 mm, the only treatment option is finger amputation. + system_messages: + [ + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + ] + expected: + answer: "no" + + - case: dichotomous_dermatology_en + input: + prompt: Immunosuppression is a risk factor for NMSC (white skin cancer). + system_messages: + [ + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + ] + expected: + answer: "yes" + + - case: dichotomous_dermatology_en + input: + prompt: Vemurafenib is used as an effective drug for BRAF mutations. + system_messages: + [ + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + ] + expected: + answer: "yes" + + - case: dichotomous_dermatology_en + input: + prompt: Angioedema can be caused by a type 4 reaction according to Coombs. + system_messages: + [ + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + ] + expected: + answer: "no" + + - case: dichotomous_dermatology_en + input: + prompt: The Nikolski sign can occur with scalds and burns. + system_messages: + [ + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + ] + expected: + answer: "yes" + + - case: dichotomous_dermatology_en + input: + prompt: Non-melanocytic skin tumours can develop on skin exposed to light. + system_messages: + [ + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + ] + expected: + answer: "yes" + + - case: dichotomous_dermatology_en + input: + prompt: The incidence of melanoma has decreased significantly in recent decades. + system_messages: + [ + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + ] + expected: + answer: "no" + + - case: dichotomous_dermatology_en + input: + prompt: Oral thrush is typically characterised by Koplik's spots on the tongue. + system_messages: + [ + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + ] + expected: + answer: "no" + + # Level 2: Single or Multiple choice questions + + - case: multiple_choice_dermatology_en + input: + prompt: For which diseases are reddish-livid, ulcerated nodules suspicious? A Merkel cell carcinoma, B Sebaceous gland carcinoma, C Squamous cell carcinoma, D Ameloplastic malignant melanoma, E Basal cell carcinoma + system_messages: + [ + "You will receive a multiple choice question. Select all suitable answers from the possible answers and return the corresponding letters. Only return the letters and not the complete answers. Then link these with ','. Do not include whitespaces in your answer." + ] + expected: + answer: "a,b,c,d,e" + + - case: single_choice_dermatology_en + input: + prompt: What is the clinical difference between acne vulgaris and rosacea? A granulomas, B pustules, C erythema, D papules, E comedones + system_messages: + [ + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + ] + expected: + answer: "e" + + - case: multiple_choice_dermatology_en + input: + prompt: Which diseases have an increased risk of contact allergies? A Lichen planus, B Acne vulgaris, C Psoriasis vulgaris, D Ulcus cruris, E Atopic eczema + system_messages: + [ + "You will receive a multiple choice question. Select all suitable answers from the possible answers and return the corresponding letters. Only return the letters and not the complete answers. Then link these with ','. Do not include whitespaces in your answer." + ] + expected: + answer: "d,e" + + - case: multiple_choice_dermatology_en + input: + prompt: Patients with an infestation of which skin folds show a higher risk of psoriatic arthritis? A hollow of the knee, B scalp, C bend of the neck, D nail, E buttock crease + system_messages: + [ + "You will receive a multiple choice question. Select all suitable answers from the possible answers and return the corresponding letters. Only return the letters and not the complete answers. Then link these with ','. Do not include whitespaces in your answer." + ] + expected: + answer: "b,d,e" + + - case: single_choice_dermatology_en + input: + prompt: Which disease is present when a ring-shaped reddening develops after a tick bite? A Erythema elevatum, B Erythema anulare centrifugum, C Erythema chronicum migrans, D Erythema circinatum, E Erythema granulate + system_messages: + [ + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + ] + expected: + answer: "c" + + - case: multiple_choice_dermatology_en + input: + prompt: Which signs are typical of AGEP (acute generalised exanthematous pustulosis)? A Viral pustules, B Sterile pustules, C Follicularly bound pustules, D Bacterial pustules, E Non-follicularly bound pustules + system_messages: + [ + "You will receive a multiple choice question. Select all suitable answers from the possible answers and return the corresponding letters. Only return the letters and not the complete answers. Then link these with ','. Do not include whitespaces in your answer." + ] + expected: + answer: "b,e" + + - case: single_choice_dermatology_en + input: + prompt: In which disease are papules found? A Psoriasis, B Herpes zoster, C Lichen planus + system_messages: + [ + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + ] + expected: + answer: "c" + + - case: single_choice_dermatology_en + input: + prompt: Which of the following options is not correct for boils? A boils on the upper lip can be the cause of a cavernous sinus infection, B the most common pathogen is streptococci, C frequent recurrences can be an indication of immune insufficiency, D is treated with penicillin-resistant AB, E it is a massive perifolliculitis with necrosis + system_messages: + [ + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + ] + expected: + answer: "b" + + - case: single_choice_dermatology_en + input: + prompt: Which medication is not part of the treatment spectrum for acne vulgaris? A Isotretionin (oral), B Itraconazole, C Benzyl peroxide (topical), D Antiandrogen (for women), E Minocycline + system_messages: + [ + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + ] + expected: + answer: "b" + + - case: single_choice_dermatology_en + input: + prompt: Which characteristic do the nails have in psoriasis? A oil stains, B broken nails, C longitudinal striation, D shiny nails + system_messages: + [ + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + ] + expected: + answer: "a" + + # Level 3: Word questions + + - case: regex_dermatology_en + input: + prompt: What concomitant drug therapy for acne is necessary when administering Isotretionin? + system_messages: + [ + "Answer as briefly and concisely as possible." + ] + expected: + words_in_response: + - - "contraception" + - "prevention" + + - case: regex_dermatology_en + input: + prompt: What is the most common cause of erythema nodosum? + system_messages: + [ + "Answer as briefly and concisely as possible." + ] + expected: + words_in_response: + - - "streptococci" + - "streptococcus" + - "streptococcal" + + - case: regex_dermatology_en + input: + prompt: In which diseases does the Köbner phenomenon occur particularly frequently? + system_messages: + [ + "Answer as briefly and concisely as possible." + ] + expected: + words_in_response: + - "lichen ruber planus" + - "psoriasis" + + - case: regex_dermatology_en + input: + prompt: Which HPV types are high-risk oncogenic viruses? + system_messages: + [ + "Answer as briefly and concisely as possible." + ] + expected: + words_in_response: + - "16" + - "18" + + - case: regex_dermatology_en + input: + prompt: What clinical forms of basal cell carcinoma are there? + system_messages: + [ + "Answer as briefly and concisely as possible." + ] + expected: + words_in_response: + - "nodular" + - "superficial" + - "sclerodermiform" + - - "pigmented" + - "pigmentised" + - - "ulcerated" + - "ulcerised" + - "ulcerating" + - "ulcerative" + - - "destroyed" + - "destructed" + - "destroying" + - "destructive" + + - case: regex_dermatology_en + input: + prompt: Which active substance is used to treat erysipelas with medication? + system_messages: + [ + "Answer as briefly and concisely as possible." + ] + expected: + words_in_response: + - "penicillin" + + - case: regex_dermatology_en + input: + prompt: Which active ingredients should be in an emergency kit for allergy sufferers? + system_messages: + [ + "Answer as briefly and concisely as possible." + ] + expected: + words_in_response: + - "cortisone" + - - "antihistamine" + - "antihistaminics" + - "adrenalin" + + - case: regex_dermatology_en + input: + prompt: Which messenger substance is released by mast cells during an allergic reaction? + system_messages: + [ + "Answer as briefly and concisely as possible." + ] + expected: + words_in_response: + - "histamin" + + - case: regex_dermatology_en + input: + prompt: Which people are often affected by oral thrush? + system_messages: + [ + "Answer as briefly and concisely as possible." + ] + expected: + words_in_response: + - - "toddlers" + - "kids" + - "children" + - "babies" + - - "immunocompromised" + - "immunosuppressed" + - - "old" + - "elder" + + - case: regex_dermatology_en + input: + prompt: Which disease is characterised by polygonal, itchy and purple papules? + system_messages: + [ + "Answer as briefly and concisely as possible." + ] + expected: + words_in_response: + - "lichen ruber planus" + + kg_schemas: gene_kg: cell type: From be9cdc9d0ea7795f36a814f639528395c0d62697 Mon Sep 17 00:00:00 2001 From: slobentanzer Date: Tue, 4 Jun 2024 18:01:58 +0200 Subject: [PATCH 38/69] formatting --- benchmark/data/benchmark_data.yaml | 848 ++++++++++++----------------- 1 file changed, 345 insertions(+), 503 deletions(-) diff --git a/benchmark/data/benchmark_data.yaml b/benchmark/data/benchmark_data.yaml index 795f20cd..b902a78f 100644 --- a/benchmark/data/benchmark_data.yaml +++ b/benchmark/data/benchmark_data.yaml @@ -216,13 +216,11 @@ rag_interpretation: expected: behaviour: "answer" - ########################################################################################################### - # Here start the PDSM Test Cases + # PDSM Test Cases ########################################################################################################### correctness: - ########################################################################################################### # Test case: Student preparing for the Physikum for medical studies # Language: English @@ -235,7 +233,7 @@ correctness: prompt: A hollow organ of a patient contains 0.5 kg of liquid whose (mass) density is approximately the same as that of water. What is the approximate volume of this hollow organ? (A) 500 mm3 (B) 500 cm3 (C) 0,05 m3 (D) 0,5 m3 (E) 50 m3 system_messages: [ - "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" + "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer", ] expected: answer: "b" @@ -245,7 +243,7 @@ correctness: prompt: In a car accident, an occupant weighing 75 kg is restrained by the tight-fitting seat belt, whereby a belt force limiter limits the force acting on the occupant to a maximum of 5,000 N. The acceleration acting on the occupant is thus limited (in terms of amount) to approx. (A) 0.067 m/s2 (B) 15 m/s2 (C) 33 m/s2 (D) 67 m/s2 (E) 375 m/s2 system_messages: [ - "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" + "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer", ] expected: answer: "d" @@ -255,19 +253,19 @@ correctness: prompt: Medical oxygen is supplied in pressurised gas cylinders with an internal pressure of usually 200 bar. Manufacturers state that these cylinders should not be heated to over 50 °C and must be stored in a protected environment. By approximately what percentage does this internal pressure increase when such a pressurised gas cylinder is heated from 30 °C to 90 °C? (A) 3 % (B) 20 % (C) 40 % (D) 60 % (E) 300 % system_messages: [ - "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" + "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer", ] expected: answer: "b" -# Biochemistry + # Biochemistry - case: multiple_choice_biochemistry_en input: prompt: A 14-year-old boy from the Mediterranean region has suddenly developed a life-threatening haemolytic crisis (massive breakdown/degradation of red blood cells). When talking to the parents, it turns out that the boy has received high doses of a painkiller, which also has an oxidising effect. The boy is found to have a genetic deficiency of a certain enzyme. A deficiency in which of the following enzymes best fits this description? (A) Fructokinase (B) Glucokinase (C) Glucose-6-phosphate dehydrogenase (D) pyruvate carboxylase (E) Pyruvate dehydrogenase system_messages: [ - "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" + "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer", ] expected: answer: "c" @@ -277,7 +275,7 @@ correctness: prompt: Hepatocytes near the central vein in the hepatic acinus efficiently prevent the escape of ammonium ions from the liver. Which enzyme in these cells is primarily responsible for removing the remaining ammonium ions from the blood that have escaped the other hepatocytes of the hepatic acinus? (A) arginase (B) Carbamoyl phosphate synthetase 1 (C) Carbamoyl phosphate synthetase 2 (D) Glutaminase (E) Glutamine synthetase system_messages: [ - "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" + "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer", ] expected: answer: "e" @@ -287,7 +285,7 @@ correctness: prompt: Proteins can be modified post-translationally by ubiquitin. Ubiquitin is a (A) diterpene (B) monosaccharide (C) Oligonucleotide (D) polypeptide (E) triacylglycerol system_messages: [ - "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" + "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer", ] expected: answer: "d" @@ -297,7 +295,7 @@ correctness: prompt: Is this true? The tendency to thrombosis (thrombophilia) is in many cases genetically determined. Missense mutations in the gene for factor V can be the cause of familial thrombophilia. Due to such mutations, the activated factor V (Va) is less efficiently inactivated by an activated protein C and is therefore particularly stable. system_messages: [ - "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + "You will receive a question and you should answer it with only using the word 'yes' or 'no'", ] expected: answer: "yes" @@ -307,19 +305,19 @@ correctness: prompt: Is this true? The tendency to thrombosis (thrombophilia) is in many cases genetically determined. Missense mutations in the gene for factor V can be the cause of familial thrombophilia. Due to such mutations, the activated factor V (Va) is less efficiently inactivated by an activated thrombomobilin and is therefore particularly stable. system_messages: [ - "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + "You will receive a question and you should answer it with only using the word 'yes' or 'no'", ] expected: answer: "no" -# physiology + # physiology - case: multiple_choice_physiology_en input: prompt: Which of these cells is most likely to release interleukin-2 after activation? B lymphocyte eosinophil granulocyte (C) mast cell (D) neutrophil granulocyte (E) T helper cell type 1 (TH1 cell) system_messages: [ - "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" + "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer", ] expected: answer: "e" @@ -329,7 +327,7 @@ correctness: prompt: Immunoglobulins (Ig) are categorised into different classes. Which statement about the structure or occurrence of the Ig classes is generally correct? (A) The affiliation to the Ig class depends mainly on the structure of the light chain of an Ig. (B) The secreted Ig of all Ig classes are monomeric molecules.(C) IgG is the predominant Ig in oral saliva. (D) IgM is the predominant Ig in blood serum. (E) Mature, naive B lymphocytes have membrane-bound IgM and IgD. system_messages: [ - "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" + "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer", ] expected: answer: "e" @@ -339,7 +337,7 @@ correctness: prompt: Is the apparent viscosity of the blood with a normal haematocrit (and under otherwise identical conditions) typically lower with a vessel diameter of around 8 μm than with a vessel diameter of 4 μm? system_messages: [ - "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + "You will receive a question and you should answer it with only using the word 'yes' or 'no'", ] expected: answer: "yes" @@ -349,7 +347,7 @@ correctness: prompt: Is the apparent (apparente) viscosity of the blood with normal haematocrit (and under otherwise identical conditions) always lower in large vessels than in small vessels? system_messages: [ - "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + "You will receive a question and you should answer it with only using the word 'yes' or 'no'", ] expected: answer: "no" @@ -357,29 +355,26 @@ correctness: - case: one_word_physiology_en input: prompt: Which temporal assignment of the ECG section to the states of the heart valves is generally correct when the AV valves are open and the pocket valves are closed? Is it the p-wave or the tp-intervall? - system_messages: - [ - "Answer the following question with just one word" - ] + system_messages: ["Answer the following question with just one word"] expected: answer: "p-wave" -# anatomy + # anatomy - case: multiple_choice_anatomy_en input: prompt: Which of these muscles is primarily involved in the internal rotation of the humerus in the shoulder joint? (A) M. infraspinatus (B) M. pectoralis minor (C) M. subscapularis (D) M. supraspinatus (E) M. teres minor system_messages: [ - "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" + "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer", ] expected: answer: "c" -########################################################################################################### -# Test case: Student preparing for the Physikum for medical studies -# Language: German -########################################################################################################### + ########################################################################################################### + # Test case: Student preparing for the Physikum for medical studies + # Language: German + ########################################################################################################### # Math relevant questions @@ -388,7 +383,7 @@ correctness: prompt: Ein Hohlorgan eines Patienten enthält 0,5 kg einer Flüssigkeit, deren (Massen-)Dichte ungefähr der von Wasser entspricht. Wie groß ist das ungefähre Volumen dieses Hohlorgans? (A) 500 mm3 (B) 500 cm3 (C) 0,05 m3 (D) 0,5 m3 (E) 50 m3 system_messages: [ - "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort.", ] expected: answer: "b" @@ -398,7 +393,7 @@ correctness: prompt: Bei einem Autounfall wird ein 75 kg schwerer Insasse durch den eng anliegenden Sicherheitsgurt zurückgehalten, wobei ein Gurtkraftbegrenzer die auf den Insassen wirkende Kraft auf maximal 5.000 N begrenzt. Die auf den Insassen wirkende Beschleunigung ist damit (betragsmäßig) auf ca. (A) 0,067 m/s2 (B) 15 m/s2 (C) 33 m/s2 (D) 67 m/s2 (E) 375 m/s2 begrenzt. system_messages: [ - "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort.", ] expected: answer: "d" @@ -408,19 +403,19 @@ correctness: prompt: Medizinischer Sauerstoff wird in Druckgasflaschen mit einem Innendruck von normalerweise 200 bar geliefert. Die Hersteller geben an, dass diese Flaschen nicht auf über 50 °C erhitzt werden dürfen und in einer geschützten Umgebung gelagert werden müssen. Um wie viel Prozent erhöht sich dieser Innendruck ungefähr, wenn eine solche Druckgasflasche von 30 °C auf 90 °C erhitzt wird? (A) 3 % (B) 20 % (C) 40 % (D) 60 % (E) 300 % system_messages: [ - "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort.", ] expected: answer: "b" -# Biochemistry + # Biochemistry - case: multiple_choice_biochemistry_de input: prompt: Ein 14-jähriger Junge aus dem Mittelmeerraum hat plötzlich eine lebensbedrohliche hämolytische Krise (massiver Abbau von roten Blutkörperchen) entwickelt. Im Gespräch mit den Eltern stellt sich heraus, dass der Junge hohe Dosen eines Schmerzmittels erhalten hat, das auch eine oxidierende Wirkung hat. Es wird festgestellt, dass der Junge einen genetischen Mangel an einem bestimmten Enzym hat. Welcher Mangel an welchem der folgenden Enzyme passt am besten zu dieser Beschreibung? (A) Fructokinase (B) Glucokinase (C) Glucose-6-phosphat-Dehydrogenase (D) Pyruvat-Carboxylase (E) Pyruvat-Dehydrogenase system_messages: [ - "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort.", ] expected: answer: "c" @@ -430,7 +425,7 @@ correctness: prompt: Hepatozyten in der Nähe der Zentralvene im Leberazinus verhindern wirksam das Entweichen von Ammoniumionen aus der Leber. Welches Enzym in diesen Zellen ist in erster Linie für die Entfernung der verbleibenden Ammoniumionen aus dem Blut verantwortlich, die den anderen Hepatozyten des hepatischen Acinus entkommen sind? (A) Arginase (B) Carbamoylphosphat-Synthetase 1 (C) Carbamoylphosphat-Synthetase 2 (D) Glutaminase (E) Glutamin-Synthetase system_messages: [ - "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort.", ] expected: answer: "e" @@ -440,7 +435,7 @@ correctness: prompt: Proteine können posttranslational durch Ubiquitin modifiziert werden. Ubiquitin ist ein (A) Diterpen (B) Monosaccharid (C) Oligonukleotid (D) Polypeptid (E) Triacylglycerin system_messages: [ - "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort.", ] expected: answer: "d" @@ -450,7 +445,7 @@ correctness: prompt: Stimmt das? Die Neigung zu Thrombosen (Thrombophilie) ist in vielen Fällen genetisch bedingt. Missensemutationen im Gen für Faktor V können die Ursache einer familiären Thrombophilie sein. Durch solche Mutationen wird der aktivierte Faktor V (Va) weniger effizient durch ein aktiviertes Protein C inaktiviert und ist daher besonders stabil. system_messages: [ - "Sie erhalten eine Frage, die Sie nur mit „ja“ oder „nein“ beantworten sollten." + "Sie erhalten eine Frage, die Sie nur mit „ja“ oder „nein“ beantworten sollten.", ] expected: answer: "ja" @@ -460,19 +455,19 @@ correctness: prompt: Stimmt das? Die Neigung zu Thrombosen (Thrombophilie) ist in vielen Fällen genetisch bedingt. Missensemutationen im Gen für Faktor V können die Ursache einer familiären Thrombophilie sein. Durch solche Mutationen wird der aktivierte Faktor V (Va) weniger effizient durch ein aktiviertes Thrombomobilin inaktiviert und ist daher besonders stabil. system_messages: [ - "Sie erhalten eine Frage, die Sie nur mit „ja“ oder „nein“ beantworten sollten." + "Sie erhalten eine Frage, die Sie nur mit „ja“ oder „nein“ beantworten sollten.", ] expected: answer: "nein" -# physiology + # physiology - case: multiple_choice_physiology_de input: prompt: Welche dieser Zellen wird nach der Aktivierung am ehesten Interleukin-2 freisetzen? B-Lymphozyt eosinophiler Granulozyt (C) Mastzelle (D) neutrophiler Granulozyt (E) T-Helferzelle Typ 1 (TH1-Zelle) system_messages: [ - "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort.", ] expected: answer: "e" @@ -482,7 +477,7 @@ correctness: prompt: Die Immunglobuline (Ig) werden in verschiedene Klassen eingeteilt. Welche Aussage über den Aufbau bzw. das Vorkommen der Ig-Klassen ist generell richtig? (A) Die Zugehörigkeit zu einer Ig-Klasse hängt hauptsächlich von der Struktur der leichten Kette eines Ig ab. (B) Die sezernierten Ig aller Ig-Klassen sind monomere Moleküle. (C) IgG ist das vorherrschende Ig im oralen Speichel. (D) IgM ist das vorherrschende Ig im Blutserum. (E) Reife, naive B-Lymphozyten haben membrangebundenes IgM und IgD. system_messages: [ - "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort.", ] expected: answer: "e" @@ -492,7 +487,7 @@ correctness: prompt: Ist die scheinbare Viskosität des Blutes bei normalem Hämatokrit (und unter sonst gleichen Bedingungen) bei einem Gefäßdurchmesser von etwa 8 μm typischerweise niedriger als bei einem Gefäßdurchmesser von 4 μm? system_messages: [ - "Sie erhalten eine Frage, die Sie nur mit „ja“ oder „nein“ beantworten sollten." + "Sie erhalten eine Frage, die Sie nur mit „ja“ oder „nein“ beantworten sollten.", ] expected: answer: "ja" @@ -502,7 +497,7 @@ correctness: prompt: Ist die scheinbare (apparente) Viskosität des Blutes bei normalem Hämatokrit (und unter sonst gleichen Bedingungen) in großen Gefäßen immer niedriger als in kleinen Gefäßen? system_messages: [ - "Sie erhalten eine Frage, die Sie nur mit „ja“ oder „nein“ beantworten sollten." + "Sie erhalten eine Frage, die Sie nur mit „ja“ oder „nein“ beantworten sollten.", ] expected: answer: "nein" @@ -510,39 +505,33 @@ correctness: - case: one_word_physiology_de input: prompt: Welche zeitliche Zuordnung des EKG-Abschnittes zu den Zuständen der Herzklappen ist generell richtig, wenn die AV-Klappen geöffnet und die Taschenklappen geschlossen sind? Ist es die p-Welle oder der tp-Intervall? - system_messages: - [ - "Beantworte die folgende Frage mit nur einem Wort" - ] + system_messages: ["Beantworte die folgende Frage mit nur einem Wort"] expected: answer: "p-welle" -# anatomy + # anatomy - case: multiple_choice_anatomy_de input: prompt: Welcher dieser Muskeln ist hauptsächlich an der Innenrotation des Oberarmknochens im Schultergelenk beteiligt? (A) M. infraspinatus (B) M. pectoralis minor (C) M. subscapularis (D) M. supraspinatus (E) M. teres minor system_messages: [ - "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort.", ] expected: answer: "c" -########################################################################################################### -# Test case: Working on a datascience project with eeg data -# Language: English -########################################################################################################### + ########################################################################################################### + # Test case: Working on a datascience project with eeg data + # Language: English + ########################################################################################################### # regex - case: regex_eeg_data_en input: prompt: Name all channels represented in a 10/20 EEG - system_messages: - [ - "Answer the question short and precisely" - ] + system_messages: ["Answer the question short and precisely"] expected: words_in_response: - "Fp1" @@ -568,10 +557,7 @@ correctness: - case: regex_eeg_data_en input: prompt: What is the name for the smooth curve outlining the extremes of a signal (eg EEG) and thus generalizes the concept of a constant amplitude into an instantaneous amplitude. - system_messages: - [ - "Answer the question short and precisely" - ] + system_messages: ["Answer the question short and precisely"] expected: words_in_response: - "envelope" @@ -583,7 +569,7 @@ correctness: prompt: To which EEG frequency band does the following frequency belong 40hz? A Alpha B Gamma C Theta D Delta E Beta system_messages: [ - "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer" + "You will receive a multiple choice question. Answer it concisely by answering only the correct letter of the question in lower case. Remember to use only one lower-case letter and not the whole right answer", ] expected: answer: "b" @@ -595,44 +581,35 @@ correctness: prompt: Are so-called delta waves observed in EEG signals, especially during deep sleep? system_messages: [ - "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + "You will receive a question and you should answer it with only using the word 'yes' or 'no'", ] expected: answer: "yes" -########################################################################################################### -# Test case: Working on a datascience project with eeg data -# Language: German -########################################################################################################### + ########################################################################################################### + # Test case: Working on a datascience project with eeg data + # Language: German + ########################################################################################################### #regex - case: regex_eeg_data_de input: prompt: Nenne mir die drei gängigsten Berechnungen für die Asymmetrie zwischen Elektrodenpaaren in EEG-Signalen - system_messages: - [ - "Beantworte die Frage so präzise und kurz wie möglich" - ] + system_messages: ["Beantworte die Frage so präzise und kurz wie möglich"] expected: words_in_response: - - - - "Absolute Asymmetry" + - - "Absolute Asymmetry" - "Absolute Differenz" - - - - "Relative Asymmetry" + - - "Relative Asymmetry" - "Relative Differenz" - - - - "Coherence" + - - "Coherence" - "Logarithmierte Differenz" - case: regex_eeg_data_de input: prompt: Nenne alle Channel die in einem 10/20 EEG vertreten sind - system_messages: - [ - "Beantworte die Frage so präzise und kurz wie möglich" - ] + system_messages: ["Beantworte die Frage so präzise und kurz wie möglich"] expected: words_in_response: - "Fp1" @@ -658,79 +635,77 @@ correctness: - case: regex_eeg_data_de input: prompt: Wie nennt man die glatte Kurve, die die Extremwerte eines Signals (z. B. EEG) umreißt und somit das Konzept einer konstanten Amplitude in eine momentane Amplitude verallgemeinert. - system_messages: - [ - "Beantworte die Frage so präzise und kurz wie möglich" - ] + system_messages: ["Beantworte die Frage so präzise und kurz wie möglich"] expected: words_in_response: - "envelope" -# multiple choice + # multiple choice - case: multiple_choice_eeg_data_de input: prompt: Zu welchem EEG-Frequenzband gehört folgende Frequenz 40hz? A Alpha B Gamma C Theta D Delta E Beta system_messages: [ - "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort.", ] expected: answer: "b" -# dichotomous + # dichotomous - case: dichotomous_eeg_data_de input: prompt: Bei EEG Signalen sind sogenannte Delta Wellen vor allem im Tiefschlaf zu beobachten system_messages: - [ - "Du erhältst eine Frage, beantworte sie nur mit 'Ja' oder 'Nein'." - ] + ["Du erhältst eine Frage, beantworte sie nur mit 'Ja' oder 'Nein'."] expected: answer: "ja" -########################################################################################################## -# Test case: Oncology and radiation therapy -# Language: English -########################################################################################################### + ########################################################################################################## + # Test case: Oncology and radiation therapy + # Language: English + ########################################################################################################### -# Level 1: Yes or no questions + # Level 1: Yes or no questions - case: dichotomous_oncology_en input: prompt: "Is chemotherapy the only possible treatment for cancer?" - system_messages: [ - "You receive a question and should only answer it with the words 'yes' or 'no'." - ] + system_messages: + [ + "You receive a question and should only answer it with the words 'yes' or 'no'.", + ] expected: answer: "no" - case: dichotomous_oncology_en input: prompt: "Are the BRCA 1 and BRCA 2 genes responsible for hereditary breast cancer ?" - system_messages: [ - "You receive a question and should only answer it with the words 'yes' or 'no'." - ] + system_messages: + [ + "You receive a question and should only answer it with the words 'yes' or 'no'.", + ] expected: answer: "yes" - case: dichotomous_oncology_en input: prompt: "Radiotherapy is a common treatment method for glioblastoma patients?" - system_messages: [ - "You will receive a question and should only answer with the words 'yes' or 'no'." - ] + system_messages: + [ + "You will receive a question and should only answer with the words 'yes' or 'no'.", + ] expected: answer: "yes" -# Level 2: Multiple Choice + # Level 2: Multiple Choice - case: multiple_choice_oncology_en input: prompt: "Which type of cancer is frequently monitored with the tumor marker CA-125? a) Lung cancer b) Ovarian cancer c) Pancreatic cancer d) Colorectal cancer" system_messages: [ - "You will receive a multiple choice question. Answer it briefly and concisely by entering only the correct letter of the question in lower case. Remember to use only one lowercase letter and not the whole correct answer." + "You will receive a multiple choice question. Answer it briefly and concisely by entering only the correct letter of the question in lower case. Remember to use only one lowercase letter and not the whole correct answer.", ] expected: answer: "b" @@ -739,7 +714,7 @@ correctness: prompt: "Which drug is often used as an antiemetic to prevent nausea and vomiting in chemotherapy patients? a) Ondansetron b) Paracetamol c) Ibuprofen d) Loratadin" system_messages: [ - "You will receive a multiple choice question. Answer it briefly and concisely by entering only the correct letter of the question as a lowercase letter. Remember to use only one lowercase letter and not the whole correct answer." + "You will receive a multiple choice question. Answer it briefly and concisely by entering only the correct letter of the question as a lowercase letter. Remember to use only one lowercase letter and not the whole correct answer.", ] expected: answer: "a" @@ -749,7 +724,7 @@ correctness: prompt: "Which radiation technique is considered the standard for radiation therapy? a) Percutaneous radiation therapy b) Fractionated radiation c)Brachytherapy d) X-ray therapy" system_messages: [ - "You will receive a multiple choice question.Answer it briefly and concisely by entering only the correct letter of the question in lower case.Remember to use only one lowercase letter and not the whole correct answer." + "You will receive a multiple choice question.Answer it briefly and concisely by entering only the correct letter of the question in lower case.Remember to use only one lowercase letter and not the whole correct answer.", ] expected: answer: "a" @@ -761,7 +736,7 @@ correctness: prompt: "What are the three tumor volumes, abbreviated, in radiotherapy?" system_messages: [ - "Answer the question as precisely and briefly as possible, in a few words" + "Answer the question as precisely and briefly as possible, in a few words", ] expected: answer: "GTV,CTV,PTV" @@ -770,9 +745,7 @@ correctness: input: prompt: "What are some typical symptoms for malignant tumors?" system_messages: - [ - "Answer the question as precisely and briefly as possible" - ] + ["Answer the question as precisely and briefly as possible"] expected: words_in_response: - "weight loss" @@ -784,42 +757,43 @@ correctness: input: prompt: "What is the most common type of cancer in women?" system_messages: - [ - "Answer the question as precisely and briefly as possible" - ] + ["Answer the question as precisely and briefly as possible"] expected: - answer: 'Breast cancer' + answer: "Breast cancer" -########################################################################################################### -# Test case: Oncology and radiation therapy -# Language: German -########################################################################################################### + ########################################################################################################### + # Test case: Oncology and radiation therapy + # Language: German + ########################################################################################################### # Level 1: Yes or no questions - case: dichotomous_oncology_de input: prompt: "Ist Chemotherapie die einzige mögliche Therapie bei Krebs?" - system_messages: [ - "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." - ] + system_messages: + [ + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten.", + ] expected: answer: "nein" - case: dichotomous_oncology_de input: prompt: "Sind die BRCA 1 und BRCA 2 Gene für erblich bedingten Brustkrebs verantwortlich ?" - system_messages: [ - "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." - ] + system_messages: + [ + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten.", + ] expected: answer: "ja" - case: dichotomous_oncology_de input: prompt: "Die Strahlentherapie ist eine häufige Behandlungsmethode bei Glioblastom-Patienten?" - system_messages: [ - "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." - ] + system_messages: + [ + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten.", + ] expected: answer: "ja" @@ -830,7 +804,7 @@ correctness: prompt: "Welche Art von Krebs wird häufig mit dem Tumormarker CA-125 überwacht? a) Lungenkrebs b) Ovarialkarzinom c) Bauchspeicheldrüsenkrebs d) Kolorektalkarzinom" system_messages: [ - "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort.", ] expected: answer: "b" @@ -839,7 +813,7 @@ correctness: prompt: "Welches Medikament wird häufig als Antiemetikum zur Vorbeugung von Übelkeit und Erbrechen bei Chemotherapie-Patienten verwendet? a) Ondansetron b) Paracetamol c) Ibuprofen d) Loratadin" system_messages: [ - "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort.", ] expected: answer: "a" @@ -849,19 +823,18 @@ correctness: prompt: "Welche Bestrahlungstechnik gilt als Standart der Strahlentherapie! a) perkutane Strahlentherapie b) fraktionierte Bestrahlung c)Brachytherapie d) Röntgentherapie" system_messages: [ - "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." + "Du erhältst eine Multiple-Choice-Frage. Beantworte sie kurz und bündig, indem du nur den richtigen Buchstaben der Frage als Kleinbuchstabe angibst. Denke daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort.", ] expected: answer: "a" - # Level 3: Free text - case: one_word_oncology_de input: prompt: "Wie heißen die drei Tumorvolumina, abgekürzt, bei der Strahlentherapie?" system_messages: [ - "Beantworte die Frage so präzise und kurz wie möglich, mit wenigen Worten" + "Beantworte die Frage so präzise und kurz wie möglich, mit wenigen Worten", ] expected: answer: "GTV,CTV,PTV" @@ -869,10 +842,7 @@ correctness: - case: regex_oncology_de input: prompt: "Was sind einige typische Symptome für maligne Tumore?" - system_messages: - [ - "Beantworte die Frage so präzise und kurz wie möglich" - ] + system_messages: ["Beantworte die Frage so präzise und kurz wie möglich"] expected: words_in_response: - "Gewichtsverlust" @@ -883,53 +853,53 @@ correctness: - case: one_word_oncology_de input: prompt: "Was ist die häufigste Krebsart bei Frauen?" - system_messages: - [ - "Beantworte die Frage so präzise und kurz wie möglich" - ] + system_messages: ["Beantworte die Frage so präzise und kurz wie möglich"] expected: - answer: 'Brustkrebs' + answer: "Brustkrebs" -########################################################################################################### -# Test case: Medication -# Language: English -########################################################################################################### -# Level 1: Yes or no questions + ########################################################################################################### + # Test case: Medication + # Language: English + ########################################################################################################### + # Level 1: Yes or no questions - case: dichotomous_medication_en input: prompt: "Can ibuprofen be safely taken together with antihypertensives?" - system_messages: [ - "You receive a question and should only answer it with the words 'yes' or 'no'." - ] + system_messages: + [ + "You receive a question and should only answer it with the words 'yes' or 'no'.", + ] expected: answer: "no" - case: dichotomous_medication_en input: prompt: "Is there a potential interaction between antibiotics and oral contraceptives?" - system_messages: [ - "You will receive a question and should only answer with the words 'yes' or 'no'." - ] + system_messages: + [ + "You will receive a question and should only answer with the words 'yes' or 'no'.", + ] expected: answer: "yes" - case: dichotomous_medication_en input: prompt: "Are there advantages to combining different RAS inhibitors?" - system_messages: [ - "You will receive a question and should only answer it with the words 'yes' or 'no'." - ] + system_messages: + [ + "You will receive a question and should only answer it with the words 'yes' or 'no'.", + ] expected: answer: "no" - - case: dichotomous_medication_en input: prompt: "Should NO donors and PDE5 inhibitors be administered at the same time?" - system_messages: [ - "You will receive a question that you should only answer with 'yes' or 'no'" - ] + system_messages: + [ + "You will receive a question that you should only answer with 'yes' or 'no'", + ] expected: answer: "No" @@ -938,28 +908,30 @@ correctness: - case: multiple_choice_medication_en input: prompt: "Which drug class has the highest risk of interaction with statins? (a) anticoagulants, (b) antacids, (c) antifungals, (d) antidepressants" - system_messages: [ - "You will receive a multiple-choice question. Answer it briefly and concisely by giving only the correct letter of the question in lower case. Remember to use only one lowercase letter and not the entire correct answer." - ] + system_messages: + [ + "You will receive a multiple-choice question. Answer it briefly and concisely by giving only the correct letter of the question in lower case. Remember to use only one lowercase letter and not the entire correct answer.", + ] expected: answer: "c" - case: multiple_choice_medication_en input: prompt: "Which medication pairing should be avoided in patients taking MAO inhibitors? (a) serotonin reuptake inhibitors, (b) ACE inhibitors, (c) beta-blockers, (d) calcium channel blockers" - system_messages: [ - "You will receive a multiple choice question. Answer it briefly and concisely, using only the correct letter of the question in lower case. Remember to use only one lowercase letter and not the entire correct answer." - ] + system_messages: + [ + "You will receive a multiple choice question. Answer it briefly and concisely, using only the correct letter of the question in lower case. Remember to use only one lowercase letter and not the entire correct answer.", + ] expected: answer: "a" - - case: multiple_choice_medication_en input: prompt: "What can occur if acetylsalicylic acid and coumarins are taken together? a) higher blood pressure, b) co-complex formation, c) increased blood clotting inhibition, d) cardiac arrhythmia" - system_messages: [ - "You will receive a multiple-choice question.Answer it briefly and concisely by indicating only the correct letter of the question in lower case.Remember to use only one lowercase letter and not the entire correct answer." - ] + system_messages: + [ + "You will receive a multiple-choice question.Answer it briefly and concisely by indicating only the correct letter of the question in lower case.Remember to use only one lowercase letter and not the entire correct answer.", + ] expected: answer: "c" @@ -968,21 +940,15 @@ correctness: - case: one_word_medication_en input: prompt: "With which fruit should statins not be taken?" - system_messages: - [ - "Answer the following question with just one word" - ] + system_messages: ["Answer the following question with just one word"] expected: answer: "Grapefruit" - - case: regex_medication_en input: prompt: "Can you give examples of medications that should not be taken with NSAIDs (non-steroidal anti-inflammatory drugs) such as ibuprofen or naproxen to minimize the risk of stomach ulcers?" system_messages: - [ - "Answer the question as precisely and briefly as possible" - ] + ["Answer the question as precisely and briefly as possible"] expected: words_in_response: - "oral steroids" @@ -995,18 +961,17 @@ correctness: prompt: "What are the two basic forms of drug interaction?" system_messages: [ - "Answer the question as precisely and briefly as possible, in a few words" + "Answer the question as precisely and briefly as possible, in a few words", ] expected: answer: "Pharmacodynamic and pharmacokinetic" - - case: regex_medication_en input: prompt: "With which active substances should ibuprofen not be taken?" system_messages: [ - "Answer the question as precisely and briefly as possible. Multiple answers are allowed" + "Answer the question as precisely and briefly as possible. Multiple answers are allowed", ] expected: words_in_response: @@ -1017,77 +982,81 @@ correctness: - "NSAID" - "NSAID" -########################################################################################################### -# Test case: Medication -# Language: German -########################################################################################################### + ########################################################################################################### + # Test case: Medication + # Language: German + ########################################################################################################### # Level 1: Yes or no questions - case: dichotomous_medication_de input: prompt: "Kann Ibuprofen sicher zusammen mit Antihypertensiva eingenommen werden?" - system_messages: [ - "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." - ] + system_messages: + [ + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten.", + ] expected: answer: "nein" - case: dichotomous_medication_de input: prompt: "Besteht eine potenzielle Wechselwirkung zwischen Antibiotika und oralen Kontrazeptiva?" - system_messages: [ - "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." - ] + system_messages: + [ + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten.", + ] expected: answer: "ja" - case: dichotomous_medication_de input: prompt: "Hat es Vorteile verschiedene RAS-Hemmer zu kombinieren?" - system_messages: [ - "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." - ] + system_messages: + [ + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten.", + ] expected: answer: "nein" - - case: dichotomous_medication_de input: prompt: "Sollten NO-Donatoren und PDE5-Hemmern gleichzeitig verabreicht werden?" - system_messages: [ - "Sie erhalten eine Frage, die Sie nur mit ‚ja‘ oder ‚nein‘ beantworten sollten" - ] + system_messages: + [ + "Sie erhalten eine Frage, die Sie nur mit ‚ja‘ oder ‚nein‘ beantworten sollten", + ] expected: answer: "Nein" - - # Level 2: Multiple Choice - case: multiple_choice_medication_de input: prompt: "Welche Medikamentenklasse hat das höchste Risiko für Wechselwirkungen mit Statinen? (a) Antikoagulanzien, (b) Antazida, (c) Antimykotika, (d) Antidepressiva" - system_messages: [ - "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie sie kurz und bündig, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben angeben. Denken Sie daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." - ] + system_messages: + [ + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie sie kurz und bündig, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben angeben. Denken Sie daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort.", + ] expected: answer: "c" - case: multiple_choice_medication_de input: prompt: "Welche Medikamentenpaarung sollte bei Patienten vermieden werden, die MAO-Hemmer einnehmen? (a) Serotonin-Wiederaufnahmehemmer, (b) ACE-Hemmer, (c) Beta-Blocker, (d) Kalziumkanalblocker" - system_messages: [ - "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie sie kurz und bündig, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben angeben. Denken Sie daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." - ] + system_messages: + [ + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie sie kurz und bündig, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben angeben. Denken Sie daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort.", + ] expected: answer: "a" - case: multiple_choice_medication_de input: prompt: "Was kann auftreten, wenn Acetylsalicylsäure und Cumarine zusammen eingenommen wird? a) höherer Blutdruck, b) Koomplexbildung, c) Verstärkte Blutgerinnungshemmung, d) Herzrhythmusstörung" - system_messages: [ - "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie sie kurz und bündig, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben angeben. Denken Sie daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort." - ] + system_messages: + [ + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie sie kurz und bündig, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben angeben. Denken Sie daran, nur einen Kleinbuchstaben zu verwenden und nicht die ganze richtige Antwort.", + ] expected: answer: "c" @@ -1095,26 +1064,19 @@ correctness: - case: one_word_medication_de input: prompt: "Mit welcher Frucht sollten Statine nicht eingenommen werden?" - system_messages: - [ - "Beantworten Sie die folgende Frage mit nur einem Wort" - ] + system_messages: ["Beantworten Sie die folgende Frage mit nur einem Wort"] expected: answer: "Grapefruit" - - case: regex_medication_de input: prompt: "Können Sie Beispiele für Medikamente nennen, die nicht mit NSAR (nichtsteroidalen Antirheumatika) wie Ibuprofen oder Naproxen eingenommen werden sollten, um das Risiko von Magengeschwüren zu minimieren?" - system_messages: - [ - "Beantworte die Frage so präzise und kurz wie möglich" - ] + system_messages: ["Beantworte die Frage so präzise und kurz wie möglich"] expected: words_in_response: - - "orale Steroide" - - - "selektive Serotonin-Wiederaufnahmehemmer" - - "SSRI" + - "orale Steroide" + - - "selektive Serotonin-Wiederaufnahmehemmer" + - "SSRI" - "Antikoagulanzien" - case: one_word_medication_de @@ -1122,7 +1084,7 @@ correctness: prompt: "Welche zwei Formen der Arzneimittelwechselwirkung unterscheidet man grundsätzlich?" system_messages: [ - "Beantworte die Frage so präzise und kurz wie möglich, mit wenigen Worten" + "Beantworte die Frage so präzise und kurz wie möglich, mit wenigen Worten", ] expected: answer: "Pharmakodynamisch und pharmakokinetisch" @@ -1132,7 +1094,7 @@ correctness: prompt: "Mit welchen Wirkstoffen sollte Ibuprofen nicht eingenommen werden?" system_messages: [ - "Beantworte die Frage so präzise und kurz wie möglich. Mehrere Antworten sind erlaubt" + "Beantworte die Frage so präzise und kurz wie möglich. Mehrere Antworten sind erlaubt", ] expected: words_in_response: @@ -1143,12 +1105,10 @@ correctness: - "NSAR" - "NSAID" - -########################################################################################################### + ########################################################################################################### # Test case: Questions about “emergency medicine” for prospective emergency physicians # Language: German -########################################################################################################### - + ########################################################################################################### # Level 1: Yes or no questions - case: dichotomous_emergency_de @@ -1156,7 +1116,7 @@ correctness: prompt: Wird bei einem Herzinfarkt typischerweise Aspirin eingesetzt? system_messages: [ - "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten.", ] expected: answer: "ja" @@ -1166,7 +1126,7 @@ correctness: prompt: Ist RHUB ist die Abkürzung für einen Rettungshubschrauber? system_messages: [ - "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten.", ] expected: answer: "nein" @@ -1176,7 +1136,7 @@ correctness: prompt: Sollte man bei einem epileptischen Anfall immer versuchen die Person festzuhalten? system_messages: [ - "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten.", ] expected: answer: "nein" @@ -1186,7 +1146,7 @@ correctness: prompt: Sind bei CPR die Kompressionen wichtiger als die Luftzufuhr? system_messages: [ - "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten.", ] expected: answer: "ja" @@ -1196,19 +1156,19 @@ correctness: prompt: Kann man einen automatisierten externen Defibrillator (AED) auch bei Epilepsie verwenden? system_messages: [ - "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten.", ] expected: answer: "nein" - # Level 2: Single or Multiple choice questions + # Level 2: Single or Multiple choice questions - case: single_choice_emergency_de input: prompt: Welches „Stresshormon“ steigert Blutdruck und Herzfrequenz?? (A) Insulin (B) Adrenalin (C) Melatonin (D) Leptin system_messages: [ - "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden" + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden", ] expected: answer: "b" @@ -1218,7 +1178,7 @@ correctness: prompt: Welcher Wirkstoff wird bei einem aktuten Asthmaanfall indiziert? (A) Verapamil (B) Fenoterol (C) Haloperidol (D) 4-Dimethylaminophenol system_messages: [ - "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden" + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden", ] expected: answer: "b" @@ -1228,7 +1188,7 @@ correctness: prompt: Was bezeichnet der systolische Blutdruckwert? (A) Den unteren Wert, also den Druck in der Entspannungsphase des Herzens (B) Den über eine Minute gemittelten Druck (C) Den höchsten Druck direkt nach Ventrikelkontraktion (D) Das Gleiche, wie der diastolische Wert system_messages: [ - "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden" + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden", ] expected: answer: "c" @@ -1238,7 +1198,7 @@ correctness: prompt: Bei welchem Blutzuckerwert besteht die Gefahr eines diabetischen Komas? (A) < 20 mg/dl (B) < 50 mg/dl (C) < 90 mg/dl (D) > 110 mg/dl (E) > 300 mg/dl system_messages: [ - "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden" + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden", ] expected: answer: "e" @@ -1248,31 +1208,24 @@ correctness: prompt: Bei welcher Diagnose ist die Hochlagerung der Beine kontraindiziert? (A) Hypovolämischer Schock (B) Anaphylaktischer Schock (C) Hypoglykämischer Schock (D) Kardiogener Schock (E) Septisch-Toxischer Schock system_messages: [ - "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden" + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden", ] expected: answer: "d" - - # Level 3: Word questions + # Level 3: Word questions - case: one_word_emergency_de input: prompt: Was ist der erste Schritt bei der Erste-Hilfe-Leistung nach dem ABCDE Schema? - system_messages: - [ - "Beantworten Sie die folgende Frage mit nur einem Wort" - ] + system_messages: ["Beantworten Sie die folgende Frage mit nur einem Wort"] expected: answer: "Atemwege" - case: one_word_emergency_de input: prompt: Welche Art von Blut führt die Lungenvene? - system_messages: - [ - "Beantworten Sie die folgende Frage mit nur einem Wort" - ] + system_messages: ["Beantworten Sie die folgende Frage mit nur einem Wort"] expected: answer: "Sauerstoffreiches" @@ -1281,7 +1234,7 @@ correctness: prompt: Welche Blutgruppe gibt bei unbekannten Notfällen? system_messages: [ - "Beantworten Sie die folgende Frage mit nur einem Wort. Bei der Antwort Null, verwenden Sie bitte die Zahl 0." + "Beantworten Sie die folgende Frage mit nur einem Wort. Bei der Antwort Null, verwenden Sie bitte die Zahl 0.", ] expected: answer: "0" @@ -1290,9 +1243,7 @@ correctness: input: prompt: Was erfordert der Einsatz eines Guedeltubus? system_messages: - [ - "Beantworten Sie die folgende Frage so kurz wie möglich" - ] + ["Beantworten Sie die folgende Frage so kurz wie möglich"] expected: answer: "Tiefe Bewusstlosigkeit" @@ -1301,17 +1252,15 @@ correctness: prompt: Wofür stehen die Buchstaben der RICE-Methode? system_messages: [ - "Beantworten Sie die folgende Frage so kurz wie möglich und verwenden sie die original Begriffe auf Englisch." + "Beantworten Sie die folgende Frage so kurz wie möglich und verwenden sie die original Begriffe auf Englisch.", ] expected: answer: "Rest, Ice, Compression, Elevation" - -########################################################################################################### + ########################################################################################################### # Test case: Questions about “emergency medicine” for prospective emergency physicians # Language: English -########################################################################################################### - + ########################################################################################################### # Level 1: Yes or no questions - case: dichotomous_emergency_en @@ -1319,7 +1268,7 @@ correctness: prompt: Is Aspirin is typically used for a heart attack? system_messages: [ - "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + "You will receive a question and you should answer it with only using the word 'yes' or 'no'", ] expected: answer: "yes" @@ -1329,7 +1278,7 @@ correctness: prompt: Should you always try to hold the person during an epileptic seizure? system_messages: [ - "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + "You will receive a question and you should answer it with only using the word 'yes' or 'no'", ] expected: answer: "no" @@ -1339,7 +1288,7 @@ correctness: prompt: Are the compressions more important than the air supply during CPR? system_messages: [ - "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + "You will receive a question and you should answer it with only using the word 'yes' or 'no'", ] expected: answer: "yes" @@ -1349,19 +1298,19 @@ correctness: prompt: Can an automated external defibrillator (AED) also be used for epilepsy? system_messages: [ - "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + "You will receive a question and you should answer it with only using the word 'yes' or 'no'", ] expected: answer: "yes" - # Level 2: Single or Multiple choice questions + # Level 2: Single or Multiple choice questions - case: single_choice_emergency_en input: prompt: Which "stress hormone" increases blood pressure and heart rate? (A) Insulin (B) Adrenaline (C) Melatonin (D) Leptin system_messages: [ - "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer.", ] expected: answer: "b" @@ -1371,7 +1320,7 @@ correctness: prompt: Which drug is indicated for an acute asthma attack? (A) Verapamil (B) Fenoterol (C) Haloperidol (D) 4-Dimethylaminophenol system_messages: [ - "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer.", ] expected: answer: "b" @@ -1381,7 +1330,7 @@ correctness: prompt: What is the systolic blood pressure value? (A) The lower value, i.e. the pressure in the relaxation phase of the heart (B) The pressure averaged over one minute (C) The highest pressure directly after ventricular contraction (D) The same as the diastolic value system_messages: [ - "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer.", ] expected: answer: "c" @@ -1391,7 +1340,7 @@ correctness: prompt: At which blood glucose level is there a risk of diabetic coma? (A) < 20 mg/dl (B) < 50 mg/dl (C) < 90 mg/dl (D) > 110 mg/dl (E) > 300 mg/dl system_messages: [ - "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer.", ] expected: answer: "e" @@ -1401,31 +1350,24 @@ correctness: prompt: For which diagnosis is elevation of the legs contraindicated? (A) Hypovolemic shock (B) Anaphylactic shock (C) Hypoglycemic shock (D) Cardiogenic shock (E) Septic-toxic shock system_messages: [ - "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer.", ] expected: answer: "d" - - # Level 3: Word questions + # Level 3: Word questions - case: one_word_emergency_en input: prompt: What is the first step in providing first aid according to the ABCDE scheme? - system_messages: - [ - "Answer the following question with just one word" - ] + system_messages: ["Answer the following question with just one word"] expected: answer: "Airways" - case: one_word_emergency_en input: prompt: What type of blood does the pulmonary vein carry? - system_messages: - [ - "Answer the following question with just one word" - ] + system_messages: ["Answer the following question with just one word"] expected: answer: "Oxygen-rich" @@ -1434,7 +1376,7 @@ correctness: prompt: Which blood group is used for unknown emergencies? system_messages: [ - "Answer the following question with just one word. If the answer is zero, please use the number 0." + "Answer the following question with just one word. If the answer is zero, please use the number 0.", ] expected: answer: "0" @@ -1442,10 +1384,7 @@ correctness: - case: short_words_emergency_en input: prompt: What does the use of a Guedel tube require? - system_messages: - [ - "Answer the following question with maximal two words." - ] + system_messages: ["Answer the following question with maximal two words."] expected: answer: "Deep unconsciousness" @@ -1453,36 +1392,25 @@ correctness: input: prompt: What do the letters of the RICE method stand for? system_messages: - [ - "Answer the following question with just one word per letter" - ] + ["Answer the following question with just one word per letter"] expected: answer: "Rest, Ice, Compression, Elevation" - - - - - case: medication_regex input: prompt: "Können Sie Beispiele für Medikamente nennen, die nicht mit NSAR (nichtsteroidalen Antirheumatika) wie Ibuprofen oder Naproxen eingenommen werden sollten, um das Risiko von Magengeschwüren zu minimieren?" - system_messages: - [ - "Beantworte die Frage so präzise und kurz wie möglich" - ] + system_messages: ["Beantworte die Frage so präzise und kurz wie möglich"] expected: words_in_response: - - - - "orale Steroide" + - - "orale Steroide" - "selektive Serotonin-Wiederaufnahmehemmer" - - - - "SSRI" + - - "SSRI" - "Antikoagulanzien" -########################################################################################################### + ########################################################################################################### # Test case: Questions about mental disorders for psychotherapists, psychology students or psychiatrists in training # Language: German -########################################################################################################### + ########################################################################################################### # Level 1: Yes or no questions - case: dichotomous_mental_disorders_de @@ -1490,7 +1418,7 @@ correctness: prompt: Ist das Asperger-Syndrom eine Form der Autismus-Spektrum-Störungen? system_messages: [ - "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten.", ] expected: answer: "ja" @@ -1500,7 +1428,7 @@ correctness: prompt: Die Gestalttherapie wird häufig bei der Therapie von Anorexie angewendet und konzentriert sich auf das Identifizierung und Verändern dysfunktionaler Gedanken- und Verhaltensmuster. system_messages: [ - "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. " + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. ", ] expected: answer: "nein" @@ -1510,7 +1438,7 @@ correctness: prompt: In der Psychotherapie der generalisierten Angststörung ist das Erlernen von Vermeidungsstrategien, um die Sorgen loszuwerden, eine gängige Technik. system_messages: [ - "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. " + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. ", ] expected: answer: "nein" @@ -1520,7 +1448,7 @@ correctness: prompt: Menschen mit generalisierter Angststörung halten ihre Sorgen meist für sinnlos und wollen sie am liebsten vollständig loswerden. system_messages: [ - "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. " + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. ", ] expected: answer: "ja" @@ -1530,7 +1458,7 @@ correctness: prompt: Wird eine Manie mit Medikamenten behandelt, steigt die Gefahr, dass psychotische Symptome auftreten. system_messages: [ - "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. " + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. ", ] expected: answer: "nein" @@ -1540,7 +1468,7 @@ correctness: prompt: Verlustangst und Bindungsangst sind zwei gegenteilige Phänomene. system_messages: [ - "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. " + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. ", ] expected: answer: "nein" @@ -1550,7 +1478,7 @@ correctness: prompt: Bei einer bipolaren Störung hält eine depressive Episode mindestens 14 Tage an. system_messages: [ - "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. " + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. ", ] expected: answer: "ja" @@ -1560,7 +1488,7 @@ correctness: prompt: Die Anfälligkeit dafür, eine Depression zu entwickeln, kann vererbt werden. system_messages: [ - "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. " + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. ", ] expected: answer: "ja" @@ -1570,7 +1498,7 @@ correctness: prompt: Die Erkrankung Multiple Persönlichkeit kann aufgrund ihrer Schwere oft kaum behandelt werden. system_messages: [ - "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. " + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. ", ] expected: answer: "nein" @@ -1580,7 +1508,7 @@ correctness: prompt: Im Gegensatz zur Magersucht ist die Binge-Eating-Störung nicht tödlich. system_messages: [ - "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. " + "Prüfe den Satz und gebe ‚ja‘ zurück, wenn der Satz korrekt ist. Ist der Satz falsch, gebe ‚nein‘ zurück. ", ] expected: answer: "nein" @@ -1592,18 +1520,17 @@ correctness: prompt: Welche der folgenden sind übliche Therapieansätze bei Autismus? A Hypnotherapie, B Tanztherapie, C Psychoanalyse, D Kognitive Verhaltenstherapie, E Applied Behavior Analysis, F Entwicklungsbasierte Interventionen, G tiefenpsychologisch fundierte Psychotherapie, H Homöopathie, I Akupunktur, J Aromatherapie system_messages: [ - "Sie erhalten eine Multiple-Choice-Frage. Wähle aus den Antwortmöglichkeiten alle passenden Antworten aus und gebe die zugehörigen Buchstaben zurück. Gebe dabei ausschließlich die Buchstaben zurück und nicht die kompletten Antworten. Verknüpfe diese dann mit ','." + "Sie erhalten eine Multiple-Choice-Frage. Wähle aus den Antwortmöglichkeiten alle passenden Antworten aus und gebe die zugehörigen Buchstaben zurück. Gebe dabei ausschließlich die Buchstaben zurück und nicht die kompletten Antworten. Verknüpfe diese dann mit ','.", ] expected: answer: "d,e,f" - - case: multiple_choice_mental_disorders_de input: prompt: Welche Art von Medikamenten wird bei Anorexie-Patienten häufig verwendet, um Begleiterkrankungen wie Depressionen oder Angststörungen zu behandeln? A Antihistaminika, B Antibiotika, C Antidepressiva, D Betablocker system_messages: [ - "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gebe dabei nur den Buchstaben zurück und nicht die ganze Antwort." + "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gebe dabei nur den Buchstaben zurück und nicht die ganze Antwort.", ] expected: answer: "c" @@ -1613,7 +1540,7 @@ correctness: prompt: Was ist ein Hauptziel der Ernährungstherapie bei der Behandlung von Anorexie? A Förderung einer veganen Ernährungsweise, B Eliminierung bestimmter Lebensmittelgruppen aus der Ernährung, C Wiederherstellung des Körpergewichts und Etablierung eines gesunden Essverhaltens, D Konzentration auf Sport und Fitness zur Gewichtsreduktion system_messages: [ - "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gebe dabei nur den Buchstaben zurück und nicht die ganze Antwort." + "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gebe dabei nur den Buchstaben zurück und nicht die ganze Antwort.", ] expected: answer: "c" @@ -1623,7 +1550,7 @@ correctness: prompt: Was trifft auf den GAD-7 zu? Der GAD-7 ist … A … ein schnell durchführbarer Test für generalisierte Angststörung, B … sehr zeitaufwändig, aber aussagekräftig, C … nicht wissenschaftlich untermauert, D … für die Diagnose einer generalisierten Angststörung völlig ausreichend system_messages: [ - "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gebe dabei nur den Buchstaben zurück und nicht die ganze Antwort." + "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gebe dabei nur den Buchstaben zurück und nicht die ganze Antwort.", ] expected: answer: "a" @@ -1633,7 +1560,7 @@ correctness: prompt: Welches ist kein Frühwarnzeichen der Manie? A Unruhe, B euphorische Stimmung, C erhöhte Reizbarkeit, D vermehrter Schlaf system_messages: [ - "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gebe dabei nur den Buchstaben zurück und nicht die ganze Antwort." + "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gebe dabei nur den Buchstaben zurück und nicht die ganze Antwort.", ] expected: answer: "d" @@ -1643,7 +1570,7 @@ correctness: prompt: Zu welcher Art von psychischen Störungen gehört die Manie? A affektive Störungen, B euphorische Störungen, C Zwangsstörungen, D Aktivitätsstörungen system_messages: [ - "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gebe dabei nur den Buchstaben zurück und nicht die ganze Antwort." + "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gebe dabei nur den Buchstaben zurück und nicht die ganze Antwort.", ] expected: answer: "a" @@ -1653,7 +1580,7 @@ correctness: prompt: Was können Ursachen einer sozialen Phobie sein? A genetische Veranlagung, B Persönlichkeitsmerkmale, C bestimmte Denkstile, D unangenehme Erfahrungen mit anderen Menschen, E Interessenskonflikte, F Mangelernährung system_messages: [ - "Wähle aus den Antwortmöglichkeiten alle passenden Antworten aus und gebe die zugehörigen Buchstaben zurück. Gib dabei ausschließlich die Buchstaben zurück und nicht die kompletten Antworten. Verknüpfe diese dann mit ','. In der Antwort sollen keine Leerzeichen auftauchen." + "Wähle aus den Antwortmöglichkeiten alle passenden Antworten aus und gebe die zugehörigen Buchstaben zurück. Gib dabei ausschließlich die Buchstaben zurück und nicht die kompletten Antworten. Verknüpfe diese dann mit ','. In der Antwort sollen keine Leerzeichen auftauchen.", ] expected: answer: "a,b,c,d" @@ -1663,7 +1590,7 @@ correctness: prompt: Welche psychosozialen Faktoren können zur Entwicklung einer Depression beitragen? A Verlust eines Elternteils in der Kindheit, B enge Eltern-Kind-Bindung, C zu hohes Selbstwertgefühl, D Traumata wie das Erleben von Gewalt, E mangelndes Selbstwertgefühl, F Persönlichkeitstyp Typus melancholicus system_messages: [ - "Wähle aus den Antwortmöglichkeiten alle passenden Antworten aus und gebe die zugehörigen Buchstaben zurück. Gib dabei ausschließlich die Buchstaben zurück und nicht die kompletten Antworten. Verknüpfe diese dann mit ','. In der Antwort sollen keine Leerzeichen auftauchen." + "Wähle aus den Antwortmöglichkeiten alle passenden Antworten aus und gebe die zugehörigen Buchstaben zurück. Gib dabei ausschließlich die Buchstaben zurück und nicht die kompletten Antworten. Verknüpfe diese dann mit ','. In der Antwort sollen keine Leerzeichen auftauchen.", ] expected: answer: "a,d,e,f" @@ -1673,7 +1600,7 @@ correctness: prompt: Von allen psychischen Erkrankungen besitzt die Magersucht … A … die geringste Anzahl an Erkrankten, B … die höchste Heilungsquote, C … den harmlosesten Verlauf, D … die höchste Sterberate system_messages: [ - "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gebe dabei nur den Buchstaben zurück und nicht die ganze Antwort." + "Beantworte die Frage, indem du eine der gegebenen Antwortmöglichkeiten auswählst. Gebe dabei nur den Buchstaben zurück und nicht die ganze Antwort.", ] expected: answer: "d" @@ -1683,7 +1610,7 @@ correctness: prompt: Was sind typische Kennzeichen der Anorexie? A ständige Übelkeit, B anhaltendes Untergewicht, C Angst vor dem Zunehmen oder Zudicksein, D starke Gewichtsschwankungen, E Appetitlosigkeit system_messages: [ - "Wähle aus den Antwortmöglichkeiten alle passenden Antworten aus und gebe die zugehörigen Buchstaben zurück. Gib dabei ausschließlich die Buchstaben zurück und nicht die kompletten Antworten. Verknüpfe diese dann mit ','. In der Antwort sollen keine Leerzeichen auftauchen." + "Wähle aus den Antwortmöglichkeiten alle passenden Antworten aus und gebe die zugehörigen Buchstaben zurück. Gib dabei ausschließlich die Buchstaben zurück und nicht die kompletten Antworten. Verknüpfe diese dann mit ','. In der Antwort sollen keine Leerzeichen auftauchen.", ] expected: answer: "b,c,e" @@ -1692,10 +1619,7 @@ correctness: - case: regex_mental_disorders_de input: prompt: Nenne alle üblichen Ziele der Autismustherapie. - system_messages: - [ - "Antworte so kurz und präzise wie möglich." - ] + system_messages: ["Antworte so kurz und präzise wie möglich."] expected: words_in_response: - "kommunikation" @@ -1706,17 +1630,12 @@ correctness: - case: regex_mental_disorders_de input: prompt: Wodurch zeichnet sich restriktive Anorexie aus? - system_messages: - [ - "Antworte so kurz und präzise wie möglich." - ] + system_messages: ["Antworte so kurz und präzise wie möglich."] expected: words_in_response: - - - - "weniger" + - - "weniger" - "nahrung" - - - - "mehr" + - - "mehr" - "sport" - "bewegung" - "gewichtsverlust" @@ -1726,7 +1645,7 @@ correctness: prompt: Kopfschmerzen und Zittern sind bei der generalisierten Angststörung häufig Symptome einer dauerhaft erhöhten ... system_messages: [ - "Vervollständige den Satz mit 2 Wörtern. Gebe dabei nur beiden gesuchten Wörter aus." + "Vervollständige den Satz mit 2 Wörtern. Gebe dabei nur beiden gesuchten Wörter aus.", ] expected: words_in_response: @@ -1735,15 +1654,11 @@ correctness: - case: regex_mental_disorders_de input: prompt: Welche Therapiephase findet direkt nach der akuten Manie-Phase statt? - system_messages: - [ - "Antworte so kurz und präzise wie möglich." - ] + system_messages: ["Antworte so kurz und präzise wie möglich."] expected: words_in_response: - "erhaltung" - - - - "therapie" + - - "therapie" - "phase" - case: regex_mental_disorders_de @@ -1751,7 +1666,7 @@ correctness: prompt: Bei den Ursachen der Manie geht man heute von einem Zusammenspiel zwischen ... und ... Faktoren sowie Störungen der ... aus. system_messages: [ - "Vervollständige den Satz so kurz wie möglich. Gebe dabei nur die Wörter aus, die die Lücken füllen sollen." + "Vervollständige den Satz so kurz wie möglich. Gebe dabei nur die Wörter aus, die die Lücken füllen sollen.", ] expected: words_in_response: @@ -1762,40 +1677,28 @@ correctness: - case: regex_mental_disorders_de input: prompt: Welche beiden Behandlungsmethoden werden am häufigsten bei einer sozialen Phobie angewandt? - system_messages: - [ - "Antworte so kurz und präzise wie möglich." - ] + system_messages: ["Antworte so kurz und präzise wie möglich."] expected: words_in_response: - - - - "kognitive Verhaltenstherapie" + - - "kognitive Verhaltenstherapie" - "Verhaltenstherapie" - - - - "Medikamente" + - - "Medikamente" - "Medikamentöse Therapie" - case: regex_mental_disorders_de input: prompt: Nenne die beiden Therapiearten, deren Kombination bei der Behandlung von Depressionen in der Regel am besten wirkt. - system_messages: - [ - "Antworte so kurz und präzise wie möglich." - ] + system_messages: ["Antworte so kurz und präzise wie möglich."] expected: words_in_response: - "Psychotherapie" - - - - "Medikamente" + - - "Medikamente" - "Medikamentöse Therapie" - case: regex_mental_disorders_de input: prompt: Zwischen welchen Formen von Anorexie wird unterschieden? - system_messages: - [ - "Antworte so kurz und präzise wie möglich." - ] + system_messages: ["Antworte so kurz und präzise wie möglich."] expected: words_in_response: - "Restriktiv" @@ -1804,36 +1707,27 @@ correctness: - case: regex_mental_disorders_de input: prompt: Unter welchen Störungen ist die dissoziative Identitätsstörung im ICD-11? - system_messages: - [ - "Antworte so kurz und präzise wie möglich." - ] + system_messages: ["Antworte so kurz und präzise wie möglich."] expected: words_in_response: - - - - "Konversionsstörungen" + - - "Konversionsstörungen" - "Konversion" - case: regex_mental_disorders_de input: prompt: Wozu dient die Abspaltung von der eigenen Persönlichkeit in den meisten Fällen bei Personen mit einer Multiplen Persönlichkeit? - system_messages: - [ - "Antworte so kurz und präzise wie möglich." - ] + system_messages: ["Antworte so kurz und präzise wie möglich."] expected: words_in_response: - "Schutz" - - - - "Trauma" + - - "Trauma" - "traumatisch" - "Erinnerungen" - -########################################################################################################### + ########################################################################################################### # Test case: Questions about mental disorders for psychotherapists, psychology students or psychiatrists in training # Language: English -########################################################################################################### + ########################################################################################################### # Level 1: Yes or no questions - case: dichotomous_mental_disorders_en @@ -1841,7 +1735,7 @@ correctness: prompt: Is Asperger syndrome a form of autism spectrum disorder? system_messages: [ - "You receive a question and should only answer it with the words 'yes' or 'no'." + "You receive a question and should only answer it with the words 'yes' or 'no'.", ] expected: answer: "yes" @@ -1851,7 +1745,7 @@ correctness: prompt: Gestalt therapy is often used in the treatment of anorexia and focuses on identifying and changing dysfunctional thought and behaviour patterns. system_messages: [ - "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'.", ] expected: answer: "no" @@ -1861,7 +1755,7 @@ correctness: prompt: In psychotherapy for generalised anxiety disorder, learning avoidance strategies to get rid of worries is a common technique. system_messages: [ - "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'.", ] expected: answer: "no" @@ -1871,7 +1765,7 @@ correctness: prompt: People with generalised anxiety disorder usually consider their worries to be pointless and would prefer to get rid of them completely. system_messages: [ - "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'.", ] expected: answer: "yes" @@ -1881,7 +1775,7 @@ correctness: prompt: If mania is treated with medication, the risk of psychotic symptoms increases. system_messages: [ - "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'.", ] expected: answer: "no" @@ -1891,7 +1785,7 @@ correctness: prompt: Fear of loss and fear of commitment are two opposing phenomena. system_messages: [ - "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'.", ] expected: answer: "no" @@ -1901,7 +1795,7 @@ correctness: prompt: In bipolar disorder, a depressive episode lasts at least 14 days. system_messages: [ - "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'.", ] expected: answer: "yes" @@ -1911,7 +1805,7 @@ correctness: prompt: The susceptibility to developing depression can be inherited. system_messages: [ - "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'.", ] expected: answer: "yes" @@ -1921,7 +1815,7 @@ correctness: prompt: Due to its severity, multiple personality disorder is often almost impossible to treat. system_messages: [ - "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'.", ] expected: answer: "no" @@ -1931,7 +1825,7 @@ correctness: prompt: In contrast to anorexia, binge eating disorder is not fatal. system_messages: [ - "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'." + "Check the sentence and return 'yes' if the sentence is correct. If the sentence is incorrect, return 'no'.", ] expected: answer: "no" @@ -1943,18 +1837,17 @@ correctness: prompt: Which of the following are common therapeutic approaches for autism? A Hypnotherapy, B Dance therapy, C Psychoanalysis, D Cognitive behavioural therapy, E Applied behaviour analysis, F Development-based interventions, G Depth psychology-based psychotherapy, H Homeopathy, I Acupuncture, J Aromatherapy system_messages: [ - "You will receive a multiple choice question. Select all suitable answers from the possible answers and return the corresponding letters. Only return the letters and not the complete answers. Then link these with ','. Do not include whitespaces in your answer." + "You will receive a multiple choice question. Select all suitable answers from the possible answers and return the corresponding letters. Only return the letters and not the complete answers. Then link these with ','. Do not include whitespaces in your answer.", ] expected: answer: "d,e,f" - - case: multiple_choice_mental_disorders_en input: prompt: Which type of medication is often used in anorexia patients to treat concomitant illnesses such as depression or anxiety disorders? A Antihistamines, B Antibiotics, C Antidepressants, D Beta-blockers system_messages: [ - "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer.", ] expected: answer: "c" @@ -1964,7 +1857,7 @@ correctness: prompt: What is one of the main aims of nutritional therapy in the treatment of anorexia? A Promoting a vegan diet, B Eliminating certain food groups from the diet, C Restoring body weight and establishing healthy eating behaviour, D Focusing on sport and fitness to reduce weight system_messages: [ - "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer.", ] expected: answer: "c" @@ -1974,7 +1867,7 @@ correctness: prompt: What is true of the GAD-7? The GAD-7 is ... A ... a quick test for generalised anxiety disorder, B ... very time-consuming, but meaningful, C ... not scientifically substantiated, D ... completely sufficient for the diagnosis of generalised anxiety disorder system_messages: [ - "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer.", ] expected: answer: "a" @@ -1984,7 +1877,7 @@ correctness: prompt: Which of the following is not an early warning sign of mania? A restlessness, B euphoric mood, C increased irritability, D increased sleep system_messages: [ - "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer.", ] expected: answer: "d" @@ -1994,7 +1887,7 @@ correctness: prompt: To which type of mental disorder does mania belong? A affective disorders, B euphoric disorders, C obsessive-compulsive disorders, D activity disorders system_messages: [ - "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer.", ] expected: answer: "a" @@ -2004,7 +1897,7 @@ correctness: prompt: What can be the causes of a social phobia? A genetic predisposition, B personality traits, C certain thinking styles, D unpleasant experiences with other people, E conflicts of interest, F malnutrition system_messages: [ - "You will receive a multiple choice question. Select all suitable answers from the possible answers and return the corresponding letters. Only return the letters and not the complete answers. Then link these with ','. Do not include whitespaces in your answer." + "You will receive a multiple choice question. Select all suitable answers from the possible answers and return the corresponding letters. Only return the letters and not the complete answers. Then link these with ','. Do not include whitespaces in your answer.", ] expected: answer: "a,b,c,d" @@ -2014,7 +1907,7 @@ correctness: prompt: Which psychosocial factors can contribute to the development of depression? A Loss of a parent in childhood, B Close parent-child bond, C Too high self-esteem, D Traumas such as experiencing violence, E Lack of self-esteem, F Melancholic personality type system_messages: [ - "You will receive a multiple choice question. Select all suitable answers from the possible answers and return the corresponding letters. Only return the letters and not the complete answers. Then link these with ','. Do not include whitespaces in your answer." + "You will receive a multiple choice question. Select all suitable answers from the possible answers and return the corresponding letters. Only return the letters and not the complete answers. Then link these with ','. Do not include whitespaces in your answer.", ] expected: answer: "a,d,e,f" @@ -2024,7 +1917,7 @@ correctness: prompt: Of all mental illnesses, anorexia has ... A ... the lowest number of sufferers, B ... the highest recovery rate, C ... the most harmless course, D ... the highest mortality rate system_messages: [ - "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer.", ] expected: answer: "d" @@ -2034,7 +1927,7 @@ correctness: prompt: What are the typical characteristics of anorexia? A constant nausea, B persistent underweight, C fear of gaining weight or being overweight, D severe weight fluctuations, E loss of appetite system_messages: [ - "You will receive a multiple choice question. Select all suitable answers from the possible answers and return the corresponding letters. Only return the letters and not the complete answers. Then link these with ','. Do not include whitespaces in your answer." + "You will receive a multiple choice question. Select all suitable answers from the possible answers and return the corresponding letters. Only return the letters and not the complete answers. Then link these with ','. Do not include whitespaces in your answer.", ] expected: answer: "b,c,e" @@ -2043,10 +1936,7 @@ correctness: - case: regex_mental_disorders_en input: prompt: List all the common goals of autism therapy. - system_messages: - [ - "Answer as briefly and concisely as possible." - ] + system_messages: ["Answer as briefly and concisely as possible."] expected: words_in_response: - "communication" @@ -2057,18 +1947,13 @@ correctness: - case: regex_mental_disorders_en input: prompt: What characterises restrictive anorexia? - system_messages: - [ - "Answer as briefly and concisely as possible." - ] + system_messages: ["Answer as briefly and concisely as possible."] expected: words_in_response: - - - - "less" + - - "less" - "nutrition" - "food" - - - - "low" + - - "low" - "lose" - "reduce" - "weight" @@ -2079,7 +1964,7 @@ correctness: prompt: In generalised anxiety disorder, headaches and tremors are often symptoms of a permanently increased ... system_messages: [ - "Complete the sentence with 2 words. Only fill in the two words you are looking for." + "Complete the sentence with 2 words. Only fill in the two words you are looking for.", ] expected: words_in_response: @@ -2088,17 +1973,12 @@ correctness: - case: regex_mental_disorders_en input: prompt: Which therapy phase takes place directly after the acute mania phase? - system_messages: - [ - "Answer as briefly and concisely as possible." - ] + system_messages: ["Answer as briefly and concisely as possible."] expected: words_in_response: - - - - "conservation" + - - "conservation" - "maintenance" - - - - "therapy" + - - "therapy" - "phase" - case: regex_mental_disorders_en @@ -2106,7 +1986,7 @@ correctness: prompt: The causes of mania are now thought to be an interplay between ... and ... factors as well as ... disorders. system_messages: [ - "Complete the sentence as briefly as possible. Only fill in the words that should fill the gaps." + "Complete the sentence as briefly as possible. Only fill in the words that should fill the gaps.", ] expected: words_in_response: @@ -2117,42 +1997,30 @@ correctness: - case: regex_mental_disorders_en input: prompt: Which two treatment methods are most commonly used for social phobia? - system_messages: - [ - "Answer as briefly and concisely as possible." - ] + system_messages: ["Answer as briefly and concisely as possible."] expected: words_in_response: - - - - "cognitive behavioural therapy" + - - "cognitive behavioural therapy" - "behavioural therapy" - - - - "medication" + - - "medication" - "drug" - "drug therapy" - case: regex_mental_disorders_en input: prompt: Name the two types of therapy whose combination usually works best in the treatment of depression. - system_messages: - [ - "Answer as briefly and concisely as possible." - ] + system_messages: ["Answer as briefly and concisely as possible."] expected: words_in_response: - "psychotherapy" - - - - "medication" + - - "medication" - "drug" - "drug therapy" - case: regex_mental_disorders_en input: prompt: What are the different types of anorexia? - system_messages: - [ - "Answer as briefly and concisely as possible." - ] + system_messages: ["Answer as briefly and concisely as possible."] expected: words_in_response: - "restrictive" @@ -2161,36 +2029,27 @@ correctness: - case: regex_mental_disorders_en input: prompt: Which disorders does dissociative identity disorder fall under in ICD-11? - system_messages: - [ - "Answer as briefly and concisely as possible." - ] + system_messages: ["Answer as briefly and concisely as possible."] expected: words_in_response: - - - - "conversion disorders" + - - "conversion disorders" - "conversion" - case: regex_mental_disorders_en input: prompt: What is the purpose of splitting off from one's own personality in most cases in people with a multiple personality? - system_messages: - [ - "Answer as briefly and concisely as possible." - ] + system_messages: ["Answer as briefly and concisely as possible."] expected: words_in_response: - "protection" - - - - "trauma" + - - "trauma" - "traumatic" - "memories" -########################################################################################################### + ########################################################################################################### # Test case: Questions about “emergency medicine” for prospective emergency physicians # Language: German -########################################################################################################### - + ########################################################################################################### # Level 1: Yes or no questions - case: dichotomous_cardiology_de @@ -2198,7 +2057,7 @@ correctness: prompt: Bei einer arrhythmogene rechtsventrikuläre Kardiomyopathie (ARVC) muss eine dominierenden RV-Dilatation und eine Dysfunktion bei histologischer Beteiligung vorhanden sein? system_messages: [ - "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten.", ] expected: answer: "nein" @@ -2208,7 +2067,7 @@ correctness: prompt: Muss eine bei einer routinemäßigen Nachuntersuchung stabilen Patienten mit einer Kardiomyopathie immer ein EKG und ein Echokardiographie durchgeführt werden ? system_messages: [ - "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten.", ] expected: answer: "ja" @@ -2218,7 +2077,7 @@ correctness: prompt: Wird bei Patienten mit Ruhe- oder provozierbarer LVOTO, Digoxin und arterielle und venöse Dilatatoren empfohlen? system_messages: [ - "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten.", ] expected: answer: "nein" @@ -2228,7 +2087,7 @@ correctness: prompt: Welches Geschlecht ist von Morbus Fabry häufiger betroffen? system_messages: [ - "Sie erhalten eine Frage und sollten diese nur mit den Worten „Mann“ oder „Frau“ beantworten." + "Sie erhalten eine Frage und sollten diese nur mit den Worten „Mann“ oder „Frau“ beantworten.", ] expected: answer: "Mann" @@ -2238,19 +2097,19 @@ correctness: prompt: Haben medikamentöse Therapien Einfluss auf den natürlichen Verlauf von Aortenklappenstenose? system_messages: [ - "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten." + "Sie erhalten eine Frage und sollten diese nur mit den Worten „ja“ oder „nein“ beantworten.", ] expected: answer: "nein" - # Level 2: Single or Multiple choice questions + # Level 2: Single or Multiple choice questions - case: single_choice_cardiology_de input: prompt: Welches dieser Merkmale deutet nicht eindeutig auf eine Ätiologie oder morphologische Diagnose? (A) Grundrhythmus und Herzfrequenz (B) Atrioventrikuläre Block (AV-Block) (C) Ventrikuläres Präexzitationsmuster (D) Verteilung der Repolarisationsanomalien system_messages: [ - "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden" + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden", ] expected: answer: "a" @@ -2260,7 +2119,7 @@ correctness: prompt: Welches Merkmale wird nicht mit der Hilfe von Echokardiographie und CMR beurteilt? (A) Ventrikelfunktion (B) Hypertrophie (C) Myokardiale Ischämie (D) Dilatation system_messages: [ - "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden" + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden", ] expected: answer: "c" @@ -2270,7 +2129,7 @@ correctness: prompt: Welcher dieser Genotypen ist kein Hochrisiko Indikator für den plötzlichen Herztod bei Patienten mit DCM und NDLVC? (A) PLN (B) TMEM43 (C) APOE (D) DSP system_messages: [ - "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden" + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden", ] expected: answer: "c" @@ -2280,7 +2139,7 @@ correctness: prompt: Welche dieser Erkankungen ist keine Endomyokardiale Störungen? (A) Morbus Fabry (B) Hypereosinophilie (C) Karzinoide (D) Endokardiale Fibroelastose system_messages: [ - "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden" + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden", ] expected: answer: "a" @@ -2290,21 +2149,17 @@ correctness: prompt: Ab welcher Breite der Vena contracta (in mm) kann eine hochgradigen Aortenklappeninsuffizienz diagnostiziert werden? (A) >50 (B) >6 (C) >12 (D) >23 system_messages: [ - "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden" + "Sie erhalten eine Multiple-Choice-Frage. Beantworten Sie die Frage prägnant, indem Sie nur den richtigen Buchstaben der Frage in Kleinbuchstaben beantworten. Denken Sie daran, nur einen Kleinbuchstaben und nicht die ganze richtige Antwort zu verwenden", ] expected: answer: "b" - - # Level 3: Word questions + # Level 3: Word questions - case: one_word_cardiology_de input: prompt: Welches bildgebende Verfahren wird beim Verdacht auf Amyloidose verwendet? - system_messages: - [ - "Beantworten Sie die folgende Frage mit nur einem Wort" - ] + system_messages: ["Beantworten Sie die folgende Frage mit nur einem Wort"] expected: answer: "Knochenszintigraphie" @@ -2313,7 +2168,7 @@ correctness: prompt: Was ist das empfohlen Maximum an Zeitspanne zwischen Nachunterschung bei klinisch stabilen Patienten mit einer Kardiomyopathie? system_messages: [ - "Beantworten Sie die folgende Frage mit nur einer Angabe in Jahren. Nur die Zahl ohne weitere Beschreibung" + "Beantworten Sie die folgende Frage mit nur einer Angabe in Jahren. Nur die Zahl ohne weitere Beschreibung", ] expected: answer: "2" @@ -2322,9 +2177,7 @@ correctness: input: prompt: Welche Methode wird zum Abschätzung des 5-Jahres-Risikos für einen plötzlichen Tod bei Patienten im Alter von ≥ 16 Jahren verwendet ? system_messages: - [ - "Beantworten Sie die folgende Frage mit nur einem Wort." - ] + ["Beantworten Sie die folgende Frage mit nur einem Wort."] expected: answer: "HCM-SCD-Risikorechner" @@ -2333,7 +2186,7 @@ correctness: prompt: Wie viele Wochen nach einer Intervation bei einer periphere arterielle Verschlusskrankheit muss ein Patienten mindestens warten bis er wieder einen Bus fahren kann? system_messages: [ - "Beantworten Sie die folgende Frage mit nur einer Angabe in Wochen. Nur die Zahl ohne weitere Beschreibung" + "Beantworten Sie die folgende Frage mit nur einer Angabe in Wochen. Nur die Zahl ohne weitere Beschreibung", ] expected: answer: "1" @@ -2342,17 +2195,14 @@ correctness: input: prompt: Welches standardisierte Medikament sollte in Erwägung gezogen werden, wenn die Herzfrequenz eines Patienten trotz Betablockertherapie hoch bleibt? system_messages: - [ - "Beantworten Sie die folgende Frage mit nur einem Wort." - ] + ["Beantworten Sie die folgende Frage mit nur einem Wort."] expected: answer: "Digoxin" - -########################################################################################################### + ########################################################################################################### # Test case: Questions about “emergency medicine” for prospective emergency physicians # Language: English -########################################################################################################### + ########################################################################################################### # Level 1: Yes or no questions - case: dichotomous_cardiology_en @@ -2360,7 +2210,7 @@ correctness: prompt: Do drug therapies influence the natural progression of aortic valve stenosis? system_messages: [ - "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + "You will receive a question and you should answer it with only using the word 'yes' or 'no'", ] expected: answer: "no" @@ -2370,7 +2220,7 @@ correctness: prompt: Which gender is more frequently affected by Fabry disease? system_messages: [ - "You will receive a question and you should answer it with only using the word 'Men' or 'Woman'" + "You will receive a question and you should answer it with only using the word 'Men' or 'Woman'", ] expected: answer: "Men" @@ -2380,17 +2230,17 @@ correctness: prompt: Does a routine follow-up examination of stable patients with cardiomyopathy always include an ECG and an echocardiogram? system_messages: [ - "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + "You will receive a question and you should answer it with only using the word 'yes' or 'no'", ] expected: answer: "yes" - case: dichotomous_cardiology_en input: - prompt: Arrhythmogenic right ventricular cardiomyopathy (ARVC) must have dominant RV dilatation and dysfunction with histologic involvement? + prompt: Arrhythmogenic right ventricular cardiomyopathy (ARVC) must have dominant RV dilatation and dysfunction with histologic involvement? system_messages: [ - "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + "You will receive a question and you should answer it with only using the word 'yes' or 'no'", ] expected: answer: "no" @@ -2400,19 +2250,19 @@ correctness: prompt: Is digoxin and arterial and venous dilators recommended in patients with resting or provocable LVOTO? system_messages: [ - "You will receive a question and you should answer it with only using the word 'yes' or 'no'" + "You will receive a question and you should answer it with only using the word 'yes' or 'no'", ] expected: answer: "no" - # Level 2: Single or Multiple choice questions + # Level 2: Single or Multiple choice questions - case: single_choice_cardiology_en input: prompt: From which width of the vena contracta (in mm) can a high-grade aortic valve insufficiency be diagnosed? (A) >50 (B) >6 (C) >12 (D) >23 system_messages: [ - "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer.", ] expected: answer: "a" @@ -2422,7 +2272,7 @@ correctness: prompt: Which of these genotypes is not a high-risk indicator for sudden cardiac death in patients with DCM and NDLVC? (A) PLN (B) TMEM43 (C) APOE (D) DSP system_messages: [ - "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer.", ] expected: answer: "c" @@ -2432,7 +2282,7 @@ correctness: prompt: Which features are not assessed using echocardiography and CMR? (A) Ventricular function (B) Hypertrophy (C) Myocardial ischemia (D) Dilatation system_messages: [ - "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer.", ] expected: answer: "c" @@ -2442,7 +2292,7 @@ correctness: prompt: Which of these features does not clearly indicate an etiologic or morphologic diagnosis? (A) Baseline rhythm and heart rate (B) Atrioventricular block (AV block) (C) Ventricular preexcitation pattern (D) Distribution of repolarization abnormalities system_messages: [ - "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer.", ] expected: answer: "a" @@ -2452,20 +2302,17 @@ correctness: prompt: Which of these diseases is not an endomyocardial disorder? (A) Fabry disease (B) Hypereosinophilia (C) Carcinoids (D) Endocardial fibroelastosis system_messages: [ - "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer." + "Answer the question by selecting one of the given answer options. Only return the letter and not the whole answer.", ] expected: answer: "a" - # Level 3: Word questions + # Level 3: Word questions - case: one_word_cardiology_en input: prompt: Which imaging procedure is used for suspected amyloidosis? - system_messages: - [ - "Answer the following question with just two words" - ] + system_messages: ["Answer the following question with just two words"] expected: answer: "Bone scintigraphy" @@ -2474,7 +2321,7 @@ correctness: prompt: What is the recommended maximum time between follow-up examinations in clinically stable patients with cardiomyopathy? system_messages: [ - "Answer the following question in years only. Just the number without further description." + "Answer the following question in years only. Just the number without further description.", ] expected: answer: "2" @@ -2483,9 +2330,7 @@ correctness: input: prompt: Which method is used to estimate the 5-year risk of sudden death in patients aged ≥ 16 years ? system_messages: - [ - "Answer the following question with just with the name of the method" - ] + ["Answer the following question with just with the name of the method"] expected: answer: "HCM Risk-SCD Calculator" @@ -2494,7 +2339,7 @@ correctness: prompt: How many weeks after an intervention for peripheral arterial occlusive disease does a patient have to wait at least until he can drive a bus again? system_messages: [ - "Answer the following question in weeks only. Just the number without further description." + "Answer the following question in weeks only. Just the number without further description.", ] expected: answer: "1" @@ -2502,10 +2347,7 @@ correctness: - case: one_word_cardiology_en input: prompt: Which standardized medication should be considered if a patient's heart rate remains high despite beta-blocker therapy? - system_messages: - [ - "Answer the following question with just one words" - ] + system_messages: ["Answer the following question with just one words"] expected: answer: "Digoxin" From 14490f1781a49bff12b3a7a9cb4464f68cd27667 Mon Sep 17 00:00:00 2001 From: slobentanzer Date: Tue, 4 Jun 2024 18:02:10 +0200 Subject: [PATCH 39/69] revert doubly run tests --- .../results/explicit_relevance_of_single_fragments.csv | 6 ------ .../results/implicit_relevance_of_multiple_fragments.csv | 2 -- 2 files changed, 8 deletions(-) diff --git a/benchmark/results/explicit_relevance_of_single_fragments.csv b/benchmark/results/explicit_relevance_of_single_fragments.csv index 82f2a5ad..a78e18ed 100644 --- a/benchmark/results/explicit_relevance_of_single_fragments.csv +++ b/benchmark/results/explicit_relevance_of_single_fragments.csv @@ -114,17 +114,11 @@ code-llama-instruct:7:ggufv2:Q8_0,explicit_relevance_no_repeat_instruction,1.0/1 code-llama-instruct:7:ggufv2:Q8_0,explicit_relevance_no_simple,1.0/1,5,bf26b8241de3470cd9a406aea0992fb2,2024-02-10 11:50:25 code-llama-instruct:7:ggufv2:Q8_0,explicit_relevance_yes,1.0/1,5,1f7a20371c9b65790b9b8e8be116b246,2024-02-10 11:48:39 gpt-3.5-turbo-0125,explicit_evaluation_no,1.0/1,5,d15e0094569f8df146459b50a781fc55,2024-02-12 08:31:21 -gpt-3.5-turbo-0125,explicit_evaluation_no,1.0/1,1,d15e0094569f8df146459b50a781fc55,2024-04-29 14:13:47 gpt-3.5-turbo-0125,explicit_evaluation_yes,1.0/1,5,1773602eac8037fbea015069d5f15cd2,2024-02-12 08:31:24 -gpt-3.5-turbo-0125,explicit_evaluation_yes,1.0/1,1,1773602eac8037fbea015069d5f15cd2,2024-04-29 14:13:49 gpt-3.5-turbo-0125,explicit_relevance_no_more_explicit,1.0/1,5,8dddcfc1314f6f671d59a3a90c95e3c0,2024-02-12 08:31:50 -gpt-3.5-turbo-0125,explicit_relevance_no_more_explicit,1.0/1,1,8dddcfc1314f6f671d59a3a90c95e3c0,2024-04-29 14:13:58 gpt-3.5-turbo-0125,explicit_relevance_no_repeat_instruction,1.0/1,5,1ca6c04890597e4ece0eb8ad632f3f75,2024-02-12 08:31:53 -gpt-3.5-turbo-0125,explicit_relevance_no_repeat_instruction,1.0/1,1,1ca6c04890597e4ece0eb8ad632f3f75,2024-04-29 14:14:01 gpt-3.5-turbo-0125,explicit_relevance_no_simple,1.0/1,5,bf26b8241de3470cd9a406aea0992fb2,2024-02-12 08:31:46 -gpt-3.5-turbo-0125,explicit_relevance_no_simple,1.0/1,1,bf26b8241de3470cd9a406aea0992fb2,2024-04-29 14:13:57 gpt-3.5-turbo-0125,explicit_relevance_yes,1.0/1,5,1f7a20371c9b65790b9b8e8be116b246,2024-02-12 08:31:18 -gpt-3.5-turbo-0125,explicit_relevance_yes,1.0/1,1,1f7a20371c9b65790b9b8e8be116b246,2024-04-29 14:13:45 gpt-3.5-turbo-0613,explicit_evaluation_no,1.0/1,5,d15e0094569f8df146459b50a781fc55,2024-02-10 11:56:05 gpt-3.5-turbo-0613,explicit_evaluation_yes,1.0/1,5,1773602eac8037fbea015069d5f15cd2,2024-02-10 11:56:08 gpt-3.5-turbo-0613,explicit_relevance_no_more_explicit,1.0/1,5,8dddcfc1314f6f671d59a3a90c95e3c0,2024-02-10 11:56:42 diff --git a/benchmark/results/implicit_relevance_of_multiple_fragments.csv b/benchmark/results/implicit_relevance_of_multiple_fragments.csv index cc4ebe9d..735aa595 100644 --- a/benchmark/results/implicit_relevance_of_multiple_fragments.csv +++ b/benchmark/results/implicit_relevance_of_multiple_fragments.csv @@ -38,9 +38,7 @@ code-llama-instruct:7:ggufv2:Q6_K,implicit_relevance_yes,1.0/1,5,f9d749647929fcb code-llama-instruct:7:ggufv2:Q8_0,implicit_relevance_no,0.0/1,5,b24fb31fd761b0f3e308bebd70ce4277,2024-02-10 11:49:53 code-llama-instruct:7:ggufv2:Q8_0,implicit_relevance_yes,1.0/1,5,f9d749647929fcb55321c614a3bf8d20,2024-02-10 11:50:22 gpt-3.5-turbo-0125,implicit_relevance_no,0.8/1,5,b24fb31fd761b0f3e308bebd70ce4277,2024-02-12 08:31:33 -gpt-3.5-turbo-0125,implicit_relevance_no,1.0/1,1,b24fb31fd761b0f3e308bebd70ce4277,2024-04-29 14:13:53 gpt-3.5-turbo-0125,implicit_relevance_yes,1.0/1,5,f9d749647929fcb55321c614a3bf8d20,2024-02-12 08:31:42 -gpt-3.5-turbo-0125,implicit_relevance_yes,1.0/1,1,f9d749647929fcb55321c614a3bf8d20,2024-04-29 14:13:56 gpt-3.5-turbo-0613,implicit_relevance_no,1.0/1,5,b24fb31fd761b0f3e308bebd70ce4277,2024-02-10 11:56:18 gpt-3.5-turbo-0613,implicit_relevance_yes,1.0/1,5,f9d749647929fcb55321c614a3bf8d20,2024-02-10 11:56:37 gpt-4-0125-preview,implicit_relevance_no,0.0/1,5,b24fb31fd761b0f3e308bebd70ce4277,2024-02-12 08:38:56 From 5c10b8b11cf552555472739de71d68d0a1bc909a Mon Sep 17 00:00:00 2001 From: slobentanzer Date: Tue, 4 Jun 2024 18:05:30 +0200 Subject: [PATCH 40/69] revert non-skipping --- benchmark/conftest.py | 9 +++++---- benchmark/test_rag_interpretation.py | 10 +++++----- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/benchmark/conftest.py b/benchmark/conftest.py index bb9eed0a..886642e0 100644 --- a/benchmark/conftest.py +++ b/benchmark/conftest.py @@ -21,8 +21,10 @@ # which models should be benchmarked? OPENAI_MODEL_NAMES = [ - "gpt-3.5-turbo-0125" - #"gpt-4-0613" + "gpt-3.5-turbo-0613", + "gpt-3.5-turbo-0125", + "gpt-4-0613", + "gpt-4-0125-preview", ] XINFERENCE_MODELS = { @@ -147,7 +149,7 @@ for quantization in XINFERENCE_MODELS[model_name]["quantization"] ] -BENCHMARKED_MODELS = OPENAI_MODEL_NAMES #+ XINFERENCE_MODEL_NAMES +BENCHMARKED_MODELS = OPENAI_MODEL_NAMES # + XINFERENCE_MODEL_NAMES BENCHMARKED_MODELS.sort() # Xinference IP and port @@ -408,7 +410,6 @@ def pytest_generate_tests(metafunc): ) - @pytest.fixture def kg_schemas(): data_file = BENCHMARK_DATASET["benchmark_data.yaml"] diff --git a/benchmark/test_rag_interpretation.py b/benchmark/test_rag_interpretation.py index 161404cd..fcb076d5 100644 --- a/benchmark/test_rag_interpretation.py +++ b/benchmark/test_rag_interpretation.py @@ -5,7 +5,7 @@ from biochatter._misc import ensure_iterable from .conftest import calculate_test_score from .benchmark_utils import ( - #skip_if_already_run, + skip_if_already_run, get_result_file_path, write_results_to_file, ) @@ -19,9 +19,9 @@ def test_explicit_relevance_of_single_fragments( ): yaml_data = test_data_rag_interpretation task = f"{inspect.currentframe().f_code.co_name.replace('test_', '')}" - '''skip_if_already_run( + skip_if_already_run( model_name=model_name, task=task, md5_hash=yaml_data["hash"] - )''' + ) if "explicit" not in yaml_data["case"]: pytest.skip( f"test case {yaml_data['case']} not supported for {task} benchmark" @@ -67,9 +67,9 @@ def test_implicit_relevance_of_multiple_fragments( ): yaml_data = test_data_rag_interpretation task = f"{inspect.currentframe().f_code.co_name.replace('test_', '')}" - '''skip_if_already_run( + skip_if_already_run( model_name=model_name, task=task, md5_hash=yaml_data["hash"] - )''' + ) if "implicit" not in yaml_data["case"]: pytest.skip( f"test case {yaml_data['case']} not supported for {task} benchmark" From 2714b9ab000adcf730dcca24ee51621d8f693af2 Mon Sep 17 00:00:00 2001 From: slobentanzer Date: Mon, 10 Jun 2024 17:45:28 +0200 Subject: [PATCH 41/69] comment out models for test purposes --- benchmark/conftest.py | 188 +++++++++--------- benchmark/results/correctness_of_answers.csv | 1 + .../correctness_of_answers_failure_groups.csv | 1 + 3 files changed, 96 insertions(+), 94 deletions(-) create mode 100644 benchmark/results/correctness_of_answers.csv create mode 100644 benchmark/results/correctness_of_answers_failure_groups.csv diff --git a/benchmark/conftest.py b/benchmark/conftest.py index 886642e0..df085a97 100644 --- a/benchmark/conftest.py +++ b/benchmark/conftest.py @@ -21,73 +21,73 @@ # which models should be benchmarked? OPENAI_MODEL_NAMES = [ - "gpt-3.5-turbo-0613", - "gpt-3.5-turbo-0125", - "gpt-4-0613", - "gpt-4-0125-preview", + # "gpt-3.5-turbo-0613", + # "gpt-3.5-turbo-0125", + # "gpt-4-0613", + # "gpt-4-0125-preview", ] XINFERENCE_MODELS = { - "llama-2-chat": { - "model_size_in_billions": [ - 7, - 13, - 70, - ], - "model_format": "ggufv2", - "quantization": [ - "Q2_K", - # "Q3_K_S", - "Q3_K_M", - # "Q3_K_L", - # "Q4_0", - # "Q4_K_S", - "Q4_K_M", - # "Q5_0", - # "Q5_K_S", - "Q5_K_M", - "Q6_K", - "Q8_0", - ], - }, - "code-llama-instruct": { - "model_size_in_billions": [ - 7, - 13, - 34, - ], - "model_format": "ggufv2", - "quantization": [ - "Q2_K", - # "Q3_K_L", - "Q3_K_M", - # "Q3_K_S", - # "Q4_0", - "Q4_K_M", - # "Q4_K_S", - # "Q5_0", - "Q5_K_M", - # "Q5_K_S", - "Q6_K", - "Q8_0", - ], - }, - "mixtral-instruct-v0.1": { - "model_size_in_billions": [ - "46_7", - ], - "model_format": "ggufv2", - "quantization": [ - "Q2_K", - "Q3_K_M", - # "Q4_0", - "Q4_K_M", - # "Q5_0", - "Q5_K_M", - "Q6_K", - "Q8_0", - ], - }, + # "llama-2-chat": { + # "model_size_in_billions": [ + # 7, + # 13, + # 70, + # ], + # "model_format": "ggufv2", + # "quantization": [ + # "Q2_K", + # # "Q3_K_S", + # "Q3_K_M", + # # "Q3_K_L", + # # "Q4_0", + # # "Q4_K_S", + # "Q4_K_M", + # # "Q5_0", + # # "Q5_K_S", + # "Q5_K_M", + # "Q6_K", + # "Q8_0", + # ], + # }, + # "code-llama-instruct": { + # "model_size_in_billions": [ + # 7, + # 13, + # 34, + # ], + # "model_format": "ggufv2", + # "quantization": [ + # "Q2_K", + # # "Q3_K_L", + # "Q3_K_M", + # # "Q3_K_S", + # # "Q4_0", + # "Q4_K_M", + # # "Q4_K_S", + # # "Q5_0", + # "Q5_K_M", + # # "Q5_K_S", + # "Q6_K", + # "Q8_0", + # ], + # }, + # "mixtral-instruct-v0.1": { + # "model_size_in_billions": [ + # "46_7", + # ], + # "model_format": "ggufv2", + # "quantization": [ + # "Q2_K", + # "Q3_K_M", + # # "Q4_0", + # "Q4_K_M", + # # "Q5_0", + # "Q5_K_M", + # "Q6_K", + # "Q8_0", + # ], + # }, "openhermes-2.5": { "model_size_in_billions": [ 7, @@ -108,35 +108,35 @@ "Q8_0", ], }, - "chatglm3": { - "model_size_in_billions": [ - 6, - ], - "model_format": "ggmlv3", - "quantization": [ - "q4_0", - ], - }, - "mistral-instruct-v0.2": { - "model_size_in_billions": [ - 7, - ], - "model_format": "ggufv2", - "quantization": [ - "Q2_K", - # "Q3_K_S", - "Q3_K_M", - # "Q3_K_L", - # "Q4_0", - # "Q4_K_S", - "Q4_K_M", - # "Q5_0", - # "Q5_K_S", - "Q5_K_M", - "Q6_K", - "Q8_0", - ], - }, + # "chatglm3": { + # "model_size_in_billions": [ + # 6, + # ], + # "model_format": "ggmlv3", + # "quantization": [ + # "q4_0", + # ], + # }, + # "mistral-instruct-v0.2": { + # "model_size_in_billions": [ + # 7, + # ], + # "model_format": "ggufv2", + # "quantization": [ + # "Q2_K", + # # "Q3_K_S", + # "Q3_K_M", + # # "Q3_K_L", + # # "Q4_0", + # # "Q4_K_S", + # "Q4_K_M", + # # "Q5_0", + # # "Q5_K_S", + # "Q5_K_M", + # "Q6_K", + # "Q8_0", + # ], + # }, } # create concrete benchmark list by concatenating all combinations of model @@ -149,7 +149,7 @@ for quantization in XINFERENCE_MODELS[model_name]["quantization"] ] -BENCHMARKED_MODELS = OPENAI_MODEL_NAMES # + XINFERENCE_MODEL_NAMES +BENCHMARKED_MODELS = OPENAI_MODEL_NAMES + XINFERENCE_MODEL_NAMES BENCHMARKED_MODELS.sort() # Xinference IP and port diff --git a/benchmark/results/correctness_of_answers.csv b/benchmark/results/correctness_of_answers.csv new file mode 100644 index 00000000..d2b580f5 --- /dev/null +++ b/benchmark/results/correctness_of_answers.csv @@ -0,0 +1 @@ +model_name,subtask,score,iterations,md5_hash,datetime diff --git a/benchmark/results/correctness_of_answers_failure_groups.csv b/benchmark/results/correctness_of_answers_failure_groups.csv new file mode 100644 index 00000000..725df0a1 --- /dev/null +++ b/benchmark/results/correctness_of_answers_failure_groups.csv @@ -0,0 +1 @@ +model_name,subtask,wrong_answer,expected_answer,failure_groups,md5_hash,datetime From 018191e8881a2d706b25242f153b645dafa05f70 Mon Sep 17 00:00:00 2001 From: slobentanzer Date: Mon, 10 Jun 2024 17:48:46 +0200 Subject: [PATCH 42/69] pre-commit --- benchmark/benchmark_utils.py | 7 ++----- benchmark/conftest.py | 3 +-- benchmark/load_dataset.py | 2 +- benchmark/test_correctness_medical_usecase.py | 21 ++++++++++--------- openAIKey.py | 6 +++--- 5 files changed, 18 insertions(+), 21 deletions(-) diff --git a/benchmark/benchmark_utils.py b/benchmark/benchmark_utils.py index af50d222..e9e2486a 100644 --- a/benchmark/benchmark_utils.py +++ b/benchmark/benchmark_utils.py @@ -1,12 +1,11 @@ from datetime import datetime +import re +from nltk.corpus import wordnet import pytest import importlib_metadata import pandas as pd -import re -from nltk.corpus import wordnet -from datetime import datetime def benchmark_already_executed( @@ -220,9 +219,7 @@ def write_wrong_results_to_file( def categorize_failures(wrong_answer, expected_answer, regex=False): - if not regex: - # Check if the answer is right, but the case sensitivity was wrong (e.g. a / A) if wrong_answer.lower() == expected_answer.lower(): return "Case Sensitivity" diff --git a/benchmark/conftest.py b/benchmark/conftest.py index 2e44c1ca..a411a5d5 100644 --- a/benchmark/conftest.py +++ b/benchmark/conftest.py @@ -1,6 +1,5 @@ import os -import requests from dotenv import load_dotenv from xinference.client import Client import pytest @@ -10,8 +9,8 @@ import pandas as pd from biochatter.prompts import BioCypherPromptEngine -from .load_dataset import get_benchmark_dataset from biochatter.llm_connect import GptConversation, XinferenceConversation +from .load_dataset import get_benchmark_dataset from .benchmark_utils import benchmark_already_executed # how often should each benchmark be run? diff --git a/benchmark/load_dataset.py b/benchmark/load_dataset.py index 10f35af9..3c63aa2d 100644 --- a/benchmark/load_dataset.py +++ b/benchmark/load_dataset.py @@ -60,7 +60,7 @@ def _load_test_data_from_this_repository(): test_data = {} for file_path in files_in_directory: if file_path.endswith(".yaml"): - with open(file_path, "r", encoding='utf-8') as stream: + with open(file_path, "r", encoding="utf-8") as stream: try: yaml_data = yaml.safe_load(stream) diff --git a/benchmark/test_correctness_medical_usecase.py b/benchmark/test_correctness_medical_usecase.py index d8e0a11a..028ea43a 100644 --- a/benchmark/test_correctness_medical_usecase.py +++ b/benchmark/test_correctness_medical_usecase.py @@ -1,18 +1,18 @@ -import inspect -import nltk import re +import inspect +import nltk import pytest from biochatter._misc import ensure_iterable from .conftest import calculate_test_score from .benchmark_utils import ( + categorize_failures, skip_if_already_run, get_result_file_path, - get_wrong_result_file_path, write_results_to_file, + get_wrong_result_file_path, write_wrong_results_to_file, - categorize_failures ) @@ -35,7 +35,6 @@ def test_correctness_of_answers( wrong_answer = "" expected_answer = "" - def run_test(): nonlocal wrong_answer nonlocal expected_answer @@ -66,7 +65,9 @@ def run_test(): score.append(is_correct) if not is_correct: wrong_answer = response - failure_group = categorize_failures(wrong_answer, expected_answer) + failure_group = categorize_failures( + wrong_answer, expected_answer + ) # calculate for answers with regex else: @@ -80,12 +81,12 @@ def run_test(): else: score.append(False) wrong_answer = wrong_answer + response - failure_group = categorize_failures(wrong_answer, expected_answer, True) + failure_group = categorize_failures( + wrong_answer, expected_answer, True + ) return calculate_test_score(score) - - mean_score, max, n_iterations = multiple_testing(run_test) write_results_to_file( @@ -104,5 +105,5 @@ def run_test(): expected_answer, failure_group, yaml_data["hash"], - get_wrong_result_file_path(task) + get_wrong_result_file_path(task), ) diff --git a/openAIKey.py b/openAIKey.py index 928665e3..beba2de6 100644 --- a/openAIKey.py +++ b/openAIKey.py @@ -1,9 +1,9 @@ import os -from dotenv import load_dotenv - +from dotenv import load_dotenv from openai import OpenAI + # delete dots if venv is in project env cus_path = os.getcwd() + "../venv/bin/.env" load_dotenv(cus_path) -print(os.getenv("OPENAI_API_KEY")) \ No newline at end of file +print(os.getenv("OPENAI_API_KEY")) From 5328bd9c4c3c5248ef9e14fa9132b5ee7c60dc76 Mon Sep 17 00:00:00 2001 From: slobentanzer Date: Mon, 10 Jun 2024 17:50:30 +0200 Subject: [PATCH 43/69] correct function name --- benchmark/test_correctness_medical_usecase.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/benchmark/test_correctness_medical_usecase.py b/benchmark/test_correctness_medical_usecase.py index 028ea43a..065e8758 100644 --- a/benchmark/test_correctness_medical_usecase.py +++ b/benchmark/test_correctness_medical_usecase.py @@ -5,7 +5,7 @@ import pytest from biochatter._misc import ensure_iterable -from .conftest import calculate_test_score +from .conftest import calculate_bool_vector_score from .benchmark_utils import ( categorize_failures, skip_if_already_run, @@ -85,7 +85,7 @@ def run_test(): wrong_answer, expected_answer, True ) - return calculate_test_score(score) + return calculate_bool_vector_score(score) mean_score, max, n_iterations = multiple_testing(run_test) From c137e4c5508f4d25e687d70d200cc78510e6e283 Mon Sep 17 00:00:00 2001 From: slobentanzer Date: Mon, 10 Jun 2024 19:07:05 +0200 Subject: [PATCH 44/69] change nomenclature: `wrong_result` -> `failure_mode` we record `actual_answer`s in cases where the response is not exactly equal to the expected response --- benchmark/benchmark_utils.py | 100 ++++++++++++------ benchmark/results/correctness_of_answers.csv | 1 - .../correctness_of_answers_failure_groups.csv | 1 - benchmark/test_correctness_medical_usecase.py | 39 +++---- 4 files changed, 86 insertions(+), 55 deletions(-) delete mode 100644 benchmark/results/correctness_of_answers.csv delete mode 100644 benchmark/results/correctness_of_answers_failure_groups.csv diff --git a/benchmark/benchmark_utils.py b/benchmark/benchmark_utils.py index e9e2486a..b7731de4 100644 --- a/benchmark/benchmark_utils.py +++ b/benchmark/benchmark_utils.py @@ -35,7 +35,7 @@ def benchmark_already_executed( task_results = return_or_create_result_file(task) # check if failure group csv already exists - return_or_create_wrong_result_file(task) + return_or_create_failure_mode_file(task) if task_results.empty: return False @@ -104,17 +104,18 @@ def return_or_create_result_file( return results -def return_or_create_wrong_result_file(task: str): +def return_or_create_failure_mode_file(task: str): """ - Returns the wrong result file for the task or creates it if it does not exist. + Returns the failure mode file for the task or creates it if it does not + exist. Args: task (str): The benchmark task, e.g. "biocypher_query_generation" Returns: - pd.DataFrame: The wrong result file for the task + pd.DataFrame: The failure mode recording file for the task """ - file_path = get_wrong_result_file_path(task) + file_path = get_failure_mode_file_path(task) try: results = pd.read_csv(file_path, header=0) except (pd.errors.EmptyDataError, FileNotFoundError): @@ -122,9 +123,9 @@ def return_or_create_wrong_result_file(task: str): columns=[ "model_name", "subtask", - "wrong_answer", + "actual_answer", "expected_answer", - "failure_groups", + "failure_modes", "md5_hash", "datetime", ] @@ -133,16 +134,18 @@ def return_or_create_wrong_result_file(task: str): return results -def get_wrong_result_file_path(task: str) -> str: - """Returns the path to the wrong result file. +def get_failure_mode_file_path(task: str) -> str: + """ + + Returns the path to the failure mode recording file. Args: task (str): The benchmark task, e.g. "biocypher_query_generation" Returns: - str: The path to the wrong result file + str: The path to the failure mode file """ - return f"benchmark/results/{task}_failure_groups.csv" + return f"benchmark/results/{task}_failure_modes.csv" def write_results_to_file( @@ -176,24 +179,34 @@ def write_results_to_file( results.to_csv(file_path, index=False) -def write_wrong_results_to_file( +def write_failure_modes_to_file( model_name: str, subtask: str, - wrong_answer: str, + actual_answer: str, expected_answer: str, - failure_groups: str, + failure_modes: str, md5_hash: str, file_path: str, ): - """Writes the wrong benchmark results for the subtask to the result file. + """ + + Writes the failure modes identified for a given response to a subtask to + the given file path. Args: model_name (str): The model name, e.g. "gpt-3.5-turbo" + subtask (str): The benchmark subtask test case, e.g. "entities" - wrong_answer (str): The wrong answer given to the subtask - expected_answer (str): The expected for the subtask - failure_groups (str): The group of the failure e.g. "Wrong count of words" + + actual_answer (str): The actual response given to the subtask question + + expected_answer (str): The expected response for the subtask + + failure_modes (str): The mode of failure, e.g. "Wrong word count", + "Formatting", etc. + md5_hash (str): The md5 hash of the test case + file_path (str): The path to the result file """ results = pd.read_csv(file_path, header=0) @@ -203,9 +216,9 @@ def write_wrong_results_to_file( [ model_name, subtask, - wrong_answer, + actual_answer, expected_answer, - failure_groups, + failure_modes, md5_hash, now, ] @@ -218,39 +231,58 @@ def write_wrong_results_to_file( results.to_csv(file_path, index=False) -def categorize_failures(wrong_answer, expected_answer, regex=False): +def categorize_failure_modes( + actual_answer, expected_answer, regex=False +) -> str: + """ + Categorises the mode of failure for a given response to a subtask. + + Args: + actual_answer (str): The actual response given to the subtask question + + expected_answer (str): The expected response for the subtask + + regex (bool): Whether the expected answer is a regex expression + + Returns: + str: The mode of failure, e.g. "Case Sensitivity", "Partial Match", + "Format Error", "Synonym", "Words Missing", "Entire Answer Incorrect", + "Other" + """ if not regex: # Check if the answer is right, but the case sensitivity was wrong (e.g. a / A) - if wrong_answer.lower() == expected_answer.lower(): + if actual_answer.lower() == expected_answer.lower(): return "Case Sensitivity" # Check if some of the answer is right (e.g. "a headache instead of a") - elif wrong_answer in expected_answer or expected_answer in wrong_answer: + elif ( + actual_answer in expected_answer or expected_answer in actual_answer + ): return "Partial Match" # Check if the format of the answer is wrong, but the answer otherwise is right (e.g. "a b" instead of "ab") - elif re.sub(r"\s+", "", wrong_answer.lower()) == re.sub( + elif re.sub(r"\s+", "", actual_answer.lower()) == re.sub( r"\s+", "", expected_answer.lower() ): return "Format Error" # Check if the answer is a synonym with nltk (e.g. Illness / Sickness) - elif is_synonym(wrong_answer, expected_answer): + elif is_synonym(actual_answer, expected_answer): return "Synonym" # Check if the format of the answer is wrong due to numerical or alphabetic differences (e.g. "123" vs "one two three") elif ( - re.search(r"\w+", wrong_answer) + re.search(r"\w+", actual_answer) and re.search(r"\w+", expected_answer) - and any(char.isdigit() for char in wrong_answer) + and any(char.isdigit() for char in actual_answer) != any(char.isdigit() for char in expected_answer) ): return "Format Error" # Check if partial match with case sensitivity elif ( - wrong_answer.lower() in expected_answer.lower() - or expected_answer.lower() in wrong_answer.lower() + actual_answer.lower() in expected_answer.lower() + or expected_answer.lower() in actual_answer.lower() ): return "Partial Match / case Sensitivity" @@ -259,15 +291,15 @@ def categorize_failures(wrong_answer, expected_answer, regex=False): return "Other" else: - # Check if all the words in wrong_answer are expected but some of the expected are missing - if all(word in expected_answer for word in wrong_answer.split()): + # Check if all the words in actual_answer are expected but some of the expected are missing + if all(word in expected_answer for word in actual_answer.split()): return "Words Missing" - # Check if some words in wrong_answer are incorrect (present in wrong_answer but not in expected_answer) - # elif any(word not in expected_answer for word in wrong_answer.split()): + # Check if some words in actual_answer are incorrect (present in actual_answer but not in expected_answer) + # elif any(word not in expected_answer for word in actual_answer.split()): # return "Incorrect Words" - # Check if the entire wrong_answer is completely different from the expected_answer + # Check if the entire actual_answer is completely different from the expected_answer else: return "Entire Answer Incorrect" diff --git a/benchmark/results/correctness_of_answers.csv b/benchmark/results/correctness_of_answers.csv deleted file mode 100644 index d2b580f5..00000000 --- a/benchmark/results/correctness_of_answers.csv +++ /dev/null @@ -1 +0,0 @@ -model_name,subtask,score,iterations,md5_hash,datetime diff --git a/benchmark/results/correctness_of_answers_failure_groups.csv b/benchmark/results/correctness_of_answers_failure_groups.csv deleted file mode 100644 index 725df0a1..00000000 --- a/benchmark/results/correctness_of_answers_failure_groups.csv +++ /dev/null @@ -1 +0,0 @@ -model_name,subtask,wrong_answer,expected_answer,failure_groups,md5_hash,datetime diff --git a/benchmark/test_correctness_medical_usecase.py b/benchmark/test_correctness_medical_usecase.py index 065e8758..e9f4546c 100644 --- a/benchmark/test_correctness_medical_usecase.py +++ b/benchmark/test_correctness_medical_usecase.py @@ -7,12 +7,12 @@ from biochatter._misc import ensure_iterable from .conftest import calculate_bool_vector_score from .benchmark_utils import ( - categorize_failures, + categorize_failure_modes, skip_if_already_run, get_result_file_path, write_results_to_file, - get_wrong_result_file_path, - write_wrong_results_to_file, + get_failure_mode_file_path, + write_failure_modes_to_file, ) @@ -31,14 +31,14 @@ def test_correctness_of_answers( skip_if_already_run( model_name=model_name, task=task, md5_hash=yaml_data["hash"] ) - failure_group = "other" - wrong_answer = "" + failure_mode = "other" + actual_answer = "" expected_answer = "" def run_test(): - nonlocal wrong_answer + nonlocal actual_answer nonlocal expected_answer - nonlocal failure_group + nonlocal failure_mode conversation.reset() # needs to be reset for each test [ conversation.append_system_message(m) @@ -58,15 +58,16 @@ def run_test(): # calculate score of correct answers score = [] - # calculate for answers without regex and save response if wrong + # calculate for answers without regex and save response if not exactly + # the same as expected (pretty much impossible for open questions) if "regex" not in yaml_data["case"]: expected_answer = yaml_data["expected"]["answer"] is_correct = response == expected_answer score.append(is_correct) if not is_correct: - wrong_answer = response - failure_group = categorize_failures( - wrong_answer, expected_answer + actual_answer = response + failure_mode = categorize_failure_modes( + actual_answer, expected_answer ) # calculate for answers with regex @@ -80,9 +81,9 @@ def run_test(): score.append(True) else: score.append(False) - wrong_answer = wrong_answer + response - failure_group = categorize_failures( - wrong_answer, expected_answer, True + actual_answer = actual_answer + response + failure_mode = categorize_failure_modes( + actual_answer, expected_answer, True ) return calculate_bool_vector_score(score) @@ -97,13 +98,13 @@ def run_test(): yaml_data["hash"], get_result_file_path(task), ) - if wrong_answer != "": - write_wrong_results_to_file( + if actual_answer != "": + write_failure_modes_to_file( model_name, yaml_data["case"], - wrong_answer, + actual_answer, expected_answer, - failure_group, + failure_mode, yaml_data["hash"], - get_wrong_result_file_path(task), + get_failure_mode_file_path(task), ) From b1125cbf4e7ff24090e4d82855814bb804389605 Mon Sep 17 00:00:00 2001 From: slobentanzer Date: Mon, 10 Jun 2024 19:52:27 +0200 Subject: [PATCH 45/69] record single scores, calculate standard deviation scores concatenated via semicolon and split in `hooks.py` SD calculation also only in `hooks.py` after splitting --- benchmark/conftest.py | 8 +- benchmark/results/processed/correlations.txt | 8 +- .../processed/end_to_end_query_generation.csv | 126 ++-- .../results/processed/entity_selection.csv | 126 ++-- ...explicit_relevance_of_single_fragments.csv | 126 ++-- .../results/processed/extraction_assay.csv | 80 ++- .../results/processed/extraction_chemical.csv | 80 ++- .../results/processed/extraction_context.csv | 80 ++- .../results/processed/extraction_disease.csv | 80 ++- .../results/processed/extraction_entity.csv | 81 ++- .../extraction_experiment_yes_or_no.csv | 80 ++- .../processed/extraction_hypothesis.csv | 80 ++- .../processed/extraction_intervention.csv | 80 ++- .../processed/extraction_ncbi_link.csv | 80 ++- .../processed/extraction_significance.csv | 80 ++- .../results/processed/extraction_stats.csv | 80 ++- ...plicit_relevance_of_multiple_fragments.csv | 126 ++-- .../naive_query_generation_using_schema.csv | 126 ++-- .../results/processed/overview-model.csv | 2 +- .../processed/overview-quantisation.csv | 14 +- benchmark/results/processed/overview.csv | 14 +- .../results/processed/property_exists.csv | 126 ++-- .../results/processed/property_selection.csv | 126 ++-- .../results/processed/query_generation.csv | 126 ++-- .../processed/relationship_selection.csv | 126 ++-- .../processed/sourcedata_info_extraction.csv | 81 ++- .../results/sourcedata_info_extraction.csv | 596 +----------------- ...urcedata_info_extraction_failure_modes.csv | 1 + benchmark/test_biocypher_query_generation.py | 28 +- benchmark/test_correctness_medical_usecase.py | 4 +- benchmark/test_rag_interpretation.py | 8 +- benchmark/test_text_extraction.py | 4 +- docs/images/boxplot-naive-vs-biochatter.pdf | Bin 14497 -> 14497 bytes docs/images/boxplot-naive-vs-biochatter.png | Bin 56088 -> 56088 bytes docs/images/boxplot-per-quantisation.png | Bin 275008 -> 274793 bytes docs/images/boxplot-tasks.png | Bin 78914 -> 78929 bytes docs/images/dotplot-per-task.pdf | Bin 52033 -> 51843 bytes docs/images/dotplot-per-task.png | Bin 2363024 -> 2339799 bytes docs/images/scatter-per-quantisation-name.pdf | Bin 33402 -> 33390 bytes docs/images/scatter-per-quantisation-name.png | Bin 332886 -> 333284 bytes docs/images/scatter-quantisation-accuracy.pdf | Bin 16114 -> 16031 bytes docs/images/scatter-quantisation-accuracy.png | Bin 142228 -> 141605 bytes docs/images/scatter-size-accuracy.pdf | Bin 17280 -> 17186 bytes docs/images/scatter-size-accuracy.png | Bin 143379 -> 143188 bytes docs/images/stripplot-extraction-tasks.png | Bin 1000941 -> 896498 bytes docs/images/stripplot-per-model.png | Bin 105899 -> 106202 bytes docs/images/stripplot-rag-tasks.pdf | Bin 21599 -> 21576 bytes docs/images/stripplot-rag-tasks.png | Bin 265385 -> 264761 bytes docs/scripts/hooks.py | 70 +- 49 files changed, 1109 insertions(+), 1744 deletions(-) create mode 100644 benchmark/results/sourcedata_info_extraction_failure_modes.csv diff --git a/benchmark/conftest.py b/benchmark/conftest.py index c1c49d3b..c7ecf246 100644 --- a/benchmark/conftest.py +++ b/benchmark/conftest.py @@ -14,7 +14,7 @@ from .benchmark_utils import benchmark_already_executed # how often should each benchmark be run? -N_ITERATIONS = 1 +N_ITERATIONS = 2 # which dataset should be used for benchmarking? BENCHMARK_DATASET = get_benchmark_dataset() @@ -270,10 +270,8 @@ def run_multiple_times(test_func, *args, **kwargs): for _ in range(N_ITERATIONS): score, max = test_func(*args, **kwargs) scores.append(score) - mean_score = sum(scores) / N_ITERATIONS - sd_score = np.std(scores) - # TODO return standard deviation with score - return (mean_score, max, N_ITERATIONS) + score_string = ";".join([str(score) for score in scores]) + return (score_string, max, N_ITERATIONS) return run_multiple_times diff --git a/benchmark/results/processed/correlations.txt b/benchmark/results/processed/correlations.txt index eb265130..ee5162f0 100644 --- a/benchmark/results/processed/correlations.txt +++ b/benchmark/results/processed/correlations.txt @@ -1,4 +1,4 @@ -Size vs accuracy Pearson correlation: 0.1542083231219649 -Size vs accuracy Pearson correlation p-value: 0.00014935097092919373 -Quantisation vs accuracy Pearson correlation: 0.1926652752040581 -Quantisation vs accuracy Pearson correlation p-value: 1.9934596522710114e-06 +Size vs accuracy Pearson correlation: 0.1562350938904083 +Size vs accuracy Pearson correlation p-value: 0.0001299824258796109 +Quantisation vs accuracy Pearson correlation: 0.19383891967127698 +Quantisation vs accuracy Pearson correlation p-value: 1.9021715705603582e-06 diff --git a/benchmark/results/processed/end_to_end_query_generation.csv b/benchmark/results/processed/end_to_end_query_generation.csv index 0e8734e3..8aaa9dfe 100644 --- a/benchmark/results/processed/end_to_end_query_generation.csv +++ b/benchmark/results/processed/end_to_end_query_generation.csv @@ -1,63 +1,63 @@ -Full model name,Score achieved,Score possible,Accuracy,Iterations -gpt-3.5-turbo-0125,27.8,30.0,0.9266666666666666,5 -gpt-4-0613,26.4,30.0,0.88,5 -gpt-3.5-turbo-0613,25.0,30.0,0.8333333333333334,5 -chatglm3:6:ggmlv3:q4_0,0.0,30.0,0.0,5 -llama-2-chat:70:ggufv2:Q5_K_M,0.0,30.0,0.0,5 -llama-2-chat:7:ggufv2:Q3_K_M,0.0,30.0,0.0,5 -llama-2-chat:7:ggufv2:Q4_K_M,0.0,30.0,0.0,5 -llama-2-chat:7:ggufv2:Q5_K_M,0.0,30.0,0.0,5 -llama-2-chat:7:ggufv2:Q6_K,0.0,30.0,0.0,5 -llama-2-chat:7:ggufv2:Q8_0,0.0,30.0,0.0,5 -llama-3-instruct:8:ggufv2:Q4_K_M,0.0,30.0,0.0,5 -llama-3-instruct:8:ggufv2:Q5_K_M,0.0,30.0,0.0,5 -llama-3-instruct:8:ggufv2:Q6_K,0.0,30.0,0.0,5 -llama-3-instruct:8:ggufv2:Q8_0,0.0,30.0,0.0,5 -mistral-instruct-v0.2:7:ggufv2:Q2_K,0.0,30.0,0.0,5 -mistral-instruct-v0.2:7:ggufv2:Q3_K_M,0.0,30.0,0.0,5 -mistral-instruct-v0.2:7:ggufv2:Q4_K_M,0.0,30.0,0.0,5 -mistral-instruct-v0.2:7:ggufv2:Q5_K_M,0.0,30.0,0.0,5 -mistral-instruct-v0.2:7:ggufv2:Q6_K,0.0,30.0,0.0,5 -mistral-instruct-v0.2:7:ggufv2:Q8_0,0.0,30.0,0.0,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,0.0,30.0,0.0,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,0.0,30.0,0.0,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,0.0,30.0,0.0,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,0.0,30.0,0.0,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,0.0,30.0,0.0,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,0.0,30.0,0.0,5 -openhermes-2.5:7:ggufv2:Q2_K,0.0,30.0,0.0,5 -openhermes-2.5:7:ggufv2:Q3_K_M,0.0,30.0,0.0,5 -openhermes-2.5:7:ggufv2:Q4_K_M,0.0,30.0,0.0,5 -openhermes-2.5:7:ggufv2:Q5_K_M,0.0,30.0,0.0,5 -openhermes-2.5:7:ggufv2:Q6_K,0.0,30.0,0.0,5 -llama-2-chat:7:ggufv2:Q2_K,0.0,30.0,0.0,5 -llama-2-chat:70:ggufv2:Q3_K_M,0.0,30.0,0.0,5 -llama-2-chat:70:ggufv2:Q4_K_M,0.0,30.0,0.0,5 -code-llama-instruct:7:ggufv2:Q3_K_M,0.0,30.0,0.0,5 -code-llama-instruct:13:ggufv2:Q3_K_M,0.0,30.0,0.0,5 -code-llama-instruct:13:ggufv2:Q4_K_M,0.0,30.0,0.0,5 -code-llama-instruct:13:ggufv2:Q5_K_M,0.0,30.0,0.0,5 -code-llama-instruct:13:ggufv2:Q6_K,0.0,30.0,0.0,5 -code-llama-instruct:13:ggufv2:Q8_0,0.0,30.0,0.0,5 -code-llama-instruct:34:ggufv2:Q2_K,0.0,30.0,0.0,5 -code-llama-instruct:34:ggufv2:Q3_K_M,0.0,30.0,0.0,5 -code-llama-instruct:34:ggufv2:Q4_K_M,0.0,30.0,0.0,5 -code-llama-instruct:34:ggufv2:Q5_K_M,0.0,30.0,0.0,5 -code-llama-instruct:34:ggufv2:Q6_K,0.0,30.0,0.0,5 -code-llama-instruct:34:ggufv2:Q8_0,0.0,30.0,0.0,5 -code-llama-instruct:7:ggufv2:Q2_K,0.0,30.0,0.0,5 -code-llama-instruct:7:ggufv2:Q4_K_M,0.0,30.0,0.0,5 -code-llama-instruct:13:ggufv2:Q2_K,0.0,30.0,0.0,5 -code-llama-instruct:7:ggufv2:Q5_K_M,0.0,30.0,0.0,5 -code-llama-instruct:7:ggufv2:Q6_K,0.0,30.0,0.0,5 -code-llama-instruct:7:ggufv2:Q8_0,0.0,30.0,0.0,5 -gpt-4-0125-preview,0.0,30.0,0.0,5 -gpt-4o-2024-05-13,0.0,30.0,0.0,5 -llama-2-chat:13:ggufv2:Q2_K,0.0,30.0,0.0,5 -llama-2-chat:13:ggufv2:Q3_K_M,0.0,30.0,0.0,5 -llama-2-chat:13:ggufv2:Q4_K_M,0.0,30.0,0.0,5 -llama-2-chat:13:ggufv2:Q5_K_M,0.0,30.0,0.0,5 -llama-2-chat:13:ggufv2:Q6_K,0.0,30.0,0.0,5 -llama-2-chat:13:ggufv2:Q8_0,0.0,30.0,0.0,5 -llama-2-chat:70:ggufv2:Q2_K,0.0,30.0,0.0,5 -openhermes-2.5:7:ggufv2:Q8_0,0.0,30.0,0.0,5 +Full model name,Score achieved,Score possible,Score SD,Accuracy,Iterations +gpt-3.5-turbo-0125,27.8,30.0,0,0.9266666666666666,5 +gpt-4-0613,26.4,30.0,0,0.88,5 +gpt-3.5-turbo-0613,25.0,30.0,0,0.8333333333333334,5 +chatglm3:6:ggmlv3:q4_0,0.0,30.0,0,0.0,5 +llama-2-chat:70:ggufv2:Q5_K_M,0.0,30.0,0,0.0,5 +llama-2-chat:7:ggufv2:Q3_K_M,0.0,30.0,0,0.0,5 +llama-2-chat:7:ggufv2:Q4_K_M,0.0,30.0,0,0.0,5 +llama-2-chat:7:ggufv2:Q5_K_M,0.0,30.0,0,0.0,5 +llama-2-chat:7:ggufv2:Q6_K,0.0,30.0,0,0.0,5 +llama-2-chat:7:ggufv2:Q8_0,0.0,30.0,0,0.0,5 +llama-3-instruct:8:ggufv2:Q4_K_M,0.0,30.0,0,0.0,5 +llama-3-instruct:8:ggufv2:Q5_K_M,0.0,30.0,0,0.0,5 +llama-3-instruct:8:ggufv2:Q6_K,0.0,30.0,0,0.0,5 +llama-3-instruct:8:ggufv2:Q8_0,0.0,30.0,0,0.0,5 +mistral-instruct-v0.2:7:ggufv2:Q2_K,0.0,30.0,0,0.0,5 +mistral-instruct-v0.2:7:ggufv2:Q3_K_M,0.0,30.0,0,0.0,5 +mistral-instruct-v0.2:7:ggufv2:Q4_K_M,0.0,30.0,0,0.0,5 +mistral-instruct-v0.2:7:ggufv2:Q5_K_M,0.0,30.0,0,0.0,5 +mistral-instruct-v0.2:7:ggufv2:Q6_K,0.0,30.0,0,0.0,5 +mistral-instruct-v0.2:7:ggufv2:Q8_0,0.0,30.0,0,0.0,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,0.0,30.0,0,0.0,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,0.0,30.0,0,0.0,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,0.0,30.0,0,0.0,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,0.0,30.0,0,0.0,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,0.0,30.0,0,0.0,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,0.0,30.0,0,0.0,5 +openhermes-2.5:7:ggufv2:Q2_K,0.0,30.0,0,0.0,5 +openhermes-2.5:7:ggufv2:Q3_K_M,0.0,30.0,0,0.0,5 +openhermes-2.5:7:ggufv2:Q4_K_M,0.0,30.0,0,0.0,5 +openhermes-2.5:7:ggufv2:Q5_K_M,0.0,30.0,0,0.0,5 +openhermes-2.5:7:ggufv2:Q6_K,0.0,30.0,0,0.0,5 +llama-2-chat:7:ggufv2:Q2_K,0.0,30.0,0,0.0,5 +llama-2-chat:70:ggufv2:Q3_K_M,0.0,30.0,0,0.0,5 +llama-2-chat:70:ggufv2:Q4_K_M,0.0,30.0,0,0.0,5 +code-llama-instruct:7:ggufv2:Q3_K_M,0.0,30.0,0,0.0,5 +code-llama-instruct:13:ggufv2:Q3_K_M,0.0,30.0,0,0.0,5 +code-llama-instruct:13:ggufv2:Q4_K_M,0.0,30.0,0,0.0,5 +code-llama-instruct:13:ggufv2:Q5_K_M,0.0,30.0,0,0.0,5 +code-llama-instruct:13:ggufv2:Q6_K,0.0,30.0,0,0.0,5 +code-llama-instruct:13:ggufv2:Q8_0,0.0,30.0,0,0.0,5 +code-llama-instruct:34:ggufv2:Q2_K,0.0,30.0,0,0.0,5 +code-llama-instruct:34:ggufv2:Q3_K_M,0.0,30.0,0,0.0,5 +code-llama-instruct:34:ggufv2:Q4_K_M,0.0,30.0,0,0.0,5 +code-llama-instruct:34:ggufv2:Q5_K_M,0.0,30.0,0,0.0,5 +code-llama-instruct:34:ggufv2:Q6_K,0.0,30.0,0,0.0,5 +code-llama-instruct:34:ggufv2:Q8_0,0.0,30.0,0,0.0,5 +code-llama-instruct:7:ggufv2:Q2_K,0.0,30.0,0,0.0,5 +code-llama-instruct:7:ggufv2:Q4_K_M,0.0,30.0,0,0.0,5 +code-llama-instruct:13:ggufv2:Q2_K,0.0,30.0,0,0.0,5 +code-llama-instruct:7:ggufv2:Q5_K_M,0.0,30.0,0,0.0,5 +code-llama-instruct:7:ggufv2:Q6_K,0.0,30.0,0,0.0,5 +code-llama-instruct:7:ggufv2:Q8_0,0.0,30.0,0,0.0,5 +gpt-4-0125-preview,0.0,30.0,0,0.0,5 +gpt-4o-2024-05-13,0.0,30.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q2_K,0.0,30.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q3_K_M,0.0,30.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q4_K_M,0.0,30.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q5_K_M,0.0,30.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q6_K,0.0,30.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q8_0,0.0,30.0,0,0.0,5 +llama-2-chat:70:ggufv2:Q2_K,0.0,30.0,0,0.0,5 +openhermes-2.5:7:ggufv2:Q8_0,0.0,30.0,0,0.0,5 diff --git a/benchmark/results/processed/entity_selection.csv b/benchmark/results/processed/entity_selection.csv index 1bcf8914..895527c0 100644 --- a/benchmark/results/processed/entity_selection.csv +++ b/benchmark/results/processed/entity_selection.csv @@ -1,63 +1,63 @@ -Full model name,Score achieved,Score possible,Accuracy,Iterations -gpt-3.5-turbo-0125,8.0,8.0,1.0,5 -openhermes-2.5:7:ggufv2:Q6_K,8.0,8.0,1.0,5 -openhermes-2.5:7:ggufv2:Q3_K_M,9.0,9.0,1.0,5 -gpt-4o-2024-05-13,8.0,8.0,1.0,5 -openhermes-2.5:7:ggufv2:Q8_0,8.0,9.0,0.8888888888888888,5 -openhermes-2.5:7:ggufv2:Q5_K_M,8.0,9.0,0.8888888888888888,5 -openhermes-2.5:7:ggufv2:Q4_K_M,8.0,9.0,0.8888888888888888,5 -gpt-4-0613,8.0,9.0,0.8888888888888888,5 -gpt-3.5-turbo-0613,8.0,9.0,0.8888888888888888,5 -llama-3-instruct:8:ggufv2:Q8_0,7.0,8.0,0.875,5 -llama-3-instruct:8:ggufv2:Q6_K,7.0,8.0,0.875,5 -llama-3-instruct:8:ggufv2:Q5_K_M,7.0,8.0,0.875,5 -llama-3-instruct:8:ggufv2:Q4_K_M,7.0,8.0,0.875,5 -gpt-4-0125-preview,7.0,9.0,0.7777777777777778,5 -chatglm3:6:ggmlv3:q4_0,6.0,8.0,0.75,5 -openhermes-2.5:7:ggufv2:Q2_K,5.0,9.0,0.5555555555555556,5 -code-llama-instruct:7:ggufv2:Q3_K_M,4.0,8.0,0.5,5 -mistral-instruct-v0.2:7:ggufv2:Q6_K,4.0,8.0,0.5,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,3.8,8.0,0.475,5 -code-llama-instruct:13:ggufv2:Q3_K_M,3.6,8.0,0.45,5 -llama-2-chat:70:ggufv2:Q5_K_M,4.0,9.0,0.4444444444444444,5 -llama-2-chat:7:ggufv2:Q8_0,4.0,9.0,0.4444444444444444,5 -llama-2-chat:70:ggufv2:Q4_K_M,4.0,9.0,0.4444444444444444,5 -llama-2-chat:7:ggufv2:Q4_K_M,4.0,9.0,0.4444444444444444,5 -llama-2-chat:7:ggufv2:Q5_K_M,4.0,9.0,0.4444444444444444,5 -mistral-instruct-v0.2:7:ggufv2:Q5_K_M,4.0,9.0,0.4444444444444444,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,3.8,9.0,0.4222222222222222,5 -llama-2-chat:7:ggufv2:Q6_K,3.0,8.0,0.375,5 -mistral-instruct-v0.2:7:ggufv2:Q3_K_M,3.0,9.0,0.3333333333333333,5 -mistral-instruct-v0.2:7:ggufv2:Q4_K_M,3.0,9.0,0.3333333333333333,5 -llama-2-chat:7:ggufv2:Q3_K_M,3.0,9.0,0.3333333333333333,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,3.0,9.0,0.3333333333333333,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,3.0,9.0,0.3333333333333333,5 -mistral-instruct-v0.2:7:ggufv2:Q8_0,3.0,9.0,0.3333333333333333,5 -code-llama-instruct:7:ggufv2:Q4_K_M,3.0,9.0,0.3333333333333333,5 -llama-2-chat:70:ggufv2:Q3_K_M,3.0,9.0,0.3333333333333333,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,2.8,9.0,0.3111111111111111,5 -code-llama-instruct:7:ggufv2:Q2_K,2.0,8.0,0.25,5 -code-llama-instruct:34:ggufv2:Q8_0,2.0,8.0,0.25,5 -mistral-instruct-v0.2:7:ggufv2:Q2_K,2.0,9.0,0.2222222222222222,5 -code-llama-instruct:34:ggufv2:Q6_K,1.0,8.0,0.125,5 -code-llama-instruct:34:ggufv2:Q5_K_M,1.0,8.0,0.125,5 -code-llama-instruct:7:ggufv2:Q5_K_M,1.0,9.0,0.1111111111111111,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,0.0,9.0,0.0,5 -code-llama-instruct:7:ggufv2:Q6_K,0.0,8.0,0.0,5 -code-llama-instruct:13:ggufv2:Q4_K_M,0.0,8.0,0.0,5 -code-llama-instruct:13:ggufv2:Q5_K_M,0.0,8.0,0.0,5 -code-llama-instruct:13:ggufv2:Q6_K,0.0,8.0,0.0,5 -code-llama-instruct:7:ggufv2:Q8_0,0.0,9.0,0.0,5 -llama-2-chat:7:ggufv2:Q2_K,0.0,9.0,0.0,5 -llama-2-chat:13:ggufv2:Q2_K,0.0,9.0,0.0,5 -code-llama-instruct:13:ggufv2:Q2_K,0.0,8.0,0.0,5 -llama-2-chat:13:ggufv2:Q4_K_M,0.0,9.0,0.0,5 -llama-2-chat:13:ggufv2:Q5_K_M,0.0,9.0,0.0,5 -llama-2-chat:13:ggufv2:Q6_K,0.0,8.0,0.0,5 -code-llama-instruct:13:ggufv2:Q8_0,0.0,8.0,0.0,5 -code-llama-instruct:34:ggufv2:Q2_K,0.0,8.0,0.0,5 -code-llama-instruct:34:ggufv2:Q3_K_M,0.0,8.0,0.0,5 -code-llama-instruct:34:ggufv2:Q4_K_M,0.0,8.0,0.0,5 -llama-2-chat:13:ggufv2:Q8_0,0.0,9.0,0.0,5 -llama-2-chat:70:ggufv2:Q2_K,0.0,9.0,0.0,5 -llama-2-chat:13:ggufv2:Q3_K_M,0.0,9.0,0.0,5 +Full model name,Score achieved,Score possible,Score SD,Accuracy,Iterations +gpt-3.5-turbo-0125,8.0,8.0,0,1.0,5 +openhermes-2.5:7:ggufv2:Q6_K,8.0,8.0,0,1.0,5 +openhermes-2.5:7:ggufv2:Q3_K_M,9.0,9.0,0,1.0,5 +gpt-4o-2024-05-13,8.0,8.0,0,1.0,5 +openhermes-2.5:7:ggufv2:Q8_0,8.0,9.0,0,0.8888888888888888,5 +openhermes-2.5:7:ggufv2:Q5_K_M,8.0,9.0,0,0.8888888888888888,5 +openhermes-2.5:7:ggufv2:Q4_K_M,8.0,9.0,0,0.8888888888888888,5 +gpt-4-0613,8.0,9.0,0,0.8888888888888888,5 +gpt-3.5-turbo-0613,8.0,9.0,0,0.8888888888888888,5 +llama-3-instruct:8:ggufv2:Q8_0,7.0,8.0,0,0.875,5 +llama-3-instruct:8:ggufv2:Q6_K,7.0,8.0,0,0.875,5 +llama-3-instruct:8:ggufv2:Q5_K_M,7.0,8.0,0,0.875,5 +llama-3-instruct:8:ggufv2:Q4_K_M,7.0,8.0,0,0.875,5 +gpt-4-0125-preview,7.0,9.0,0,0.7777777777777778,5 +chatglm3:6:ggmlv3:q4_0,6.0,8.0,0,0.75,5 +openhermes-2.5:7:ggufv2:Q2_K,5.0,9.0,0,0.5555555555555556,5 +code-llama-instruct:7:ggufv2:Q3_K_M,4.0,8.0,0,0.5,5 +mistral-instruct-v0.2:7:ggufv2:Q6_K,4.0,8.0,0,0.5,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,3.8,8.0,0,0.475,5 +code-llama-instruct:13:ggufv2:Q3_K_M,3.6,8.0,0,0.45,5 +llama-2-chat:70:ggufv2:Q5_K_M,4.0,9.0,0,0.4444444444444444,5 +llama-2-chat:7:ggufv2:Q8_0,4.0,9.0,0,0.4444444444444444,5 +llama-2-chat:70:ggufv2:Q4_K_M,4.0,9.0,0,0.4444444444444444,5 +llama-2-chat:7:ggufv2:Q4_K_M,4.0,9.0,0,0.4444444444444444,5 +llama-2-chat:7:ggufv2:Q5_K_M,4.0,9.0,0,0.4444444444444444,5 +mistral-instruct-v0.2:7:ggufv2:Q5_K_M,4.0,9.0,0,0.4444444444444444,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,3.8,9.0,0,0.4222222222222222,5 +llama-2-chat:7:ggufv2:Q6_K,3.0,8.0,0,0.375,5 +mistral-instruct-v0.2:7:ggufv2:Q3_K_M,3.0,9.0,0,0.3333333333333333,5 +mistral-instruct-v0.2:7:ggufv2:Q4_K_M,3.0,9.0,0,0.3333333333333333,5 +llama-2-chat:7:ggufv2:Q3_K_M,3.0,9.0,0,0.3333333333333333,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,3.0,9.0,0,0.3333333333333333,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,3.0,9.0,0,0.3333333333333333,5 +mistral-instruct-v0.2:7:ggufv2:Q8_0,3.0,9.0,0,0.3333333333333333,5 +code-llama-instruct:7:ggufv2:Q4_K_M,3.0,9.0,0,0.3333333333333333,5 +llama-2-chat:70:ggufv2:Q3_K_M,3.0,9.0,0,0.3333333333333333,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,2.8,9.0,0,0.3111111111111111,5 +code-llama-instruct:7:ggufv2:Q2_K,2.0,8.0,0,0.25,5 +code-llama-instruct:34:ggufv2:Q8_0,2.0,8.0,0,0.25,5 +mistral-instruct-v0.2:7:ggufv2:Q2_K,2.0,9.0,0,0.2222222222222222,5 +code-llama-instruct:34:ggufv2:Q6_K,1.0,8.0,0,0.125,5 +code-llama-instruct:34:ggufv2:Q5_K_M,1.0,8.0,0,0.125,5 +code-llama-instruct:7:ggufv2:Q5_K_M,1.0,9.0,0,0.1111111111111111,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,0.0,9.0,0,0.0,5 +code-llama-instruct:7:ggufv2:Q6_K,0.0,8.0,0,0.0,5 +code-llama-instruct:13:ggufv2:Q4_K_M,0.0,8.0,0,0.0,5 +code-llama-instruct:13:ggufv2:Q5_K_M,0.0,8.0,0,0.0,5 +code-llama-instruct:13:ggufv2:Q6_K,0.0,8.0,0,0.0,5 +code-llama-instruct:7:ggufv2:Q8_0,0.0,9.0,0,0.0,5 +llama-2-chat:7:ggufv2:Q2_K,0.0,9.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q2_K,0.0,9.0,0,0.0,5 +code-llama-instruct:13:ggufv2:Q2_K,0.0,8.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q4_K_M,0.0,9.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q5_K_M,0.0,9.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q6_K,0.0,8.0,0,0.0,5 +code-llama-instruct:13:ggufv2:Q8_0,0.0,8.0,0,0.0,5 +code-llama-instruct:34:ggufv2:Q2_K,0.0,8.0,0,0.0,5 +code-llama-instruct:34:ggufv2:Q3_K_M,0.0,8.0,0,0.0,5 +code-llama-instruct:34:ggufv2:Q4_K_M,0.0,8.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q8_0,0.0,9.0,0,0.0,5 +llama-2-chat:70:ggufv2:Q2_K,0.0,9.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q3_K_M,0.0,9.0,0,0.0,5 diff --git a/benchmark/results/processed/explicit_relevance_of_single_fragments.csv b/benchmark/results/processed/explicit_relevance_of_single_fragments.csv index bdb0a4d7..5e8c39d1 100644 --- a/benchmark/results/processed/explicit_relevance_of_single_fragments.csv +++ b/benchmark/results/processed/explicit_relevance_of_single_fragments.csv @@ -1,63 +1,63 @@ -Full model name,Score achieved,Score possible,Accuracy,Iterations -llama-2-chat:70:ggufv2:Q3_K_M,6.0,6.0,1.0,5 -llama-3-instruct:8:ggufv2:Q6_K,6.0,6.0,1.0,5 -llama-2-chat:13:ggufv2:Q8_0,6.0,6.0,1.0,5 -llama-2-chat:70:ggufv2:Q2_K,6.0,6.0,1.0,5 -llama-2-chat:70:ggufv2:Q4_K_M,6.0,6.0,1.0,5 -llama-2-chat:70:ggufv2:Q5_K_M,6.0,6.0,1.0,5 -llama-2-chat:7:ggufv2:Q3_K_M,6.0,6.0,1.0,5 -llama-2-chat:7:ggufv2:Q4_K_M,6.0,6.0,1.0,5 -llama-2-chat:7:ggufv2:Q5_K_M,6.0,6.0,1.0,5 -llama-2-chat:7:ggufv2:Q6_K,6.0,6.0,1.0,5 -llama-2-chat:7:ggufv2:Q8_0,6.0,6.0,1.0,5 -llama-3-instruct:8:ggufv2:Q4_K_M,6.0,6.0,1.0,5 -llama-3-instruct:8:ggufv2:Q5_K_M,6.0,6.0,1.0,5 -llama-3-instruct:8:ggufv2:Q8_0,6.0,6.0,1.0,5 -llama-2-chat:13:ggufv2:Q5_K_M,6.0,6.0,1.0,5 -mistral-instruct-v0.2:7:ggufv2:Q2_K,6.0,6.0,1.0,5 -mistral-instruct-v0.2:7:ggufv2:Q3_K_M,6.0,6.0,1.0,5 -mistral-instruct-v0.2:7:ggufv2:Q4_K_M,6.0,6.0,1.0,5 -mistral-instruct-v0.2:7:ggufv2:Q5_K_M,6.0,6.0,1.0,5 -mistral-instruct-v0.2:7:ggufv2:Q6_K,6.0,6.0,1.0,5 -mistral-instruct-v0.2:7:ggufv2:Q8_0,6.0,6.0,1.0,5 -openhermes-2.5:7:ggufv2:Q2_K,6.0,6.0,1.0,5 -openhermes-2.5:7:ggufv2:Q3_K_M,6.0,6.0,1.0,5 -openhermes-2.5:7:ggufv2:Q4_K_M,6.0,6.0,1.0,5 -openhermes-2.5:7:ggufv2:Q5_K_M,6.0,6.0,1.0,5 -openhermes-2.5:7:ggufv2:Q6_K,6.0,6.0,1.0,5 -llama-2-chat:13:ggufv2:Q6_K,6.0,6.0,1.0,5 -openhermes-2.5:7:ggufv2:Q8_0,6.0,6.0,1.0,5 -llama-2-chat:13:ggufv2:Q4_K_M,6.0,6.0,1.0,5 -llama-2-chat:13:ggufv2:Q3_K_M,6.0,6.0,1.0,5 -llama-2-chat:13:ggufv2:Q2_K,6.0,6.0,1.0,5 -gpt-4o-2024-05-13,6.0,6.0,1.0,5 -gpt-4-0613,6.0,6.0,1.0,5 -gpt-4-0125-preview,6.0,6.0,1.0,5 -gpt-3.5-turbo-0613,6.0,6.0,1.0,5 -gpt-3.5-turbo-0125,6.0,6.0,1.0,5 -code-llama-instruct:7:ggufv2:Q8_0,6.0,6.0,1.0,5 -code-llama-instruct:7:ggufv2:Q4_K_M,6.0,6.0,1.0,5 -code-llama-instruct:13:ggufv2:Q6_K,5.0,6.0,0.8333333333333334,5 -llama-2-chat:7:ggufv2:Q2_K,5.0,6.0,0.8333333333333334,5 -code-llama-instruct:7:ggufv2:Q6_K,5.0,6.0,0.8333333333333334,5 -code-llama-instruct:7:ggufv2:Q5_K_M,5.0,6.0,0.8333333333333334,5 -code-llama-instruct:7:ggufv2:Q3_K_M,5.0,6.0,0.8333333333333334,5 -code-llama-instruct:13:ggufv2:Q8_0,5.0,6.0,0.8333333333333334,5 -chatglm3:6:ggmlv3:q4_0,4.4,6.0,0.7333333333333334,5 -code-llama-instruct:13:ggufv2:Q5_K_M,4.0,6.0,0.6666666666666666,5 -code-llama-instruct:34:ggufv2:Q4_K_M,3.0,6.0,0.5,5 -code-llama-instruct:34:ggufv2:Q3_K_M,3.0,6.0,0.5,5 -code-llama-instruct:34:ggufv2:Q2_K,3.0,6.0,0.5,5 -code-llama-instruct:34:ggufv2:Q8_0,2.0,6.0,0.3333333333333333,5 -code-llama-instruct:34:ggufv2:Q5_K_M,2.0,6.0,0.3333333333333333,5 -code-llama-instruct:13:ggufv2:Q4_K_M,2.0,6.0,0.3333333333333333,5 -code-llama-instruct:7:ggufv2:Q2_K,2.0,6.0,0.3333333333333333,5 -code-llama-instruct:34:ggufv2:Q6_K,2.0,6.0,0.3333333333333333,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,2.0,6.0,0.3333333333333333,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,1.0,6.0,0.16666666666666666,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,0.8,6.0,0.13333333333333333,5 -code-llama-instruct:13:ggufv2:Q2_K,0.2,6.0,0.03333333333333333,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,0.0,6.0,0.0,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,0.0,6.0,0.0,5 -code-llama-instruct:13:ggufv2:Q3_K_M,0.0,6.0,0.0,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,0.0,6.0,0.0,5 +Full model name,Score achieved,Score possible,Score SD,Accuracy,Iterations +llama-2-chat:70:ggufv2:Q3_K_M,6.0,6.0,0,1.0,5 +llama-3-instruct:8:ggufv2:Q6_K,6.0,6.0,0,1.0,5 +llama-2-chat:13:ggufv2:Q8_0,6.0,6.0,0,1.0,5 +llama-2-chat:70:ggufv2:Q2_K,6.0,6.0,0,1.0,5 +llama-2-chat:70:ggufv2:Q4_K_M,6.0,6.0,0,1.0,5 +llama-2-chat:70:ggufv2:Q5_K_M,6.0,6.0,0,1.0,5 +llama-2-chat:7:ggufv2:Q3_K_M,6.0,6.0,0,1.0,5 +llama-2-chat:7:ggufv2:Q4_K_M,6.0,6.0,0,1.0,5 +llama-2-chat:7:ggufv2:Q5_K_M,6.0,6.0,0,1.0,5 +llama-2-chat:7:ggufv2:Q6_K,6.0,6.0,0,1.0,5 +llama-2-chat:7:ggufv2:Q8_0,6.0,6.0,0,1.0,5 +llama-3-instruct:8:ggufv2:Q4_K_M,6.0,6.0,0,1.0,5 +llama-3-instruct:8:ggufv2:Q5_K_M,6.0,6.0,0,1.0,5 +llama-3-instruct:8:ggufv2:Q8_0,6.0,6.0,0,1.0,5 +llama-2-chat:13:ggufv2:Q5_K_M,6.0,6.0,0,1.0,5 +mistral-instruct-v0.2:7:ggufv2:Q2_K,6.0,6.0,0,1.0,5 +mistral-instruct-v0.2:7:ggufv2:Q3_K_M,6.0,6.0,0,1.0,5 +mistral-instruct-v0.2:7:ggufv2:Q4_K_M,6.0,6.0,0,1.0,5 +mistral-instruct-v0.2:7:ggufv2:Q5_K_M,6.0,6.0,0,1.0,5 +mistral-instruct-v0.2:7:ggufv2:Q6_K,6.0,6.0,0,1.0,5 +mistral-instruct-v0.2:7:ggufv2:Q8_0,6.0,6.0,0,1.0,5 +openhermes-2.5:7:ggufv2:Q2_K,6.0,6.0,0,1.0,5 +openhermes-2.5:7:ggufv2:Q3_K_M,6.0,6.0,0,1.0,5 +openhermes-2.5:7:ggufv2:Q4_K_M,6.0,6.0,0,1.0,5 +openhermes-2.5:7:ggufv2:Q5_K_M,6.0,6.0,0,1.0,5 +openhermes-2.5:7:ggufv2:Q6_K,6.0,6.0,0,1.0,5 +llama-2-chat:13:ggufv2:Q6_K,6.0,6.0,0,1.0,5 +openhermes-2.5:7:ggufv2:Q8_0,6.0,6.0,0,1.0,5 +llama-2-chat:13:ggufv2:Q4_K_M,6.0,6.0,0,1.0,5 +llama-2-chat:13:ggufv2:Q3_K_M,6.0,6.0,0,1.0,5 +llama-2-chat:13:ggufv2:Q2_K,6.0,6.0,0,1.0,5 +gpt-4o-2024-05-13,6.0,6.0,0,1.0,5 +gpt-4-0613,6.0,6.0,0,1.0,5 +gpt-4-0125-preview,6.0,6.0,0,1.0,5 +gpt-3.5-turbo-0613,6.0,6.0,0,1.0,5 +gpt-3.5-turbo-0125,6.0,6.0,0,1.0,5 +code-llama-instruct:7:ggufv2:Q8_0,6.0,6.0,0,1.0,5 +code-llama-instruct:7:ggufv2:Q4_K_M,6.0,6.0,0,1.0,5 +code-llama-instruct:13:ggufv2:Q6_K,5.0,6.0,0,0.8333333333333334,5 +llama-2-chat:7:ggufv2:Q2_K,5.0,6.0,0,0.8333333333333334,5 +code-llama-instruct:7:ggufv2:Q6_K,5.0,6.0,0,0.8333333333333334,5 +code-llama-instruct:7:ggufv2:Q5_K_M,5.0,6.0,0,0.8333333333333334,5 +code-llama-instruct:7:ggufv2:Q3_K_M,5.0,6.0,0,0.8333333333333334,5 +code-llama-instruct:13:ggufv2:Q8_0,5.0,6.0,0,0.8333333333333334,5 +chatglm3:6:ggmlv3:q4_0,4.4,6.0,0,0.7333333333333334,5 +code-llama-instruct:13:ggufv2:Q5_K_M,4.0,6.0,0,0.6666666666666666,5 +code-llama-instruct:34:ggufv2:Q4_K_M,3.0,6.0,0,0.5,5 +code-llama-instruct:34:ggufv2:Q3_K_M,3.0,6.0,0,0.5,5 +code-llama-instruct:34:ggufv2:Q2_K,3.0,6.0,0,0.5,5 +code-llama-instruct:34:ggufv2:Q8_0,2.0,6.0,0,0.3333333333333333,5 +code-llama-instruct:34:ggufv2:Q5_K_M,2.0,6.0,0,0.3333333333333333,5 +code-llama-instruct:13:ggufv2:Q4_K_M,2.0,6.0,0,0.3333333333333333,5 +code-llama-instruct:7:ggufv2:Q2_K,2.0,6.0,0,0.3333333333333333,5 +code-llama-instruct:34:ggufv2:Q6_K,2.0,6.0,0,0.3333333333333333,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,2.0,6.0,0,0.3333333333333333,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,1.0,6.0,0,0.16666666666666666,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,0.8,6.0,0,0.13333333333333333,5 +code-llama-instruct:13:ggufv2:Q2_K,0.2,6.0,0,0.03333333333333333,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,0.0,6.0,0,0.0,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,0.0,6.0,0,0.0,5 +code-llama-instruct:13:ggufv2:Q3_K_M,0.0,6.0,0,0.0,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,0.0,6.0,0,0.0,5 diff --git a/benchmark/results/processed/extraction_assay.csv b/benchmark/results/processed/extraction_assay.csv index f933ba69..5660527f 100644 --- a/benchmark/results/processed/extraction_assay.csv +++ b/benchmark/results/processed/extraction_assay.csv @@ -1,43 +1,37 @@ -Full model name,Subtask,Score achieved,Score possible,Accuracy,Iterations -gpt-4o-2024-05-13,assay,6.673073593073593,9.0,0.7414526214526215,5 -gpt-4-0125-preview,assay,6.602641802641802,9.0,0.7336268669602002,5 -openhermes-2.5:7:ggufv2:Q6_K,assay,6.4535353535353535,9.0,0.7170594837261504,5 -mistral-instruct-v0.2:7:ggufv2:Q3_K_M,assay,6.421562986369853,9.0,0.7135069984855392,5 -openhermes-2.5:7:ggufv2:Q8_0,assay,6.2414141414141415,9.0,0.6934904601571268,5 -mistral-instruct-v0.2:7:ggufv2:Q8_0,assay,5.866200466200466,9.0,0.6518000518000517,5 -mistral-instruct-v0.2:7:ggufv2:Q2_K,assay,5.841649341649342,9.0,0.6490721490721492,5 -mistral-instruct-v0.2:7:ggufv2:Q6_K,assay,5.832722832722832,9.0,0.6480803147469814,5 -openhermes-2.5:7:ggufv2:Q5_K_M,assay,5.774747474747475,9.0,0.641638608305275,5 -mistral-instruct-v0.2:7:ggufv2:Q4_K_M,assay,5.724211735976442,9.0,0.6360235262196047,5 -gpt-3.5-turbo-0613,assay,5.717171717171717,9.0,0.6352413019079686,5 -mistral-instruct-v0.2:7:ggufv2:Q5_K_M,assay,5.660844581774814,9.0,0.6289827313083127,5 -gpt-3.5-turbo-0125,assay,5.483244206773619,9.0,0.6092493563081799,5 -gpt-4-0613,assay,5.47237639553429,9.0,0.6080418217260323,5 -openhermes-2.5:7:ggufv2:Q4_K_M,assay,5.404732049559636,9.0,0.600525783284404,5 -openhermes-2.5:7:ggufv2:Q3_K_M,assay,4.993293054771316,9.0,0.5548103394190351,5 -openhermes-2.5:7:ggufv2:Q2_K,assay,4.356890331890332,9.0,0.48409892576559244,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,assay,3.1754259304908654,9.0,0.35282510338787393,5 -llama-2-chat:70:ggufv2:Q4_K_M,assay,1.850895834676892,9.0,0.20565509274187688,5 -llama-2-chat:70:ggufv2:Q5_K_M,assay,1.8184386657888962,9.0,0.20204874064321068,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,assay,1.6841937120145838,9.0,0.18713263466828708,5 -chatglm3:6:ggmlv3:q4_0,assay,1.6167198512690701,9.0,0.17963553902989668,5 -code-llama-instruct:7:ggufv2:Q4_K_M,assay,1.537777777777778,9.0,0.1708641975308642,5 -llama-3-instruct:8:ggufv2:Q6_K,assay,1.4810308738880167,9.0,0.16455898598755742,5 -llama-3-instruct:8:ggufv2:Q8_0,assay,1.3708822923108637,9.0,0.15232025470120708,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,assay,1.1632723199560822,9.0,0.12925247999512024,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,assay,1.1592561785121616,9.0,0.12880624205690683,5 -llama-2-chat:70:ggufv2:Q2_K,assay,1.1509544548608548,9.0,0.12788382831787276,5 -llama-2-chat:70:ggufv2:Q3_K_M,assay,1.0778833336153588,9.0,0.11976481484615098,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,assay,1.053469154805127,9.0,0.11705212831168077,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,assay,1.029088605731717,9.0,0.11434317841463522,5 -llama-2-chat:13:ggufv2:Q2_K,assay,0.9744409046661863,9.0,0.10827121162957626,5 -llama-3-instruct:8:ggufv2:Q5_K_M,assay,0.9227064915034839,9.0,0.1025229435003871,5 -llama-2-chat:7:ggufv2:Q5_K_M,assay,0.9192592592592593,9.0,0.10213991769547326,5 -llama-2-chat:13:ggufv2:Q5_K_M,assay,0.8363486769132731,9.0,0.09292763076814145,5 -llama-2-chat:13:ggufv2:Q8_0,assay,0.7563022941970311,9.0,0.08403358824411457,5 -llama-2-chat:13:ggufv2:Q3_K_M,assay,0.7505568291135255,9.0,0.08339520323483617,5 -llama-2-chat:13:ggufv2:Q4_K_M,assay,0.647223087245539,9.0,0.07191367636061545,5 -llama-2-chat:7:ggufv2:Q4_K_M,assay,0.6047993567815865,9.0,0.06719992853128738,5 -llama-3-instruct:8:ggufv2:Q4_K_M,assay,0.5222726775358355,9.0,0.058030297503981726,5 -llama-2-chat:7:ggufv2:Q3_K_M,assay,0.4556989247311828,9.0,0.05063321385902031,5 -llama-2-chat:7:ggufv2:Q2_K,assay,0.23382370530829094,9.0,0.025980411700921215,5 +Full model name,Subtask,Score achieved,Score possible,Score SD,Accuracy,Iterations +gpt-4o-2024-05-13,assay,6.673073593073593,9.0,0.0,0.7414526214526215,5 +gpt-4-0125-preview,assay,6.602641802641802,9.0,0.0,0.7336268669602002,5 +mistral-instruct-v0.2:7:ggufv2:Q3_K_M,assay,6.421562986369853,9.0,0.0,0.7135069984855392,5 +mistral-instruct-v0.2:7:ggufv2:Q8_0,assay,5.866200466200466,9.0,0.0,0.6518000518000517,5 +mistral-instruct-v0.2:7:ggufv2:Q2_K,assay,5.841649341649342,9.0,0.0,0.6490721490721492,5 +mistral-instruct-v0.2:7:ggufv2:Q6_K,assay,5.832722832722832,9.0,0.0,0.6480803147469814,5 +mistral-instruct-v0.2:7:ggufv2:Q4_K_M,assay,5.724211735976442,9.0,0.0,0.6360235262196047,5 +gpt-3.5-turbo-0613,assay,5.717171717171717,9.0,0.0,0.6352413019079686,5 +mistral-instruct-v0.2:7:ggufv2:Q5_K_M,assay,5.660844581774814,9.0,0.0,0.6289827313083127,5 +gpt-3.5-turbo-0125,assay,5.483244206773619,9.0,0.0,0.6092493563081799,5 +gpt-4-0613,assay,5.47237639553429,9.0,0.0,0.6080418217260323,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,assay,3.1754259304908654,9.0,0.0,0.35282510338787393,5 +llama-2-chat:70:ggufv2:Q4_K_M,assay,1.850895834676892,9.0,0.0,0.20565509274187688,5 +llama-2-chat:70:ggufv2:Q5_K_M,assay,1.8184386657888962,9.0,0.0,0.20204874064321068,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,assay,1.6841937120145838,9.0,0.0,0.18713263466828708,5 +chatglm3:6:ggmlv3:q4_0,assay,1.6167198512690701,9.0,0.0,0.17963553902989668,5 +code-llama-instruct:7:ggufv2:Q4_K_M,assay,1.537777777777778,9.0,0.0,0.1708641975308642,5 +llama-3-instruct:8:ggufv2:Q6_K,assay,1.4810308738880167,9.0,0.0,0.16455898598755742,5 +llama-3-instruct:8:ggufv2:Q8_0,assay,1.3708822923108637,9.0,0.0,0.15232025470120708,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,assay,1.1632723199560822,9.0,0.0,0.12925247999512024,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,assay,1.1592561785121616,9.0,0.0,0.12880624205690683,5 +llama-2-chat:70:ggufv2:Q2_K,assay,1.1509544548608548,9.0,0.0,0.12788382831787276,5 +llama-2-chat:70:ggufv2:Q3_K_M,assay,1.0778833336153588,9.0,0.0,0.11976481484615098,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,assay,1.053469154805127,9.0,0.0,0.11705212831168077,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,assay,1.029088605731717,9.0,0.0,0.11434317841463522,5 +llama-2-chat:13:ggufv2:Q2_K,assay,0.9744409046661863,9.0,0.0,0.10827121162957626,5 +llama-3-instruct:8:ggufv2:Q5_K_M,assay,0.9227064915034839,9.0,0.0,0.1025229435003871,5 +llama-2-chat:7:ggufv2:Q5_K_M,assay,0.9192592592592593,9.0,0.0,0.10213991769547326,5 +llama-2-chat:13:ggufv2:Q5_K_M,assay,0.8363486769132731,9.0,0.0,0.09292763076814145,5 +llama-2-chat:13:ggufv2:Q8_0,assay,0.7563022941970311,9.0,0.0,0.08403358824411457,5 +llama-2-chat:13:ggufv2:Q3_K_M,assay,0.7505568291135255,9.0,0.0,0.08339520323483617,5 +llama-2-chat:13:ggufv2:Q4_K_M,assay,0.647223087245539,9.0,0.0,0.07191367636061545,5 +llama-2-chat:7:ggufv2:Q4_K_M,assay,0.6047993567815865,9.0,0.0,0.06719992853128738,5 +llama-3-instruct:8:ggufv2:Q4_K_M,assay,0.5222726775358355,9.0,0.0,0.058030297503981726,5 +llama-2-chat:7:ggufv2:Q3_K_M,assay,0.4556989247311828,9.0,0.0,0.05063321385902031,5 +llama-2-chat:7:ggufv2:Q2_K,assay,0.23382370530829094,9.0,0.0,0.025980411700921215,5 diff --git a/benchmark/results/processed/extraction_chemical.csv b/benchmark/results/processed/extraction_chemical.csv index cc4349a9..a6fb1e08 100644 --- a/benchmark/results/processed/extraction_chemical.csv +++ b/benchmark/results/processed/extraction_chemical.csv @@ -1,43 +1,37 @@ -Full model name,Subtask,Score achieved,Score possible,Accuracy,Iterations -gpt-4-0613,chemical,6.388888888888889,9.0,0.7098765432098766,5 -gpt-4-0125-preview,chemical,6.222222222222222,9.0,0.691358024691358,5 -openhermes-2.5:7:ggufv2:Q6_K,chemical,6.166666666666667,9.0,0.6851851851851852,5 -gpt-4o-2024-05-13,chemical,5.555555555555555,9.0,0.6172839506172839,5 -gpt-3.5-turbo-0613,chemical,5.444444444444445,9.0,0.6049382716049383,5 -openhermes-2.5:7:ggufv2:Q3_K_M,chemical,5.233091787439614,9.0,0.581454643048846,5 -openhermes-2.5:7:ggufv2:Q8_0,chemical,5.166666666666667,9.0,0.5740740740740741,5 -openhermes-2.5:7:ggufv2:Q5_K_M,chemical,5.066666666666666,9.0,0.5629629629629629,5 -gpt-3.5-turbo-0125,chemical,5.064444444444445,9.0,0.5627160493827161,5 -openhermes-2.5:7:ggufv2:Q4_K_M,chemical,4.955555555555556,9.0,0.5506172839506173,5 -openhermes-2.5:7:ggufv2:Q2_K,chemical,4.666666666666666,9.0,0.5185185185185185,5 -mistral-instruct-v0.2:7:ggufv2:Q5_K_M,chemical,4.023323324509765,9.0,0.44703592494552946,5 -mistral-instruct-v0.2:7:ggufv2:Q3_K_M,chemical,3.6982448407132837,9.0,0.41091609341258706,5 -mistral-instruct-v0.2:7:ggufv2:Q6_K,chemical,3.558802308802309,9.0,0.3954224787558121,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,chemical,3.231746031746032,9.0,0.35908289241622576,5 -mistral-instruct-v0.2:7:ggufv2:Q2_K,chemical,2.9648008911166808,9.0,0.3294223212351868,5 -mistral-instruct-v0.2:7:ggufv2:Q4_K_M,chemical,2.8592632749513482,9.0,0.3176959194390387,5 -mistral-instruct-v0.2:7:ggufv2:Q8_0,chemical,2.8021413110698825,9.0,0.3113490345633203,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,chemical,2.288387147059708,9.0,0.2542652385621898,5 -llama-3-instruct:8:ggufv2:Q6_K,chemical,1.9925925925925927,9.0,0.22139917695473252,5 -llama-3-instruct:8:ggufv2:Q5_K_M,chemical,1.9845117845117846,9.0,0.2205013093901983,5 -llama-3-instruct:8:ggufv2:Q8_0,chemical,1.9845117845117846,9.0,0.2205013093901983,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,chemical,1.9268708406662942,9.0,0.2140967600740327,5 -llama-2-chat:70:ggufv2:Q2_K,chemical,1.9240307745782197,9.0,0.21378119717535773,5 -llama-2-chat:70:ggufv2:Q4_K_M,chemical,1.8659366473319963,9.0,0.20732629414799958,5 -llama-2-chat:70:ggufv2:Q5_K_M,chemical,1.7972027972027973,9.0,0.1996891996891997,5 -llama-2-chat:70:ggufv2:Q3_K_M,chemical,1.654167859715305,9.0,0.1837964288572561,5 -llama-2-chat:13:ggufv2:Q4_K_M,chemical,1.6088501452885013,9.0,0.17876112725427792,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,chemical,1.37177969361964,9.0,0.15241996595773777,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,chemical,1.0247327948928762,9.0,0.1138591994325418,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,chemical,0.9938956265833743,9.0,0.11043284739815269,5 -llama-3-instruct:8:ggufv2:Q4_K_M,chemical,0.920791108205296,9.0,0.10231012313392178,5 -chatglm3:6:ggmlv3:q4_0,chemical,0.8392930574865726,9.0,0.09325478416517473,5 -llama-2-chat:7:ggufv2:Q5_K_M,chemical,0.580952380952381,9.0,0.06455026455026455,5 -llama-2-chat:13:ggufv2:Q5_K_M,chemical,0.47397754611066556,9.0,0.05266417179007395,5 -llama-2-chat:13:ggufv2:Q8_0,chemical,0.47397754611066556,9.0,0.05266417179007395,5 -llama-2-chat:13:ggufv2:Q3_K_M,chemical,0.447004222503315,9.0,0.049667135833701664,5 -code-llama-instruct:7:ggufv2:Q4_K_M,chemical,0.4418901660280971,9.0,0.049098907336455236,5 -llama-2-chat:13:ggufv2:Q2_K,chemical,0.42911786937479424,9.0,0.047679763263866026,5 -llama-2-chat:7:ggufv2:Q4_K_M,chemical,0.4167017026246235,9.0,0.04630018918051373,5 -llama-2-chat:7:ggufv2:Q3_K_M,chemical,0.2701509872241579,9.0,0.03001677635823977,5 -llama-2-chat:7:ggufv2:Q2_K,chemical,0.2649429813608918,9.0,0.029438109040099088,5 +Full model name,Subtask,Score achieved,Score possible,Score SD,Accuracy,Iterations +gpt-4-0613,chemical,6.388888888888889,9.0,0.0,0.7098765432098766,5 +gpt-4-0125-preview,chemical,6.222222222222222,9.0,0.0,0.691358024691358,5 +gpt-4o-2024-05-13,chemical,5.555555555555555,9.0,0.0,0.6172839506172839,5 +gpt-3.5-turbo-0613,chemical,5.444444444444445,9.0,0.0,0.6049382716049383,5 +gpt-3.5-turbo-0125,chemical,5.064444444444445,9.0,0.0,0.5627160493827161,5 +mistral-instruct-v0.2:7:ggufv2:Q5_K_M,chemical,4.023323324509765,9.0,0.0,0.44703592494552946,5 +mistral-instruct-v0.2:7:ggufv2:Q3_K_M,chemical,3.6982448407132837,9.0,0.0,0.41091609341258706,5 +mistral-instruct-v0.2:7:ggufv2:Q6_K,chemical,3.558802308802309,9.0,0.0,0.3954224787558121,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,chemical,3.231746031746032,9.0,0.0,0.35908289241622576,5 +mistral-instruct-v0.2:7:ggufv2:Q2_K,chemical,2.9648008911166808,9.0,0.0,0.3294223212351868,5 +mistral-instruct-v0.2:7:ggufv2:Q4_K_M,chemical,2.8592632749513482,9.0,0.0,0.3176959194390387,5 +mistral-instruct-v0.2:7:ggufv2:Q8_0,chemical,2.8021413110698825,9.0,0.0,0.3113490345633203,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,chemical,2.288387147059708,9.0,0.0,0.2542652385621898,5 +llama-3-instruct:8:ggufv2:Q6_K,chemical,1.9925925925925927,9.0,0.0,0.22139917695473252,5 +llama-3-instruct:8:ggufv2:Q8_0,chemical,1.9845117845117846,9.0,0.0,0.2205013093901983,5 +llama-3-instruct:8:ggufv2:Q5_K_M,chemical,1.9845117845117846,9.0,0.0,0.2205013093901983,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,chemical,1.9268708406662942,9.0,0.0,0.2140967600740327,5 +llama-2-chat:70:ggufv2:Q2_K,chemical,1.9240307745782197,9.0,0.0,0.21378119717535773,5 +llama-2-chat:70:ggufv2:Q4_K_M,chemical,1.8659366473319963,9.0,0.0,0.20732629414799958,5 +llama-2-chat:70:ggufv2:Q5_K_M,chemical,1.7972027972027973,9.0,0.0,0.1996891996891997,5 +llama-2-chat:70:ggufv2:Q3_K_M,chemical,1.654167859715305,9.0,0.0,0.1837964288572561,5 +llama-2-chat:13:ggufv2:Q4_K_M,chemical,1.6088501452885013,9.0,0.0,0.17876112725427792,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,chemical,1.37177969361964,9.0,0.0,0.15241996595773777,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,chemical,1.0247327948928762,9.0,0.0,0.1138591994325418,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,chemical,0.9938956265833743,9.0,0.0,0.11043284739815269,5 +llama-3-instruct:8:ggufv2:Q4_K_M,chemical,0.920791108205296,9.0,0.0,0.10231012313392178,5 +chatglm3:6:ggmlv3:q4_0,chemical,0.8392930574865726,9.0,0.0,0.09325478416517473,5 +llama-2-chat:7:ggufv2:Q5_K_M,chemical,0.580952380952381,9.0,0.0,0.06455026455026455,5 +llama-2-chat:13:ggufv2:Q8_0,chemical,0.47397754611066556,9.0,0.0,0.05266417179007395,5 +llama-2-chat:13:ggufv2:Q5_K_M,chemical,0.47397754611066556,9.0,0.0,0.05266417179007395,5 +llama-2-chat:13:ggufv2:Q3_K_M,chemical,0.447004222503315,9.0,0.0,0.049667135833701664,5 +code-llama-instruct:7:ggufv2:Q4_K_M,chemical,0.4418901660280971,9.0,0.0,0.049098907336455236,5 +llama-2-chat:13:ggufv2:Q2_K,chemical,0.42911786937479424,9.0,0.0,0.047679763263866026,5 +llama-2-chat:7:ggufv2:Q4_K_M,chemical,0.4167017026246235,9.0,0.0,0.04630018918051373,5 +llama-2-chat:7:ggufv2:Q3_K_M,chemical,0.2701509872241579,9.0,0.0,0.03001677635823977,5 +llama-2-chat:7:ggufv2:Q2_K,chemical,0.2649429813608918,9.0,0.0,0.029438109040099088,5 diff --git a/benchmark/results/processed/extraction_context.csv b/benchmark/results/processed/extraction_context.csv index ad0aa1b4..01a217d8 100644 --- a/benchmark/results/processed/extraction_context.csv +++ b/benchmark/results/processed/extraction_context.csv @@ -1,43 +1,37 @@ -Full model name,Subtask,Score achieved,Score possible,Accuracy,Iterations -gpt-4-0613,context,7.9066286955899665,9.0,0.8785142995099963,5 -gpt-4-0125-preview,context,7.852526840634657,9.0,0.8725029822927397,5 -gpt-4o-2024-05-13,context,7.8296500008341265,9.0,0.8699611112037918,5 -gpt-3.5-turbo-0125,context,6.892469269171475,9.0,0.7658299187968305,5 -openhermes-2.5:7:ggufv2:Q4_K_M,context,6.890545812069671,9.0,0.7656162013410746,5 -openhermes-2.5:7:ggufv2:Q6_K,context,6.7998911465892595,9.0,0.75554346073214,5 -openhermes-2.5:7:ggufv2:Q3_K_M,context,6.772712292356359,9.0,0.7525235880395954,5 -openhermes-2.5:7:ggufv2:Q8_0,context,6.677492956544011,9.0,0.7419436618382235,5 -gpt-3.5-turbo-0613,context,6.504724288106235,9.0,0.722747143122915,5 -openhermes-2.5:7:ggufv2:Q5_K_M,context,6.447693911327509,9.0,0.7164104345919454,5 -mistral-instruct-v0.2:7:ggufv2:Q8_0,context,5.1675402838156606,9.0,0.5741711426461845,5 -mistral-instruct-v0.2:7:ggufv2:Q5_K_M,context,5.125993745609519,9.0,0.5695548606232799,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,context,5.028443149414303,9.0,0.5587159054904781,5 -mistral-instruct-v0.2:7:ggufv2:Q6_K,context,5.015802962871023,9.0,0.5573114403190025,5 -mistral-instruct-v0.2:7:ggufv2:Q2_K,context,4.993618461701055,9.0,0.5548464957445617,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,context,4.5131432560655735,9.0,0.5014603617850637,5 -llama-2-chat:70:ggufv2:Q3_K_M,context,4.223320462233215,9.0,0.46925782913702385,5 -llama-2-chat:70:ggufv2:Q4_K_M,context,4.102843431479814,9.0,0.455871492386646,5 -llama-2-chat:70:ggufv2:Q2_K,context,4.089792058375472,9.0,0.45442133981949684,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,context,4.063184785079324,9.0,0.45146497611992487,5 -mistral-instruct-v0.2:7:ggufv2:Q4_K_M,context,4.011171998461201,9.0,0.4456857776068001,5 -mistral-instruct-v0.2:7:ggufv2:Q3_K_M,context,3.9098205855378256,9.0,0.43442450950420286,5 -openhermes-2.5:7:ggufv2:Q2_K,context,3.868972771294753,9.0,0.42988586347719476,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,context,3.794155209972813,9.0,0.4215728011080903,5 -llama-2-chat:70:ggufv2:Q5_K_M,context,3.74590965202609,9.0,0.41621218355845446,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,context,3.70125778870553,9.0,0.4112508654117255,5 -code-llama-instruct:7:ggufv2:Q4_K_M,context,3.3265667121567946,9.0,0.3696185235729772,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,context,3.145198436368636,9.0,0.34946649292984844,5 -chatglm3:6:ggmlv3:q4_0,context,2.8563592524507615,9.0,0.31737325027230684,5 -llama-2-chat:7:ggufv2:Q3_K_M,context,2.1085650159513922,9.0,0.2342850017723769,5 -llama-2-chat:7:ggufv2:Q4_K_M,context,1.8960518045585364,9.0,0.21067242272872627,5 -llama-2-chat:13:ggufv2:Q3_K_M,context,1.7886791639732817,9.0,0.19874212933036464,5 -llama-2-chat:13:ggufv2:Q5_K_M,context,1.786179992924834,9.0,0.1984644436583149,5 -llama-2-chat:13:ggufv2:Q4_K_M,context,1.773506826331816,9.0,0.19705631403686846,5 -llama-3-instruct:8:ggufv2:Q8_0,context,1.6733362618842498,9.0,0.1859262513204722,5 -llama-3-instruct:8:ggufv2:Q5_K_M,context,1.6482060618893395,9.0,0.18313400687659329,5 -llama-2-chat:13:ggufv2:Q8_0,context,1.5882119645062303,9.0,0.1764679960562478,5 -llama-3-instruct:8:ggufv2:Q4_K_M,context,1.571688476296535,9.0,0.17463205292183723,5 -llama-2-chat:13:ggufv2:Q2_K,context,1.3428860743038644,9.0,0.1492095638115405,5 -llama-2-chat:7:ggufv2:Q5_K_M,context,1.2388077239089992,9.0,0.13764530265655547,5 -llama-2-chat:7:ggufv2:Q2_K,context,1.1233454059056658,9.0,0.12481615621174064,5 -llama-3-instruct:8:ggufv2:Q6_K,context,1.102922285992053,9.0,0.12254692066578368,5 +Full model name,Subtask,Score achieved,Score possible,Score SD,Accuracy,Iterations +gpt-4-0613,context,7.9066286955899665,9.0,0.0,0.8785142995099963,5 +gpt-4-0125-preview,context,7.852526840634657,9.0,0.0,0.8725029822927397,5 +gpt-4o-2024-05-13,context,7.8296500008341265,9.0,0.0,0.8699611112037918,5 +gpt-3.5-turbo-0125,context,6.892469269171475,9.0,0.0,0.7658299187968305,5 +gpt-3.5-turbo-0613,context,6.504724288106235,9.0,0.0,0.722747143122915,5 +mistral-instruct-v0.2:7:ggufv2:Q8_0,context,5.1675402838156606,9.0,0.0,0.5741711426461845,5 +mistral-instruct-v0.2:7:ggufv2:Q5_K_M,context,5.125993745609519,9.0,0.0,0.5695548606232799,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,context,5.028443149414303,9.0,0.0,0.5587159054904781,5 +mistral-instruct-v0.2:7:ggufv2:Q6_K,context,5.015802962871023,9.0,0.0,0.5573114403190025,5 +mistral-instruct-v0.2:7:ggufv2:Q2_K,context,4.993618461701055,9.0,0.0,0.5548464957445617,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,context,4.5131432560655735,9.0,0.0,0.5014603617850637,5 +llama-2-chat:70:ggufv2:Q3_K_M,context,4.223320462233215,9.0,0.0,0.46925782913702385,5 +llama-2-chat:70:ggufv2:Q4_K_M,context,4.102843431479814,9.0,0.0,0.455871492386646,5 +llama-2-chat:70:ggufv2:Q2_K,context,4.089792058375472,9.0,0.0,0.45442133981949684,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,context,4.063184785079324,9.0,0.0,0.45146497611992487,5 +mistral-instruct-v0.2:7:ggufv2:Q4_K_M,context,4.011171998461201,9.0,0.0,0.4456857776068001,5 +mistral-instruct-v0.2:7:ggufv2:Q3_K_M,context,3.9098205855378256,9.0,0.0,0.43442450950420286,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,context,3.794155209972813,9.0,0.0,0.4215728011080903,5 +llama-2-chat:70:ggufv2:Q5_K_M,context,3.74590965202609,9.0,0.0,0.41621218355845446,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,context,3.70125778870553,9.0,0.0,0.4112508654117255,5 +code-llama-instruct:7:ggufv2:Q4_K_M,context,3.3265667121567946,9.0,0.0,0.3696185235729772,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,context,3.145198436368636,9.0,0.0,0.34946649292984844,5 +chatglm3:6:ggmlv3:q4_0,context,2.8563592524507615,9.0,0.0,0.31737325027230684,5 +llama-2-chat:7:ggufv2:Q3_K_M,context,2.1085650159513922,9.0,0.0,0.2342850017723769,5 +llama-2-chat:7:ggufv2:Q4_K_M,context,1.8960518045585364,9.0,0.0,0.21067242272872627,5 +llama-2-chat:13:ggufv2:Q3_K_M,context,1.7886791639732817,9.0,0.0,0.19874212933036464,5 +llama-2-chat:13:ggufv2:Q5_K_M,context,1.786179992924834,9.0,0.0,0.1984644436583149,5 +llama-2-chat:13:ggufv2:Q4_K_M,context,1.773506826331816,9.0,0.0,0.19705631403686846,5 +llama-3-instruct:8:ggufv2:Q8_0,context,1.6733362618842498,9.0,0.0,0.1859262513204722,5 +llama-3-instruct:8:ggufv2:Q5_K_M,context,1.6482060618893395,9.0,0.0,0.18313400687659329,5 +llama-2-chat:13:ggufv2:Q8_0,context,1.5882119645062303,9.0,0.0,0.1764679960562478,5 +llama-3-instruct:8:ggufv2:Q4_K_M,context,1.571688476296535,9.0,0.0,0.17463205292183723,5 +llama-2-chat:13:ggufv2:Q2_K,context,1.3428860743038644,9.0,0.0,0.1492095638115405,5 +llama-2-chat:7:ggufv2:Q5_K_M,context,1.2388077239089992,9.0,0.0,0.13764530265655547,5 +llama-2-chat:7:ggufv2:Q2_K,context,1.1233454059056658,9.0,0.0,0.12481615621174064,5 +llama-3-instruct:8:ggufv2:Q6_K,context,1.102922285992053,9.0,0.0,0.12254692066578368,5 diff --git a/benchmark/results/processed/extraction_disease.csv b/benchmark/results/processed/extraction_disease.csv index 708bc27c..384a8279 100644 --- a/benchmark/results/processed/extraction_disease.csv +++ b/benchmark/results/processed/extraction_disease.csv @@ -1,43 +1,37 @@ -Full model name,Subtask,Score achieved,Score possible,Accuracy,Iterations -openhermes-2.5:7:ggufv2:Q8_0,disease,6.466666666666667,9.0,0.7185185185185186,5 -openhermes-2.5:7:ggufv2:Q6_K,disease,6.466666666666667,9.0,0.7185185185185186,5 -openhermes-2.5:7:ggufv2:Q5_K_M,disease,6.466666666666667,9.0,0.7185185185185186,5 -openhermes-2.5:7:ggufv2:Q3_K_M,disease,6.466666666666667,9.0,0.7185185185185186,5 -openhermes-2.5:7:ggufv2:Q4_K_M,disease,6.466666666666667,9.0,0.7185185185185186,5 -gpt-4-0125-preview,disease,6.213333333333333,9.0,0.6903703703703703,5 -gpt-4o-2024-05-13,disease,6.199999999999999,9.0,0.6888888888888888,5 -gpt-4-0613,disease,6.133333333333333,9.0,0.6814814814814815,5 -gpt-3.5-turbo-0613,disease,6.066666666666666,9.0,0.674074074074074,5 -gpt-3.5-turbo-0125,disease,4.752380952380952,9.0,0.5280423280423281,5 -openhermes-2.5:7:ggufv2:Q2_K,disease,4.324929971988795,9.0,0.4805477746654217,5 -mistral-instruct-v0.2:7:ggufv2:Q2_K,disease,4.207077941500407,9.0,0.46745310461115636,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,disease,4.146735473530773,9.0,0.4607483859478637,5 -mistral-instruct-v0.2:7:ggufv2:Q5_K_M,disease,4.029265330904675,9.0,0.4476961478782972,5 -mistral-instruct-v0.2:7:ggufv2:Q6_K,disease,4.015808062355377,9.0,0.4462008958172641,5 -mistral-instruct-v0.2:7:ggufv2:Q8_0,disease,3.4724412842059897,9.0,0.3858268093562211,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,disease,3.0453170453447194,9.0,0.3383685605938577,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,disease,2.9285407925407925,9.0,0.32539342139342137,5 -mistral-instruct-v0.2:7:ggufv2:Q4_K_M,disease,2.654365386910144,9.0,0.2949294874344604,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,disease,2.5765656870892197,9.0,0.2862850763432466,5 -mistral-instruct-v0.2:7:ggufv2:Q3_K_M,disease,2.447848716712814,9.0,0.27198319074586824,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,disease,2.291709627038147,9.0,0.25463440300423856,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,disease,2.290944669365722,9.0,0.25454940770730244,5 -llama-3-instruct:8:ggufv2:Q5_K_M,disease,1.7345211703802752,9.0,0.19272457448669725,5 -llama-3-instruct:8:ggufv2:Q6_K,disease,1.7345211703802752,9.0,0.19272457448669725,5 -llama-3-instruct:8:ggufv2:Q8_0,disease,1.7345211703802752,9.0,0.19272457448669725,5 -code-llama-instruct:7:ggufv2:Q4_K_M,disease,1.3309302704463994,9.0,0.14788114116071105,5 -chatglm3:6:ggmlv3:q4_0,disease,1.216693066219561,9.0,0.1351881184688401,5 -llama-3-instruct:8:ggufv2:Q4_K_M,disease,0.995893652226731,9.0,0.11065485024741456,5 -llama-2-chat:13:ggufv2:Q5_K_M,disease,0.3063862360574469,9.0,0.034042915117494105,5 -llama-2-chat:13:ggufv2:Q8_0,disease,0.2666299501704694,9.0,0.029625550018941047,5 -llama-2-chat:13:ggufv2:Q4_K_M,disease,0.25005265005265004,9.0,0.027783627783627782,5 -llama-2-chat:70:ggufv2:Q5_K_M,disease,0.23564814814814816,9.0,0.026183127572016462,5 -llama-2-chat:7:ggufv2:Q3_K_M,disease,0.18503546821437056,9.0,0.020559496468263397,5 -llama-2-chat:70:ggufv2:Q2_K,disease,0.18204645323289392,9.0,0.02022738369254377,5 -llama-2-chat:70:ggufv2:Q4_K_M,disease,0.17939814814814817,9.0,0.019933127572016464,5 -llama-2-chat:7:ggufv2:Q5_K_M,disease,0.1502075702075702,9.0,0.016689730023063357,5 -llama-2-chat:70:ggufv2:Q3_K_M,disease,0.1429572080566739,9.0,0.015884134228519323,5 -llama-2-chat:13:ggufv2:Q3_K_M,disease,0.10327724611130595,9.0,0.011475249567922884,5 -llama-2-chat:7:ggufv2:Q4_K_M,disease,0.0898051948051948,9.0,0.009978354978354979,5 -llama-2-chat:13:ggufv2:Q2_K,disease,0.08742029727251402,9.0,0.009713366363612669,5 -llama-2-chat:7:ggufv2:Q2_K,disease,0.05871379479626902,9.0,0.006523754977363225,5 +Full model name,Subtask,Score achieved,Score possible,Score SD,Accuracy,Iterations +gpt-4-0125-preview,disease,6.213333333333333,9.0,0.0,0.6903703703703703,5 +gpt-4o-2024-05-13,disease,6.199999999999999,9.0,0.0,0.6888888888888888,5 +gpt-4-0613,disease,6.133333333333333,9.0,0.0,0.6814814814814815,5 +gpt-3.5-turbo-0613,disease,6.066666666666666,9.0,0.0,0.674074074074074,5 +gpt-3.5-turbo-0125,disease,4.752380952380952,9.0,0.0,0.5280423280423281,5 +mistral-instruct-v0.2:7:ggufv2:Q2_K,disease,4.207077941500407,9.0,0.0,0.46745310461115636,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,disease,4.146735473530773,9.0,0.0,0.4607483859478637,5 +mistral-instruct-v0.2:7:ggufv2:Q5_K_M,disease,4.029265330904675,9.0,0.0,0.4476961478782972,5 +mistral-instruct-v0.2:7:ggufv2:Q6_K,disease,4.015808062355377,9.0,0.0,0.4462008958172641,5 +mistral-instruct-v0.2:7:ggufv2:Q8_0,disease,3.4724412842059897,9.0,0.0,0.3858268093562211,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,disease,3.0453170453447194,9.0,0.0,0.3383685605938577,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,disease,2.9285407925407925,9.0,0.0,0.32539342139342137,5 +mistral-instruct-v0.2:7:ggufv2:Q4_K_M,disease,2.654365386910144,9.0,0.0,0.2949294874344604,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,disease,2.5765656870892197,9.0,0.0,0.2862850763432466,5 +mistral-instruct-v0.2:7:ggufv2:Q3_K_M,disease,2.447848716712814,9.0,0.0,0.27198319074586824,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,disease,2.291709627038147,9.0,0.0,0.25463440300423856,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,disease,2.290944669365722,9.0,0.0,0.25454940770730244,5 +llama-3-instruct:8:ggufv2:Q5_K_M,disease,1.7345211703802752,9.0,0.0,0.19272457448669725,5 +llama-3-instruct:8:ggufv2:Q6_K,disease,1.7345211703802752,9.0,0.0,0.19272457448669725,5 +llama-3-instruct:8:ggufv2:Q8_0,disease,1.7345211703802752,9.0,0.0,0.19272457448669725,5 +code-llama-instruct:7:ggufv2:Q4_K_M,disease,1.3309302704463994,9.0,0.0,0.14788114116071105,5 +chatglm3:6:ggmlv3:q4_0,disease,1.216693066219561,9.0,0.0,0.1351881184688401,5 +llama-3-instruct:8:ggufv2:Q4_K_M,disease,0.995893652226731,9.0,0.0,0.11065485024741456,5 +llama-2-chat:13:ggufv2:Q5_K_M,disease,0.3063862360574469,9.0,0.0,0.034042915117494105,5 +llama-2-chat:13:ggufv2:Q8_0,disease,0.2666299501704694,9.0,0.0,0.029625550018941047,5 +llama-2-chat:13:ggufv2:Q4_K_M,disease,0.25005265005265004,9.0,0.0,0.027783627783627782,5 +llama-2-chat:70:ggufv2:Q5_K_M,disease,0.23564814814814816,9.0,0.0,0.026183127572016462,5 +llama-2-chat:7:ggufv2:Q3_K_M,disease,0.18503546821437056,9.0,0.0,0.020559496468263397,5 +llama-2-chat:70:ggufv2:Q2_K,disease,0.18204645323289392,9.0,0.0,0.02022738369254377,5 +llama-2-chat:70:ggufv2:Q4_K_M,disease,0.17939814814814817,9.0,0.0,0.019933127572016464,5 +llama-2-chat:7:ggufv2:Q5_K_M,disease,0.1502075702075702,9.0,0.0,0.016689730023063357,5 +llama-2-chat:70:ggufv2:Q3_K_M,disease,0.1429572080566739,9.0,0.0,0.015884134228519323,5 +llama-2-chat:13:ggufv2:Q3_K_M,disease,0.10327724611130595,9.0,0.0,0.011475249567922884,5 +llama-2-chat:7:ggufv2:Q4_K_M,disease,0.0898051948051948,9.0,0.0,0.009978354978354979,5 +llama-2-chat:13:ggufv2:Q2_K,disease,0.08742029727251402,9.0,0.0,0.009713366363612669,5 +llama-2-chat:7:ggufv2:Q2_K,disease,0.05871379479626902,9.0,0.0,0.006523754977363225,5 diff --git a/benchmark/results/processed/extraction_entity.csv b/benchmark/results/processed/extraction_entity.csv index f3207bc4..19ac3450 100644 --- a/benchmark/results/processed/extraction_entity.csv +++ b/benchmark/results/processed/extraction_entity.csv @@ -1,43 +1,38 @@ -Full model name,Subtask,Score achieved,Score possible,Accuracy,Iterations -gpt-4o-2024-05-13,entity,5.990896358543418,9.0,0.6656551509492687,5 -gpt-4-0125-preview,entity,4.595018315018315,9.0,0.5105575905575905,5 -gpt-3.5-turbo-0613,entity,4.579722419860393,9.0,0.5088580466511547,5 -openhermes-2.5:7:ggufv2:Q4_K_M,entity,4.224611556964499,9.0,0.4694012841071665,5 -openhermes-2.5:7:ggufv2:Q8_0,entity,4.134396322631617,9.0,0.4593773691812908,5 -gpt-4-0613,entity,4.128518183570815,9.0,0.4587242426189795,5 -openhermes-2.5:7:ggufv2:Q6_K,entity,4.093328578115597,9.0,0.45481428645728855,5 -openhermes-2.5:7:ggufv2:Q5_K_M,entity,4.020160979371506,9.0,0.4466845532635007,5 -gpt-3.5-turbo-0125,entity,3.711948051948052,9.0,0.41243867243867244,5 -openhermes-2.5:7:ggufv2:Q3_K_M,entity,3.6581935608251404,9.0,0.4064659512027934,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,entity,2.423126425336,9.0,0.2692362694817778,5 -openhermes-2.5:7:ggufv2:Q2_K,entity,2.334129964436211,9.0,0.25934777382624563,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,entity,2.3059682651610744,9.0,0.25621869612900827,5 -mistral-instruct-v0.2:7:ggufv2:Q3_K_M,entity,2.202832610587582,9.0,0.2447591789541758,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,entity,2.100770289670545,9.0,0.23341892107450501,5 -mistral-instruct-v0.2:7:ggufv2:Q4_K_M,entity,2.0607040227665414,9.0,0.22896711364072683,5 -mistral-instruct-v0.2:7:ggufv2:Q8_0,entity,2.00801828525008,9.0,0.22311314280556444,5 -mistral-instruct-v0.2:7:ggufv2:Q5_K_M,entity,1.99808964061419,9.0,0.22200996006824333,5 -mistral-instruct-v0.2:7:ggufv2:Q6_K,entity,1.9921439795434435,9.0,0.2213493310603826,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,entity,1.799989829474693,9.0,0.19999886994163255,5 -mistral-instruct-v0.2:7:ggufv2:Q2_K,entity,1.7756259514244295,9.0,0.19729177238049217,5 -chatglm3:6:ggmlv3:q4_0,entity,1.2222742817350603,9.0,0.1358082535261178,5 -llama-2-chat:70:ggufv2:Q3_K_M,entity,1.2085123275289542,9.0,0.13427914750321712,5 -llama-2-chat:70:ggufv2:Q2_K,entity,1.1618883415236152,9.0,0.12909870461373502,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,entity,1.1000738188620716,9.0,0.12223042431800796,5 -llama-2-chat:70:ggufv2:Q4_K_M,entity,1.015548671884381,9.0,0.11283874132048677,5 -code-llama-instruct:7:ggufv2:Q4_K_M,entity,0.9489610389610389,9.0,0.10544011544011543,5 -llama-2-chat:70:ggufv2:Q5_K_M,entity,0.9033242761966166,9.0,0.10036936402184629,5 -llama-2-chat:13:ggufv2:Q2_K,entity,0.8073788052700372,9.0,0.08970875614111525,5 -llama-2-chat:13:ggufv2:Q4_K_M,entity,0.7852334450780274,9.0,0.08724816056422527,5 -llama-3-instruct:8:ggufv2:Q5_K_M,entity,0.7525299607395014,9.0,0.08361444008216683,5 -llama-3-instruct:8:ggufv2:Q6_K,entity,0.7494946047000106,9.0,0.08327717830000118,5 -llama-2-chat:7:ggufv2:Q3_K_M,entity,0.6999877143839992,9.0,0.07777641270933325,5 -llama-3-instruct:8:ggufv2:Q8_0,entity,0.6955244435342272,9.0,0.07728049372602525,5 -llama-3-instruct:8:ggufv2:Q4_K_M,entity,0.6943765799687884,9.0,0.07715295332986538,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,entity,0.6853675577143108,9.0,0.07615195085714564,5 -llama-2-chat:7:ggufv2:Q4_K_M,entity,0.6850268430756236,9.0,0.07611409367506929,5 -llama-2-chat:13:ggufv2:Q8_0,entity,0.6297635309864029,9.0,0.06997372566515588,5 -llama-2-chat:7:ggufv2:Q5_K_M,entity,0.6238510111512634,9.0,0.06931677901680705,5 -llama-2-chat:13:ggufv2:Q5_K_M,entity,0.6238130872521658,9.0,0.06931256525024064,5 -llama-2-chat:13:ggufv2:Q3_K_M,entity,0.5650203294692542,9.0,0.0627800366076949,5 -llama-2-chat:7:ggufv2:Q2_K,entity,0.31819550250006545,9.0,0.03535505583334061,5 +Full model name,Subtask,Score achieved,Score possible,Score SD,Accuracy,Iterations +gpt-4o-2024-05-13,entity,5.990896358543418,9.0,0.0,0.6656551509492687,5 +gpt-4-0125-preview,entity,4.595018315018315,9.0,0.0,0.5105575905575905,5 +gpt-3.5-turbo-0613,entity,4.579722419860393,9.0,0.0,0.5088580466511547,5 +gpt-4-0613,entity,4.128518183570815,9.0,0.0,0.4587242426189795,5 +gpt-3.5-turbo-0125,entity,3.711948051948052,9.0,0.0,0.41243867243867244,5 +openhermes-2.5:7:ggufv2:Q2_K,entity,0.5618556701030928,2.0,0.0,0.2809278350515464,2 +mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,entity,2.423126425336,9.0,0.0,0.2692362694817778,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,entity,2.3059682651610744,9.0,0.0,0.25621869612900827,5 +mistral-instruct-v0.2:7:ggufv2:Q3_K_M,entity,2.202832610587582,9.0,0.0,0.2447591789541758,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,entity,2.100770289670545,9.0,0.0,0.23341892107450501,5 +mistral-instruct-v0.2:7:ggufv2:Q4_K_M,entity,2.0607040227665414,9.0,0.0,0.22896711364072683,5 +mistral-instruct-v0.2:7:ggufv2:Q8_0,entity,2.00801828525008,9.0,0.0,0.22311314280556444,5 +mistral-instruct-v0.2:7:ggufv2:Q5_K_M,entity,1.99808964061419,9.0,0.0,0.22200996006824333,5 +mistral-instruct-v0.2:7:ggufv2:Q6_K,entity,1.9921439795434435,9.0,0.0,0.2213493310603826,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,entity,1.799989829474693,9.0,0.0,0.19999886994163255,5 +mistral-instruct-v0.2:7:ggufv2:Q2_K,entity,1.7756259514244295,9.0,0.0,0.19729177238049217,5 +chatglm3:6:ggmlv3:q4_0,entity,1.2222742817350603,9.0,0.0,0.1358082535261178,5 +llama-2-chat:70:ggufv2:Q3_K_M,entity,1.2085123275289542,9.0,0.0,0.13427914750321712,5 +llama-2-chat:70:ggufv2:Q2_K,entity,1.1618883415236152,9.0,0.0,0.12909870461373502,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,entity,1.1000738188620716,9.0,0.0,0.12223042431800796,5 +llama-2-chat:70:ggufv2:Q4_K_M,entity,1.015548671884381,9.0,0.0,0.11283874132048677,5 +code-llama-instruct:7:ggufv2:Q4_K_M,entity,0.9489610389610389,9.0,0.0,0.10544011544011543,5 +llama-2-chat:70:ggufv2:Q5_K_M,entity,0.9033242761966166,9.0,0.0,0.10036936402184629,5 +llama-2-chat:13:ggufv2:Q2_K,entity,0.8073788052700372,9.0,0.0,0.08970875614111525,5 +llama-2-chat:13:ggufv2:Q4_K_M,entity,0.7852334450780274,9.0,0.0,0.08724816056422527,5 +llama-3-instruct:8:ggufv2:Q5_K_M,entity,0.7525299607395014,9.0,0.0,0.08361444008216683,5 +llama-3-instruct:8:ggufv2:Q6_K,entity,0.7494946047000106,9.0,0.0,0.08327717830000118,5 +llama-2-chat:7:ggufv2:Q3_K_M,entity,0.6999877143839992,9.0,0.0,0.07777641270933325,5 +llama-3-instruct:8:ggufv2:Q8_0,entity,0.6955244435342272,9.0,0.0,0.07728049372602525,5 +llama-3-instruct:8:ggufv2:Q4_K_M,entity,0.6943765799687884,9.0,0.0,0.07715295332986538,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,entity,0.6853675577143108,9.0,0.0,0.07615195085714564,5 +llama-2-chat:7:ggufv2:Q4_K_M,entity,0.6850268430756236,9.0,0.0,0.07611409367506929,5 +llama-2-chat:13:ggufv2:Q8_0,entity,0.6297635309864029,9.0,0.0,0.06997372566515588,5 +llama-2-chat:7:ggufv2:Q5_K_M,entity,0.6238510111512634,9.0,0.0,0.06931677901680705,5 +llama-2-chat:13:ggufv2:Q5_K_M,entity,0.6238130872521658,9.0,0.0,0.06931256525024064,5 +llama-2-chat:13:ggufv2:Q3_K_M,entity,0.5650203294692542,9.0,0.0,0.0627800366076949,5 +llama-2-chat:7:ggufv2:Q2_K,entity,0.31819550250006545,9.0,0.0,0.03535505583334061,5 diff --git a/benchmark/results/processed/extraction_experiment_yes_or_no.csv b/benchmark/results/processed/extraction_experiment_yes_or_no.csv index 4c099f1a..8c4e001d 100644 --- a/benchmark/results/processed/extraction_experiment_yes_or_no.csv +++ b/benchmark/results/processed/extraction_experiment_yes_or_no.csv @@ -1,43 +1,37 @@ -Full model name,Subtask,Score achieved,Score possible,Accuracy,Iterations -openhermes-2.5:7:ggufv2:Q2_K,experiment_yes_or_no,9.0,9.0,1.0,5 -gpt-4-0125-preview,experiment_yes_or_no,9.0,9.0,1.0,5 -llama-2-chat:70:ggufv2:Q4_K_M,experiment_yes_or_no,9.0,9.0,1.0,5 -chatglm3:6:ggmlv3:q4_0,experiment_yes_or_no,8.6,9.0,0.9555555555555555,5 -openhermes-2.5:7:ggufv2:Q6_K,experiment_yes_or_no,8.333333333333334,9.0,0.925925925925926,5 -openhermes-2.5:7:ggufv2:Q5_K_M,experiment_yes_or_no,8.333333333333334,9.0,0.925925925925926,5 -openhermes-2.5:7:ggufv2:Q4_K_M,experiment_yes_or_no,8.333333333333332,9.0,0.9259259259259258,5 -llama-2-chat:70:ggufv2:Q5_K_M,experiment_yes_or_no,8.025,9.0,0.8916666666666667,5 -openhermes-2.5:7:ggufv2:Q3_K_M,experiment_yes_or_no,8.0,9.0,0.8888888888888888,5 -gpt-4-0613,experiment_yes_or_no,8.0,9.0,0.8888888888888888,5 -gpt-4o-2024-05-13,experiment_yes_or_no,8.0,9.0,0.8888888888888888,5 -openhermes-2.5:7:ggufv2:Q8_0,experiment_yes_or_no,8.0,9.0,0.8888888888888888,5 -gpt-3.5-turbo-0613,experiment_yes_or_no,8.0,9.0,0.8888888888888888,5 -llama-2-chat:70:ggufv2:Q2_K,experiment_yes_or_no,7.05060668836934,9.0,0.7834007431521489,5 -llama-2-chat:70:ggufv2:Q3_K_M,experiment_yes_or_no,6.073357731321335,9.0,0.6748175257023705,5 -gpt-3.5-turbo-0125,experiment_yes_or_no,6.033333333333333,9.0,0.6703703703703704,5 -mistral-instruct-v0.2:7:ggufv2:Q3_K_M,experiment_yes_or_no,5.2356378845740545,9.0,0.5817375427304505,5 -llama-2-chat:13:ggufv2:Q3_K_M,experiment_yes_or_no,5.165933762099872,9.0,0.5739926402333191,5 -llama-3-instruct:8:ggufv2:Q8_0,experiment_yes_or_no,3.7,9.0,0.41111111111111115,5 -llama-3-instruct:8:ggufv2:Q5_K_M,experiment_yes_or_no,3.6818181818181817,9.0,0.40909090909090906,5 -mistral-instruct-v0.2:7:ggufv2:Q8_0,experiment_yes_or_no,3.3202803044908307,9.0,0.36892003383231453,5 -mistral-instruct-v0.2:7:ggufv2:Q5_K_M,experiment_yes_or_no,3.269628782100178,9.0,0.3632920869000198,5 -code-llama-instruct:7:ggufv2:Q4_K_M,experiment_yes_or_no,3.0913018439676034,9.0,0.34347798266306706,5 -llama-3-instruct:8:ggufv2:Q6_K,experiment_yes_or_no,2.3636363636363638,9.0,0.26262626262626265,5 -mistral-instruct-v0.2:7:ggufv2:Q6_K,experiment_yes_or_no,2.36015466015466,9.0,0.2622394066838511,5 -mistral-instruct-v0.2:7:ggufv2:Q4_K_M,experiment_yes_or_no,2.285101246938712,9.0,0.2539001385487458,5 -mistral-instruct-v0.2:7:ggufv2:Q2_K,experiment_yes_or_no,2.2801994424437773,9.0,0.25335549360486415,5 -llama-2-chat:7:ggufv2:Q4_K_M,experiment_yes_or_no,2.068169014084507,9.0,0.2297965571205008,5 -llama-3-instruct:8:ggufv2:Q4_K_M,experiment_yes_or_no,1.8993506493506493,9.0,0.21103896103896103,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,experiment_yes_or_no,1.4568562548115391,9.0,0.16187291720128213,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,experiment_yes_or_no,1.2999067071672985,9.0,0.14443407857414428,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,experiment_yes_or_no,1.1661016284993913,9.0,0.12956684761104348,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,experiment_yes_or_no,1.1518403184963026,9.0,0.12798225761070028,5 -llama-2-chat:13:ggufv2:Q8_0,experiment_yes_or_no,1.066428817744607,9.0,0.11849209086051189,5 -llama-2-chat:13:ggufv2:Q5_K_M,experiment_yes_or_no,1.031467025290672,9.0,0.1146074472545191,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,experiment_yes_or_no,0.7855869535706338,9.0,0.08728743928562598,5 -llama-2-chat:7:ggufv2:Q3_K_M,experiment_yes_or_no,0.7267452300785634,9.0,0.08074947000872927,5 -llama-2-chat:7:ggufv2:Q5_K_M,experiment_yes_or_no,0.6187983454737821,9.0,0.06875537171930912,5 -llama-2-chat:13:ggufv2:Q4_K_M,experiment_yes_or_no,0.46872224641182114,9.0,0.05208024960131346,5 -llama-2-chat:13:ggufv2:Q2_K,experiment_yes_or_no,0.2672721914101225,9.0,0.029696910156680276,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,experiment_yes_or_no,0.2014886735066941,9.0,0.02238763038963268,5 -llama-2-chat:7:ggufv2:Q2_K,experiment_yes_or_no,0.1302846944652269,9.0,0.014476077162802988,5 +Full model name,Subtask,Score achieved,Score possible,Score SD,Accuracy,Iterations +gpt-4-0125-preview,experiment_yes_or_no,9.0,9.0,0.0,1.0,5 +llama-2-chat:70:ggufv2:Q4_K_M,experiment_yes_or_no,9.0,9.0,0.0,1.0,5 +chatglm3:6:ggmlv3:q4_0,experiment_yes_or_no,8.6,9.0,0.0,0.9555555555555555,5 +llama-2-chat:70:ggufv2:Q5_K_M,experiment_yes_or_no,8.025,9.0,0.0,0.8916666666666667,5 +gpt-4o-2024-05-13,experiment_yes_or_no,8.0,9.0,0.0,0.8888888888888888,5 +gpt-3.5-turbo-0613,experiment_yes_or_no,8.0,9.0,0.0,0.8888888888888888,5 +gpt-4-0613,experiment_yes_or_no,8.0,9.0,0.0,0.8888888888888888,5 +llama-2-chat:70:ggufv2:Q2_K,experiment_yes_or_no,7.05060668836934,9.0,0.0,0.7834007431521489,5 +llama-2-chat:70:ggufv2:Q3_K_M,experiment_yes_or_no,6.073357731321335,9.0,0.0,0.6748175257023705,5 +gpt-3.5-turbo-0125,experiment_yes_or_no,6.033333333333333,9.0,0.0,0.6703703703703704,5 +mistral-instruct-v0.2:7:ggufv2:Q3_K_M,experiment_yes_or_no,5.2356378845740545,9.0,0.0,0.5817375427304505,5 +llama-2-chat:13:ggufv2:Q3_K_M,experiment_yes_or_no,5.165933762099872,9.0,0.0,0.5739926402333191,5 +llama-3-instruct:8:ggufv2:Q8_0,experiment_yes_or_no,3.7,9.0,0.0,0.41111111111111115,5 +llama-3-instruct:8:ggufv2:Q5_K_M,experiment_yes_or_no,3.6818181818181817,9.0,0.0,0.40909090909090906,5 +mistral-instruct-v0.2:7:ggufv2:Q8_0,experiment_yes_or_no,3.3202803044908307,9.0,0.0,0.36892003383231453,5 +mistral-instruct-v0.2:7:ggufv2:Q5_K_M,experiment_yes_or_no,3.269628782100178,9.0,0.0,0.3632920869000198,5 +code-llama-instruct:7:ggufv2:Q4_K_M,experiment_yes_or_no,3.0913018439676034,9.0,0.0,0.34347798266306706,5 +llama-3-instruct:8:ggufv2:Q6_K,experiment_yes_or_no,2.3636363636363638,9.0,0.0,0.26262626262626265,5 +mistral-instruct-v0.2:7:ggufv2:Q6_K,experiment_yes_or_no,2.36015466015466,9.0,0.0,0.2622394066838511,5 +mistral-instruct-v0.2:7:ggufv2:Q4_K_M,experiment_yes_or_no,2.285101246938712,9.0,0.0,0.2539001385487458,5 +mistral-instruct-v0.2:7:ggufv2:Q2_K,experiment_yes_or_no,2.2801994424437773,9.0,0.0,0.25335549360486415,5 +llama-2-chat:7:ggufv2:Q4_K_M,experiment_yes_or_no,2.068169014084507,9.0,0.0,0.2297965571205008,5 +llama-3-instruct:8:ggufv2:Q4_K_M,experiment_yes_or_no,1.8993506493506493,9.0,0.0,0.21103896103896103,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,experiment_yes_or_no,1.4568562548115391,9.0,0.0,0.16187291720128213,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,experiment_yes_or_no,1.2999067071672985,9.0,0.0,0.14443407857414428,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,experiment_yes_or_no,1.1661016284993913,9.0,0.0,0.12956684761104348,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,experiment_yes_or_no,1.1518403184963026,9.0,0.0,0.12798225761070028,5 +llama-2-chat:13:ggufv2:Q8_0,experiment_yes_or_no,1.066428817744607,9.0,0.0,0.11849209086051189,5 +llama-2-chat:13:ggufv2:Q5_K_M,experiment_yes_or_no,1.031467025290672,9.0,0.0,0.1146074472545191,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,experiment_yes_or_no,0.7855869535706338,9.0,0.0,0.08728743928562598,5 +llama-2-chat:7:ggufv2:Q3_K_M,experiment_yes_or_no,0.7267452300785634,9.0,0.0,0.08074947000872927,5 +llama-2-chat:7:ggufv2:Q5_K_M,experiment_yes_or_no,0.6187983454737821,9.0,0.0,0.06875537171930912,5 +llama-2-chat:13:ggufv2:Q4_K_M,experiment_yes_or_no,0.46872224641182114,9.0,0.0,0.05208024960131346,5 +llama-2-chat:13:ggufv2:Q2_K,experiment_yes_or_no,0.2672721914101225,9.0,0.0,0.029696910156680276,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,experiment_yes_or_no,0.2014886735066941,9.0,0.0,0.02238763038963268,5 +llama-2-chat:7:ggufv2:Q2_K,experiment_yes_or_no,0.1302846944652269,9.0,0.0,0.014476077162802988,5 diff --git a/benchmark/results/processed/extraction_hypothesis.csv b/benchmark/results/processed/extraction_hypothesis.csv index 6ea36a71..a11f6fba 100644 --- a/benchmark/results/processed/extraction_hypothesis.csv +++ b/benchmark/results/processed/extraction_hypothesis.csv @@ -1,43 +1,37 @@ -Full model name,Subtask,Score achieved,Score possible,Accuracy,Iterations -mistral-instruct-v0.2:7:ggufv2:Q4_K_M,hypothesis,3.673388422035481,9.0,0.4081542691150534,5 -mistral-instruct-v0.2:7:ggufv2:Q6_K,hypothesis,3.336806037167208,9.0,0.370756226351912,5 -gpt-4-0613,hypothesis,3.2969557404210246,9.0,0.3663284156023361,5 -mistral-instruct-v0.2:7:ggufv2:Q8_0,hypothesis,2.9271996986723305,9.0,0.3252444109635923,5 -gpt-4o-2024-05-13,hypothesis,2.8951181499179937,9.0,0.3216797944353326,5 -mistral-instruct-v0.2:7:ggufv2:Q5_K_M,hypothesis,2.7558495096143307,9.0,0.30620550106825895,5 -gpt-3.5-turbo-0125,hypothesis,2.727753909647235,9.0,0.3030837677385817,5 -gpt-3.5-turbo-0613,hypothesis,2.644969232443035,9.0,0.29388547027144835,5 -openhermes-2.5:7:ggufv2:Q4_K_M,hypothesis,2.573823671693527,9.0,0.2859804079659474,5 -mistral-instruct-v0.2:7:ggufv2:Q3_K_M,hypothesis,2.4729238985684088,9.0,0.2747693220631565,5 -openhermes-2.5:7:ggufv2:Q8_0,hypothesis,2.3719630038604578,9.0,0.2635514448733842,5 -gpt-4-0125-preview,hypothesis,2.335182944997906,9.0,0.259464771666434,5 -openhermes-2.5:7:ggufv2:Q6_K,hypothesis,2.2908480399613693,9.0,0.2545386711068188,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,hypothesis,2.2325474638258296,9.0,0.24806082931398107,5 -openhermes-2.5:7:ggufv2:Q3_K_M,hypothesis,2.0962568951930654,9.0,0.2329174327992295,5 -mistral-instruct-v0.2:7:ggufv2:Q2_K,hypothesis,2.0537540166829724,9.0,0.2281948907425525,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,hypothesis,1.8744172787273192,9.0,0.2082685865252577,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,hypothesis,1.8373484145395533,9.0,0.20414982383772814,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,hypothesis,1.7155667588299197,9.0,0.19061852875887997,5 -openhermes-2.5:7:ggufv2:Q5_K_M,hypothesis,1.5218089077265373,9.0,0.16908987863628192,5 -openhermes-2.5:7:ggufv2:Q2_K,hypothesis,1.4914993330834916,9.0,0.16572214812038796,5 -llama-2-chat:70:ggufv2:Q3_K_M,hypothesis,1.4414251385875816,9.0,0.1601583487319535,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,hypothesis,1.440090866056332,9.0,0.16001009622848134,5 -llama-2-chat:70:ggufv2:Q2_K,hypothesis,1.438897981694133,9.0,0.15987755352157032,5 -llama-2-chat:70:ggufv2:Q4_K_M,hypothesis,1.4142053518794215,9.0,0.1571339279866024,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,hypothesis,1.3956484275011105,9.0,0.15507204750012338,5 -llama-3-instruct:8:ggufv2:Q4_K_M,hypothesis,1.1359622906940021,9.0,0.12621803229933357,5 -chatglm3:6:ggmlv3:q4_0,hypothesis,0.9867599202917898,9.0,0.1096399911435322,5 -llama-3-instruct:8:ggufv2:Q8_0,hypothesis,0.8784057287380217,9.0,0.09760063652644685,5 -llama-3-instruct:8:ggufv2:Q6_K,hypothesis,0.8762191846062365,9.0,0.09735768717847072,5 -llama-2-chat:7:ggufv2:Q5_K_M,hypothesis,0.6863803602916226,9.0,0.07626448447684696,5 -llama-2-chat:70:ggufv2:Q5_K_M,hypothesis,0.6237576647038025,9.0,0.06930640718931139,5 -llama-2-chat:7:ggufv2:Q4_K_M,hypothesis,0.6205304508438889,9.0,0.06894782787154322,5 -llama-3-instruct:8:ggufv2:Q5_K_M,hypothesis,0.6044233585636665,9.0,0.0671581509515185,5 -code-llama-instruct:7:ggufv2:Q4_K_M,hypothesis,0.5723685190976284,9.0,0.06359650212195872,5 -llama-2-chat:13:ggufv2:Q8_0,hypothesis,0.5552401619550199,9.0,0.06169335132833555,5 -llama-2-chat:7:ggufv2:Q2_K,hypothesis,0.5204526553747757,9.0,0.05782807281941952,5 -llama-2-chat:13:ggufv2:Q2_K,hypothesis,0.49278965362707006,9.0,0.05475440595856334,5 -llama-2-chat:13:ggufv2:Q3_K_M,hypothesis,0.42463754473277965,9.0,0.047181949414753295,5 -llama-2-chat:13:ggufv2:Q5_K_M,hypothesis,0.4080165793209061,9.0,0.04533517548010068,5 -llama-2-chat:7:ggufv2:Q3_K_M,hypothesis,0.40233684827462823,9.0,0.04470409425273647,5 -llama-2-chat:13:ggufv2:Q4_K_M,hypothesis,0.3662987228871902,9.0,0.04069985809857669,5 +Full model name,Subtask,Score achieved,Score possible,Score SD,Accuracy,Iterations +mistral-instruct-v0.2:7:ggufv2:Q4_K_M,hypothesis,3.673388422035481,9.0,0.0,0.4081542691150534,5 +mistral-instruct-v0.2:7:ggufv2:Q6_K,hypothesis,3.336806037167208,9.0,0.0,0.370756226351912,5 +gpt-4-0613,hypothesis,3.2969557404210246,9.0,0.0,0.3663284156023361,5 +mistral-instruct-v0.2:7:ggufv2:Q8_0,hypothesis,2.9271996986723305,9.0,0.0,0.3252444109635923,5 +gpt-4o-2024-05-13,hypothesis,2.8951181499179937,9.0,0.0,0.3216797944353326,5 +mistral-instruct-v0.2:7:ggufv2:Q5_K_M,hypothesis,2.7558495096143307,9.0,0.0,0.30620550106825895,5 +gpt-3.5-turbo-0125,hypothesis,2.727753909647235,9.0,0.0,0.3030837677385817,5 +gpt-3.5-turbo-0613,hypothesis,2.644969232443035,9.0,0.0,0.29388547027144835,5 +mistral-instruct-v0.2:7:ggufv2:Q3_K_M,hypothesis,2.4729238985684088,9.0,0.0,0.2747693220631565,5 +gpt-4-0125-preview,hypothesis,2.335182944997906,9.0,0.0,0.259464771666434,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,hypothesis,2.2325474638258296,9.0,0.0,0.24806082931398107,5 +mistral-instruct-v0.2:7:ggufv2:Q2_K,hypothesis,2.0537540166829724,9.0,0.0,0.2281948907425525,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,hypothesis,1.8744172787273192,9.0,0.0,0.2082685865252577,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,hypothesis,1.8373484145395533,9.0,0.0,0.20414982383772814,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,hypothesis,1.7155667588299197,9.0,0.0,0.19061852875887997,5 +llama-2-chat:70:ggufv2:Q3_K_M,hypothesis,1.4414251385875816,9.0,0.0,0.1601583487319535,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,hypothesis,1.440090866056332,9.0,0.0,0.16001009622848134,5 +llama-2-chat:70:ggufv2:Q2_K,hypothesis,1.438897981694133,9.0,0.0,0.15987755352157032,5 +llama-2-chat:70:ggufv2:Q4_K_M,hypothesis,1.4142053518794215,9.0,0.0,0.1571339279866024,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,hypothesis,1.3956484275011105,9.0,0.0,0.15507204750012338,5 +llama-3-instruct:8:ggufv2:Q4_K_M,hypothesis,1.1359622906940021,9.0,0.0,0.12621803229933357,5 +chatglm3:6:ggmlv3:q4_0,hypothesis,0.9867599202917898,9.0,0.0,0.1096399911435322,5 +llama-3-instruct:8:ggufv2:Q8_0,hypothesis,0.8784057287380217,9.0,0.0,0.09760063652644685,5 +llama-3-instruct:8:ggufv2:Q6_K,hypothesis,0.8762191846062365,9.0,0.0,0.09735768717847072,5 +llama-2-chat:7:ggufv2:Q5_K_M,hypothesis,0.6863803602916226,9.0,0.0,0.07626448447684696,5 +llama-2-chat:70:ggufv2:Q5_K_M,hypothesis,0.6237576647038025,9.0,0.0,0.06930640718931139,5 +llama-2-chat:7:ggufv2:Q4_K_M,hypothesis,0.6205304508438889,9.0,0.0,0.06894782787154322,5 +llama-3-instruct:8:ggufv2:Q5_K_M,hypothesis,0.6044233585636665,9.0,0.0,0.0671581509515185,5 +code-llama-instruct:7:ggufv2:Q4_K_M,hypothesis,0.5723685190976284,9.0,0.0,0.06359650212195872,5 +llama-2-chat:13:ggufv2:Q8_0,hypothesis,0.5552401619550199,9.0,0.0,0.06169335132833555,5 +llama-2-chat:7:ggufv2:Q2_K,hypothesis,0.5204526553747757,9.0,0.0,0.05782807281941952,5 +llama-2-chat:13:ggufv2:Q2_K,hypothesis,0.49278965362707006,9.0,0.0,0.05475440595856334,5 +llama-2-chat:13:ggufv2:Q3_K_M,hypothesis,0.42463754473277965,9.0,0.0,0.047181949414753295,5 +llama-2-chat:13:ggufv2:Q5_K_M,hypothesis,0.4080165793209061,9.0,0.0,0.04533517548010068,5 +llama-2-chat:7:ggufv2:Q3_K_M,hypothesis,0.40233684827462823,9.0,0.0,0.04470409425273647,5 +llama-2-chat:13:ggufv2:Q4_K_M,hypothesis,0.3662987228871902,9.0,0.0,0.04069985809857669,5 diff --git a/benchmark/results/processed/extraction_intervention.csv b/benchmark/results/processed/extraction_intervention.csv index b81dcddf..9eefba85 100644 --- a/benchmark/results/processed/extraction_intervention.csv +++ b/benchmark/results/processed/extraction_intervention.csv @@ -1,43 +1,37 @@ -Full model name,Subtask,Score achieved,Score possible,Accuracy,Iterations -gpt-4o-2024-05-13,intervention,5.3463092463092465,9.0,0.5940343607010274,5 -openhermes-2.5:7:ggufv2:Q4_K_M,intervention,4.984098124098124,9.0,0.5537886804553471,5 -gpt-4-0125-preview,intervention,4.921709401709402,9.0,0.5468566001899335,5 -gpt-4-0613,intervention,4.722525252525252,9.0,0.5247250280583614,5 -openhermes-2.5:7:ggufv2:Q6_K,intervention,4.714492753623189,9.0,0.5238325281803543,5 -openhermes-2.5:7:ggufv2:Q8_0,intervention,4.444651483781919,9.0,0.49385016486465766,5 -gpt-3.5-turbo-0613,intervention,4.271428571428571,9.0,0.4746031746031746,5 -openhermes-2.5:7:ggufv2:Q5_K_M,intervention,4.000207039337474,9.0,0.4444674488152749,5 -gpt-3.5-turbo-0125,intervention,3.75140989729225,9.0,0.4168233219213611,5 -openhermes-2.5:7:ggufv2:Q3_K_M,intervention,3.5523809523809526,9.0,0.39470899470899473,5 -openhermes-2.5:7:ggufv2:Q2_K,intervention,2.927659574468085,9.0,0.32529550827423165,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,intervention,2.2368266496083646,9.0,0.2485362944009294,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,intervention,2.2331897745421765,9.0,0.24813219717135293,5 -mistral-instruct-v0.2:7:ggufv2:Q3_K_M,intervention,1.666767049375745,9.0,0.1851963388195272,5 -mistral-instruct-v0.2:7:ggufv2:Q4_K_M,intervention,1.2341200950913644,9.0,0.1371244550101516,5 -code-llama-instruct:7:ggufv2:Q4_K_M,intervention,1.1717259184426165,9.0,0.13019176871584628,5 -mistral-instruct-v0.2:7:ggufv2:Q5_K_M,intervention,1.1575360671269046,9.0,0.12861511856965607,5 -llama-2-chat:13:ggufv2:Q4_K_M,intervention,1.021566822996163,9.0,0.11350742477735144,5 -mistral-instruct-v0.2:7:ggufv2:Q8_0,intervention,0.9879192236335094,9.0,0.10976880262594549,5 -chatglm3:6:ggmlv3:q4_0,intervention,0.8818058608151487,9.0,0.09797842897946096,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,intervention,0.8796463114992322,9.0,0.09773847905547024,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,intervention,0.7237911711724269,9.0,0.08042124124138077,5 -mistral-instruct-v0.2:7:ggufv2:Q2_K,intervention,0.6801823332298714,9.0,0.07557581480331904,5 -llama-2-chat:70:ggufv2:Q2_K,intervention,0.6689948661120021,9.0,0.07433276290133356,5 -mistral-instruct-v0.2:7:ggufv2:Q6_K,intervention,0.6402575058860598,9.0,0.07113972287622887,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,intervention,0.5506431828869229,9.0,0.06118257587632477,5 -llama-2-chat:70:ggufv2:Q5_K_M,intervention,0.5423021423021422,9.0,0.060255793589126916,5 -llama-2-chat:13:ggufv2:Q2_K,intervention,0.5027223230490018,9.0,0.05585803589433353,5 -llama-2-chat:70:ggufv2:Q4_K_M,intervention,0.4175006011323147,9.0,0.0463889556813683,5 -llama-2-chat:7:ggufv2:Q3_K_M,intervention,0.41675579322638145,9.0,0.046306199247375716,5 -llama-3-instruct:8:ggufv2:Q5_K_M,intervention,0.4108883186602278,9.0,0.0456542576289142,5 -llama-2-chat:70:ggufv2:Q3_K_M,intervention,0.40231906312013965,9.0,0.04470211812445996,5 -llama-3-instruct:8:ggufv2:Q4_K_M,intervention,0.3792297389402494,9.0,0.04213663766002771,5 -llama-2-chat:13:ggufv2:Q5_K_M,intervention,0.3396825396825397,9.0,0.037742504409171075,5 -llama-3-instruct:8:ggufv2:Q6_K,intervention,0.32725668942432845,9.0,0.03636185438048094,5 -llama-3-instruct:8:ggufv2:Q8_0,intervention,0.3191869943934051,9.0,0.03546522159926723,5 -llama-2-chat:13:ggufv2:Q3_K_M,intervention,0.2654761904761905,9.0,0.029497354497354498,5 -llama-2-chat:7:ggufv2:Q5_K_M,intervention,0.24985994397759104,9.0,0.027762215997510116,5 -llama-2-chat:13:ggufv2:Q8_0,intervention,0.24444444444444444,9.0,0.027160493827160494,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,intervention,0.22729963602373637,9.0,0.025255515113748486,5 -llama-2-chat:7:ggufv2:Q2_K,intervention,0.11869103213721546,9.0,0.013187892459690606,5 -llama-2-chat:7:ggufv2:Q4_K_M,intervention,0.07692307692307691,9.0,0.008547008547008546,5 +Full model name,Subtask,Score achieved,Score possible,Score SD,Accuracy,Iterations +gpt-4o-2024-05-13,intervention,5.3463092463092465,9.0,0.0,0.5940343607010274,5 +gpt-4-0125-preview,intervention,4.921709401709402,9.0,0.0,0.5468566001899335,5 +gpt-4-0613,intervention,4.722525252525252,9.0,0.0,0.5247250280583614,5 +gpt-3.5-turbo-0613,intervention,4.271428571428571,9.0,0.0,0.4746031746031746,5 +gpt-3.5-turbo-0125,intervention,3.75140989729225,9.0,0.0,0.4168233219213611,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,intervention,2.2368266496083646,9.0,0.0,0.2485362944009294,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,intervention,2.2331897745421765,9.0,0.0,0.24813219717135293,5 +mistral-instruct-v0.2:7:ggufv2:Q3_K_M,intervention,1.666767049375745,9.0,0.0,0.1851963388195272,5 +mistral-instruct-v0.2:7:ggufv2:Q4_K_M,intervention,1.2341200950913644,9.0,0.0,0.1371244550101516,5 +code-llama-instruct:7:ggufv2:Q4_K_M,intervention,1.1717259184426165,9.0,0.0,0.13019176871584628,5 +mistral-instruct-v0.2:7:ggufv2:Q5_K_M,intervention,1.1575360671269046,9.0,0.0,0.12861511856965607,5 +llama-2-chat:13:ggufv2:Q4_K_M,intervention,1.021566822996163,9.0,0.0,0.11350742477735144,5 +mistral-instruct-v0.2:7:ggufv2:Q8_0,intervention,0.9879192236335094,9.0,0.0,0.10976880262594549,5 +chatglm3:6:ggmlv3:q4_0,intervention,0.8818058608151487,9.0,0.0,0.09797842897946096,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,intervention,0.8796463114992322,9.0,0.0,0.09773847905547024,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,intervention,0.7237911711724269,9.0,0.0,0.08042124124138077,5 +mistral-instruct-v0.2:7:ggufv2:Q2_K,intervention,0.6801823332298714,9.0,0.0,0.07557581480331904,5 +llama-2-chat:70:ggufv2:Q2_K,intervention,0.6689948661120021,9.0,0.0,0.07433276290133356,5 +mistral-instruct-v0.2:7:ggufv2:Q6_K,intervention,0.6402575058860598,9.0,0.0,0.07113972287622887,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,intervention,0.5506431828869229,9.0,0.0,0.06118257587632477,5 +llama-2-chat:70:ggufv2:Q5_K_M,intervention,0.5423021423021422,9.0,0.0,0.060255793589126916,5 +llama-2-chat:13:ggufv2:Q2_K,intervention,0.5027223230490018,9.0,0.0,0.05585803589433353,5 +llama-2-chat:70:ggufv2:Q4_K_M,intervention,0.4175006011323147,9.0,0.0,0.0463889556813683,5 +llama-2-chat:7:ggufv2:Q3_K_M,intervention,0.41675579322638145,9.0,0.0,0.046306199247375716,5 +llama-3-instruct:8:ggufv2:Q5_K_M,intervention,0.4108883186602278,9.0,0.0,0.0456542576289142,5 +llama-2-chat:70:ggufv2:Q3_K_M,intervention,0.40231906312013965,9.0,0.0,0.04470211812445996,5 +llama-3-instruct:8:ggufv2:Q4_K_M,intervention,0.3792297389402494,9.0,0.0,0.04213663766002771,5 +llama-2-chat:13:ggufv2:Q5_K_M,intervention,0.3396825396825397,9.0,0.0,0.037742504409171075,5 +llama-3-instruct:8:ggufv2:Q6_K,intervention,0.32725668942432845,9.0,0.0,0.03636185438048094,5 +llama-3-instruct:8:ggufv2:Q8_0,intervention,0.3191869943934051,9.0,0.0,0.03546522159926723,5 +llama-2-chat:13:ggufv2:Q3_K_M,intervention,0.2654761904761905,9.0,0.0,0.029497354497354498,5 +llama-2-chat:7:ggufv2:Q5_K_M,intervention,0.24985994397759104,9.0,0.0,0.027762215997510116,5 +llama-2-chat:13:ggufv2:Q8_0,intervention,0.24444444444444444,9.0,0.0,0.027160493827160494,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,intervention,0.22729963602373637,9.0,0.0,0.025255515113748486,5 +llama-2-chat:7:ggufv2:Q2_K,intervention,0.11869103213721546,9.0,0.0,0.013187892459690606,5 +llama-2-chat:7:ggufv2:Q4_K_M,intervention,0.07692307692307691,9.0,0.0,0.008547008547008546,5 diff --git a/benchmark/results/processed/extraction_ncbi_link.csv b/benchmark/results/processed/extraction_ncbi_link.csv index 43f719b7..bbe9339d 100644 --- a/benchmark/results/processed/extraction_ncbi_link.csv +++ b/benchmark/results/processed/extraction_ncbi_link.csv @@ -1,43 +1,37 @@ -Full model name,Subtask,Score achieved,Score possible,Accuracy,Iterations -gpt-4-0125-preview,ncbi_link,6.487676767676768,9.0,0.7208529741863076,5 -gpt-4-0613,ncbi_link,6.05933014354067,9.0,0.6732589048378522,5 -openhermes-2.5:7:ggufv2:Q8_0,ncbi_link,3.5303030303030303,9.0,0.39225589225589225,5 -openhermes-2.5:7:ggufv2:Q6_K,ncbi_link,3.5303030303030303,9.0,0.39225589225589225,5 -gpt-4o-2024-05-13,ncbi_link,3.5130158730158727,9.0,0.3903350970017636,5 -openhermes-2.5:7:ggufv2:Q5_K_M,ncbi_link,3.4743589743589745,9.0,0.38603988603988604,5 -openhermes-2.5:7:ggufv2:Q4_K_M,ncbi_link,3.111111111111111,9.0,0.345679012345679,5 -openhermes-2.5:7:ggufv2:Q3_K_M,ncbi_link,2.3743589743589744,9.0,0.2638176638176638,5 -gpt-3.5-turbo-0613,ncbi_link,2.166666666666667,9.0,0.24074074074074078,5 -gpt-3.5-turbo-0125,ncbi_link,1.429245421245421,9.0,0.15880504680504678,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,ncbi_link,1.034286370590962,9.0,0.11492070784344022,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,ncbi_link,0.8849574862916281,9.0,0.09832860958795868,5 -mistral-instruct-v0.2:7:ggufv2:Q2_K,ncbi_link,0.8817049808429118,9.0,0.09796722009365687,5 -mistral-instruct-v0.2:7:ggufv2:Q5_K_M,ncbi_link,0.710989010989011,9.0,0.078998778998779,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,ncbi_link,0.656812284048599,9.0,0.07297914267206657,5 -mistral-instruct-v0.2:7:ggufv2:Q4_K_M,ncbi_link,0.6157142857142858,9.0,0.06841269841269842,5 -mistral-instruct-v0.2:7:ggufv2:Q8_0,ncbi_link,0.5961308336657359,9.0,0.06623675929619288,5 -mistral-instruct-v0.2:7:ggufv2:Q3_K_M,ncbi_link,0.5744215134459038,9.0,0.06382461260510042,5 -mistral-instruct-v0.2:7:ggufv2:Q6_K,ncbi_link,0.5588235294117647,9.0,0.06209150326797386,5 -openhermes-2.5:7:ggufv2:Q2_K,ncbi_link,0.505458458177659,9.0,0.056162050908628774,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,ncbi_link,0.42992719354232,9.0,0.04776968817136889,5 -code-llama-instruct:7:ggufv2:Q4_K_M,ncbi_link,0.32856405720182813,9.0,0.03650711746686979,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,ncbi_link,0.2715480960440281,9.0,0.030172010671558676,5 -llama-2-chat:13:ggufv2:Q8_0,ncbi_link,0.25521669381910267,9.0,0.02835741042434474,5 -llama-2-chat:70:ggufv2:Q2_K,ncbi_link,0.25373519266924016,9.0,0.02819279918547113,5 -llama-2-chat:13:ggufv2:Q4_K_M,ncbi_link,0.24623065697868848,9.0,0.02735896188652094,5 -llama-2-chat:70:ggufv2:Q4_K_M,ncbi_link,0.24135655594682912,9.0,0.026817395105203236,5 -llama-2-chat:13:ggufv2:Q5_K_M,ncbi_link,0.23680182455495857,9.0,0.02631131383943984,5 -llama-3-instruct:8:ggufv2:Q4_K_M,ncbi_link,0.2338151259212864,9.0,0.025979458435698488,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,ncbi_link,0.23090899438355197,9.0,0.025656554931505773,5 -llama-2-chat:7:ggufv2:Q4_K_M,ncbi_link,0.21634052173961274,9.0,0.02403783574884586,5 -llama-2-chat:70:ggufv2:Q5_K_M,ncbi_link,0.19698079698079698,9.0,0.021886755220088552,5 -llama-2-chat:13:ggufv2:Q2_K,ncbi_link,0.19257409257409258,9.0,0.021397121397121396,5 -llama-3-instruct:8:ggufv2:Q8_0,ncbi_link,0.1792109557873401,9.0,0.019912328420815566,5 -llama-2-chat:7:ggufv2:Q3_K_M,ncbi_link,0.17733936543714338,9.0,0.019704373937460374,5 -llama-3-instruct:8:ggufv2:Q6_K,ncbi_link,0.17301412434154093,9.0,0.019223791593504548,5 -llama-2-chat:7:ggufv2:Q5_K_M,ncbi_link,0.17095230580396897,9.0,0.01899470064488544,5 -llama-2-chat:70:ggufv2:Q3_K_M,ncbi_link,0.16677679397383377,9.0,0.01853075488598153,5 -llama-3-instruct:8:ggufv2:Q5_K_M,ncbi_link,0.16661411920928748,9.0,0.018512679912143053,5 -llama-2-chat:7:ggufv2:Q2_K,ncbi_link,0.15270950759160043,9.0,0.01696772306573338,5 -llama-2-chat:13:ggufv2:Q3_K_M,ncbi_link,0.15001139403632444,9.0,0.016667932670702715,5 -chatglm3:6:ggmlv3:q4_0,ncbi_link,0.12285744264659926,9.0,0.013650826960733251,5 +Full model name,Subtask,Score achieved,Score possible,Score SD,Accuracy,Iterations +gpt-4-0125-preview,ncbi_link,6.487676767676768,9.0,0.0,0.7208529741863076,5 +gpt-4-0613,ncbi_link,6.05933014354067,9.0,0.0,0.6732589048378522,5 +gpt-4o-2024-05-13,ncbi_link,3.5130158730158727,9.0,0.0,0.3903350970017636,5 +gpt-3.5-turbo-0613,ncbi_link,2.166666666666667,9.0,0.0,0.24074074074074078,5 +gpt-3.5-turbo-0125,ncbi_link,1.429245421245421,9.0,0.0,0.15880504680504678,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,ncbi_link,1.034286370590962,9.0,0.0,0.11492070784344022,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,ncbi_link,0.8849574862916281,9.0,0.0,0.09832860958795868,5 +mistral-instruct-v0.2:7:ggufv2:Q2_K,ncbi_link,0.8817049808429118,9.0,0.0,0.09796722009365687,5 +mistral-instruct-v0.2:7:ggufv2:Q5_K_M,ncbi_link,0.710989010989011,9.0,0.0,0.078998778998779,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,ncbi_link,0.656812284048599,9.0,0.0,0.07297914267206657,5 +mistral-instruct-v0.2:7:ggufv2:Q4_K_M,ncbi_link,0.6157142857142858,9.0,0.0,0.06841269841269842,5 +mistral-instruct-v0.2:7:ggufv2:Q8_0,ncbi_link,0.5961308336657359,9.0,0.0,0.06623675929619288,5 +mistral-instruct-v0.2:7:ggufv2:Q3_K_M,ncbi_link,0.5744215134459038,9.0,0.0,0.06382461260510042,5 +mistral-instruct-v0.2:7:ggufv2:Q6_K,ncbi_link,0.5588235294117647,9.0,0.0,0.06209150326797386,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,ncbi_link,0.42992719354232,9.0,0.0,0.04776968817136889,5 +code-llama-instruct:7:ggufv2:Q4_K_M,ncbi_link,0.32856405720182813,9.0,0.0,0.03650711746686979,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,ncbi_link,0.2715480960440281,9.0,0.0,0.030172010671558676,5 +llama-2-chat:13:ggufv2:Q8_0,ncbi_link,0.25521669381910267,9.0,0.0,0.02835741042434474,5 +llama-2-chat:70:ggufv2:Q2_K,ncbi_link,0.25373519266924016,9.0,0.0,0.02819279918547113,5 +llama-2-chat:13:ggufv2:Q4_K_M,ncbi_link,0.24623065697868848,9.0,0.0,0.02735896188652094,5 +llama-2-chat:70:ggufv2:Q4_K_M,ncbi_link,0.24135655594682912,9.0,0.0,0.026817395105203236,5 +llama-2-chat:13:ggufv2:Q5_K_M,ncbi_link,0.23680182455495857,9.0,0.0,0.02631131383943984,5 +llama-3-instruct:8:ggufv2:Q4_K_M,ncbi_link,0.2338151259212864,9.0,0.0,0.025979458435698488,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,ncbi_link,0.23090899438355197,9.0,0.0,0.025656554931505773,5 +llama-2-chat:7:ggufv2:Q4_K_M,ncbi_link,0.21634052173961274,9.0,0.0,0.02403783574884586,5 +llama-2-chat:70:ggufv2:Q5_K_M,ncbi_link,0.19698079698079698,9.0,0.0,0.021886755220088552,5 +llama-2-chat:13:ggufv2:Q2_K,ncbi_link,0.19257409257409258,9.0,0.0,0.021397121397121396,5 +llama-3-instruct:8:ggufv2:Q8_0,ncbi_link,0.1792109557873401,9.0,0.0,0.019912328420815566,5 +llama-2-chat:7:ggufv2:Q3_K_M,ncbi_link,0.17733936543714338,9.0,0.0,0.019704373937460374,5 +llama-3-instruct:8:ggufv2:Q6_K,ncbi_link,0.17301412434154093,9.0,0.0,0.019223791593504548,5 +llama-2-chat:7:ggufv2:Q5_K_M,ncbi_link,0.17095230580396897,9.0,0.0,0.01899470064488544,5 +llama-2-chat:70:ggufv2:Q3_K_M,ncbi_link,0.16677679397383377,9.0,0.0,0.01853075488598153,5 +llama-3-instruct:8:ggufv2:Q5_K_M,ncbi_link,0.16661411920928748,9.0,0.0,0.018512679912143053,5 +llama-2-chat:7:ggufv2:Q2_K,ncbi_link,0.15270950759160043,9.0,0.0,0.01696772306573338,5 +llama-2-chat:13:ggufv2:Q3_K_M,ncbi_link,0.15001139403632444,9.0,0.0,0.016667932670702715,5 +chatglm3:6:ggmlv3:q4_0,ncbi_link,0.12285744264659926,9.0,0.0,0.013650826960733251,5 diff --git a/benchmark/results/processed/extraction_significance.csv b/benchmark/results/processed/extraction_significance.csv index 626257d9..95624ea4 100644 --- a/benchmark/results/processed/extraction_significance.csv +++ b/benchmark/results/processed/extraction_significance.csv @@ -1,43 +1,37 @@ -Full model name,Subtask,Score achieved,Score possible,Accuracy,Iterations -gpt-4-0613,significance,5.6,9.0,0.6222222222222222,5 -gpt-4-0125-preview,significance,5.183838383838384,9.0,0.5759820426487093,5 -gpt-4o-2024-05-13,significance,4.224242424242425,9.0,0.4693602693602694,5 -openhermes-2.5:7:ggufv2:Q4_K_M,significance,3.9299621603027175,9.0,0.4366624622558575,5 -openhermes-2.5:7:ggufv2:Q8_0,significance,3.7818181818181817,9.0,0.4202020202020202,5 -openhermes-2.5:7:ggufv2:Q6_K,significance,3.7818181818181817,9.0,0.4202020202020202,5 -openhermes-2.5:7:ggufv2:Q5_K_M,significance,3.7778656126482213,9.0,0.4197628458498024,5 -openhermes-2.5:7:ggufv2:Q3_K_M,significance,3.690909090909091,9.0,0.4101010101010101,5 -gpt-3.5-turbo-0613,significance,3.5856190867955573,9.0,0.39840212075506193,5 -gpt-3.5-turbo-0125,significance,3.517171717171717,9.0,0.3907968574635241,5 -mistral-instruct-v0.2:7:ggufv2:Q4_K_M,significance,2.9383333333333335,9.0,0.3264814814814815,5 -mistral-instruct-v0.2:7:ggufv2:Q6_K,significance,2.8792785966845758,9.0,0.319919844076064,5 -mistral-instruct-v0.2:7:ggufv2:Q3_K_M,significance,2.7942307692307695,9.0,0.3104700854700855,5 -mistral-instruct-v0.2:7:ggufv2:Q8_0,significance,2.6229622729389845,9.0,0.29144025254877604,5 -mistral-instruct-v0.2:7:ggufv2:Q5_K_M,significance,2.567240554758489,9.0,0.285248950528721,5 -openhermes-2.5:7:ggufv2:Q2_K,significance,2.485141424991049,9.0,0.2761268249990054,5 -mistral-instruct-v0.2:7:ggufv2:Q2_K,significance,2.481302080320024,9.0,0.2757002311466693,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,significance,1.5069578149314649,9.0,0.16743975721460722,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,significance,1.3486884546101556,9.0,0.14985427273446172,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,significance,1.3145362138179246,9.0,0.14605957931310273,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,significance,1.231197547615458,9.0,0.13679972751282865,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,significance,1.0112912805345189,9.0,0.11236569783716877,5 -llama-3-instruct:8:ggufv2:Q6_K,significance,0.9949711025646718,9.0,0.11055234472940798,5 -llama-3-instruct:8:ggufv2:Q8_0,significance,0.9572590222272351,9.0,0.1063621135808039,5 -llama-2-chat:70:ggufv2:Q3_K_M,significance,0.7583791834947845,9.0,0.08426435372164272,5 -llama-2-chat:70:ggufv2:Q2_K,significance,0.7165467591798016,9.0,0.07961630657553351,5 -llama-2-chat:70:ggufv2:Q4_K_M,significance,0.6838603399546959,9.0,0.07598448221718843,5 -llama-3-instruct:8:ggufv2:Q5_K_M,significance,0.636128048984776,9.0,0.07068089433164178,5 -llama-2-chat:70:ggufv2:Q5_K_M,significance,0.518571521503984,9.0,0.057619057944887114,5 -llama-2-chat:7:ggufv2:Q4_K_M,significance,0.32945719657518496,9.0,0.036606355175020554,5 -llama-2-chat:13:ggufv2:Q8_0,significance,0.3260259832433181,9.0,0.036225109249257564,5 -llama-2-chat:7:ggufv2:Q5_K_M,significance,0.28118779770953684,9.0,0.03124308863439298,5 -llama-3-instruct:8:ggufv2:Q4_K_M,significance,0.22846080591134804,9.0,0.025384533990149782,5 -llama-2-chat:13:ggufv2:Q4_K_M,significance,0.21324584615769587,9.0,0.023693982906410654,5 -llama-2-chat:13:ggufv2:Q2_K,significance,0.20795701546534595,9.0,0.023106335051705104,5 -llama-2-chat:13:ggufv2:Q5_K_M,significance,0.20527101504804238,9.0,0.022807890560893596,5 -llama-2-chat:7:ggufv2:Q3_K_M,significance,0.19494646479678557,9.0,0.021660718310753953,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,significance,0.17807757967941035,9.0,0.019786397742156705,5 -llama-2-chat:13:ggufv2:Q3_K_M,significance,0.13148363330668017,9.0,0.01460929258963113,5 -code-llama-instruct:7:ggufv2:Q4_K_M,significance,0.12391414962146649,9.0,0.01376823884682961,5 -chatglm3:6:ggmlv3:q4_0,significance,0.11815301463050974,9.0,0.013128112736723305,5 -llama-2-chat:7:ggufv2:Q2_K,significance,0.10327808287281291,9.0,0.011475342541423657,5 +Full model name,Subtask,Score achieved,Score possible,Score SD,Accuracy,Iterations +gpt-4-0613,significance,5.6,9.0,0.0,0.6222222222222222,5 +gpt-4-0125-preview,significance,5.183838383838384,9.0,0.0,0.5759820426487093,5 +gpt-4o-2024-05-13,significance,4.224242424242425,9.0,0.0,0.4693602693602694,5 +gpt-3.5-turbo-0613,significance,3.5856190867955573,9.0,0.0,0.39840212075506193,5 +gpt-3.5-turbo-0125,significance,3.517171717171717,9.0,0.0,0.3907968574635241,5 +mistral-instruct-v0.2:7:ggufv2:Q4_K_M,significance,2.9383333333333335,9.0,0.0,0.3264814814814815,5 +mistral-instruct-v0.2:7:ggufv2:Q6_K,significance,2.8792785966845758,9.0,0.0,0.319919844076064,5 +mistral-instruct-v0.2:7:ggufv2:Q3_K_M,significance,2.7942307692307695,9.0,0.0,0.3104700854700855,5 +mistral-instruct-v0.2:7:ggufv2:Q8_0,significance,2.6229622729389845,9.0,0.0,0.29144025254877604,5 +mistral-instruct-v0.2:7:ggufv2:Q5_K_M,significance,2.567240554758489,9.0,0.0,0.285248950528721,5 +mistral-instruct-v0.2:7:ggufv2:Q2_K,significance,2.481302080320024,9.0,0.0,0.2757002311466693,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,significance,1.5069578149314649,9.0,0.0,0.16743975721460722,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,significance,1.3486884546101556,9.0,0.0,0.14985427273446172,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,significance,1.3145362138179246,9.0,0.0,0.14605957931310273,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,significance,1.231197547615458,9.0,0.0,0.13679972751282865,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,significance,1.0112912805345189,9.0,0.0,0.11236569783716877,5 +llama-3-instruct:8:ggufv2:Q6_K,significance,0.9949711025646718,9.0,0.0,0.11055234472940798,5 +llama-3-instruct:8:ggufv2:Q8_0,significance,0.9572590222272351,9.0,0.0,0.1063621135808039,5 +llama-2-chat:70:ggufv2:Q3_K_M,significance,0.7583791834947845,9.0,0.0,0.08426435372164272,5 +llama-2-chat:70:ggufv2:Q2_K,significance,0.7165467591798016,9.0,0.0,0.07961630657553351,5 +llama-2-chat:70:ggufv2:Q4_K_M,significance,0.6838603399546959,9.0,0.0,0.07598448221718843,5 +llama-3-instruct:8:ggufv2:Q5_K_M,significance,0.636128048984776,9.0,0.0,0.07068089433164178,5 +llama-2-chat:70:ggufv2:Q5_K_M,significance,0.518571521503984,9.0,0.0,0.057619057944887114,5 +llama-2-chat:7:ggufv2:Q4_K_M,significance,0.32945719657518496,9.0,0.0,0.036606355175020554,5 +llama-2-chat:13:ggufv2:Q8_0,significance,0.3260259832433181,9.0,0.0,0.036225109249257564,5 +llama-2-chat:7:ggufv2:Q5_K_M,significance,0.28118779770953684,9.0,0.0,0.03124308863439298,5 +llama-3-instruct:8:ggufv2:Q4_K_M,significance,0.22846080591134804,9.0,0.0,0.025384533990149782,5 +llama-2-chat:13:ggufv2:Q4_K_M,significance,0.21324584615769587,9.0,0.0,0.023693982906410654,5 +llama-2-chat:13:ggufv2:Q2_K,significance,0.20795701546534595,9.0,0.0,0.023106335051705104,5 +llama-2-chat:13:ggufv2:Q5_K_M,significance,0.20527101504804238,9.0,0.0,0.022807890560893596,5 +llama-2-chat:7:ggufv2:Q3_K_M,significance,0.19494646479678557,9.0,0.0,0.021660718310753953,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,significance,0.17807757967941035,9.0,0.0,0.019786397742156705,5 +llama-2-chat:13:ggufv2:Q3_K_M,significance,0.13148363330668017,9.0,0.0,0.01460929258963113,5 +code-llama-instruct:7:ggufv2:Q4_K_M,significance,0.12391414962146649,9.0,0.0,0.01376823884682961,5 +chatglm3:6:ggmlv3:q4_0,significance,0.11815301463050974,9.0,0.0,0.013128112736723305,5 +llama-2-chat:7:ggufv2:Q2_K,significance,0.10327808287281291,9.0,0.0,0.011475342541423657,5 diff --git a/benchmark/results/processed/extraction_stats.csv b/benchmark/results/processed/extraction_stats.csv index c0d7bcd7..0491e0fa 100644 --- a/benchmark/results/processed/extraction_stats.csv +++ b/benchmark/results/processed/extraction_stats.csv @@ -1,43 +1,37 @@ -Full model name,Subtask,Score achieved,Score possible,Accuracy,Iterations -gpt-4-0125-preview,stats,8.866666666666667,9.0,0.9851851851851853,5 -openhermes-2.5:7:ggufv2:Q8_0,stats,8.666666666666666,9.0,0.9629629629629629,5 -openhermes-2.5:7:ggufv2:Q6_K,stats,8.666666666666666,9.0,0.9629629629629629,5 -openhermes-2.5:7:ggufv2:Q5_K_M,stats,8.528205128205128,9.0,0.9475783475783476,5 -gpt-4o-2024-05-13,stats,8.512820512820513,9.0,0.9458689458689459,5 -gpt-4-0613,stats,8.512820512820513,9.0,0.9458689458689459,5 -openhermes-2.5:7:ggufv2:Q4_K_M,stats,8.256410256410255,9.0,0.9173789173789173,5 -openhermes-2.5:7:ggufv2:Q3_K_M,stats,8.056410256410256,9.0,0.8951566951566952,5 -openhermes-2.5:7:ggufv2:Q2_K,stats,8.0,9.0,0.8888888888888888,5 -gpt-3.5-turbo-0613,stats,7.981351981351981,9.0,0.8868168868168868,5 -gpt-3.5-turbo-0125,stats,7.129756517991812,9.0,0.7921951686657569,5 -mistral-instruct-v0.2:7:ggufv2:Q5_K_M,stats,6.890909090909091,9.0,0.7656565656565656,5 -mistral-instruct-v0.2:7:ggufv2:Q4_K_M,stats,6.299077733860343,9.0,0.6998975259844825,5 -mistral-instruct-v0.2:7:ggufv2:Q6_K,stats,6.183216783216784,9.0,0.6870240870240871,5 -llama-3-instruct:8:ggufv2:Q8_0,stats,5.174057315233785,9.0,0.5748952572481983,5 -mistral-instruct-v0.2:7:ggufv2:Q3_K_M,stats,5.104101080900805,9.0,0.5671223423223117,5 -mistral-instruct-v0.2:7:ggufv2:Q8_0,stats,5.045909090909091,9.0,0.5606565656565656,5 -mistral-instruct-v0.2:7:ggufv2:Q2_K,stats,4.634958597504569,9.0,0.5149953997227299,5 -llama-3-instruct:8:ggufv2:Q6_K,stats,4.307390648567119,9.0,0.47859896095190213,5 -llama-3-instruct:8:ggufv2:Q5_K_M,stats,3.9346000361725464,9.0,0.4371777817969496,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,stats,3.6073713073458245,9.0,0.40081903414953607,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,stats,3.588411096085807,9.0,0.39871234400953415,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,stats,3.2121322022685,9.0,0.35690357802983336,5 -llama-2-chat:70:ggufv2:Q4_K_M,stats,3.081094163745964,9.0,0.3423437959717738,5 -llama-3-instruct:8:ggufv2:Q4_K_M,stats,2.9884330492788638,9.0,0.33204811658654043,5 -llama-2-chat:70:ggufv2:Q2_K,stats,2.6521576783323773,9.0,0.29468418648137523,5 -llama-2-chat:70:ggufv2:Q3_K_M,stats,2.4427578309257907,9.0,0.2714175367695323,5 -llama-2-chat:70:ggufv2:Q5_K_M,stats,2.3992987377279102,9.0,0.26658874863643445,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,stats,2.215486660205841,9.0,0.24616518446731567,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,stats,1.962407501341588,9.0,0.2180452779268431,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,stats,1.7605678385061008,9.0,0.19561864872290008,5 -llama-2-chat:7:ggufv2:Q4_K_M,stats,1.4358877949834266,9.0,0.15954308833149183,5 -llama-2-chat:13:ggufv2:Q4_K_M,stats,1.4169529773490168,9.0,0.1574392197054463,5 -llama-2-chat:13:ggufv2:Q8_0,stats,1.3860848702953967,9.0,0.15400943003282186,5 -llama-2-chat:7:ggufv2:Q5_K_M,stats,1.385898294989204,9.0,0.1539886994432449,5 -llama-2-chat:13:ggufv2:Q3_K_M,stats,1.3583441929407405,9.0,0.15092713254897117,5 -llama-2-chat:13:ggufv2:Q5_K_M,stats,1.3371043771043771,9.0,0.14856715301159745,5 -llama-2-chat:13:ggufv2:Q2_K,stats,1.124390336621619,9.0,0.12493225962462434,5 -code-llama-instruct:7:ggufv2:Q4_K_M,stats,0.8604711736840427,9.0,0.09560790818711586,5 -llama-2-chat:7:ggufv2:Q3_K_M,stats,0.8045382395382396,9.0,0.08939313772647106,5 -llama-2-chat:7:ggufv2:Q2_K,stats,0.5580306844640426,9.0,0.06200340938489362,5 -chatglm3:6:ggmlv3:q4_0,stats,0.1792496201749341,9.0,0.019916624463881566,5 +Full model name,Subtask,Score achieved,Score possible,Score SD,Accuracy,Iterations +gpt-4-0125-preview,stats,8.866666666666667,9.0,0.0,0.9851851851851853,5 +gpt-4-0613,stats,8.512820512820513,9.0,0.0,0.9458689458689459,5 +gpt-4o-2024-05-13,stats,8.512820512820513,9.0,0.0,0.9458689458689459,5 +gpt-3.5-turbo-0613,stats,7.981351981351981,9.0,0.0,0.8868168868168868,5 +gpt-3.5-turbo-0125,stats,7.129756517991812,9.0,0.0,0.7921951686657569,5 +mistral-instruct-v0.2:7:ggufv2:Q5_K_M,stats,6.890909090909091,9.0,0.0,0.7656565656565656,5 +mistral-instruct-v0.2:7:ggufv2:Q4_K_M,stats,6.299077733860343,9.0,0.0,0.6998975259844825,5 +mistral-instruct-v0.2:7:ggufv2:Q6_K,stats,6.183216783216784,9.0,0.0,0.6870240870240871,5 +llama-3-instruct:8:ggufv2:Q8_0,stats,5.174057315233785,9.0,0.0,0.5748952572481983,5 +mistral-instruct-v0.2:7:ggufv2:Q3_K_M,stats,5.104101080900805,9.0,0.0,0.5671223423223117,5 +mistral-instruct-v0.2:7:ggufv2:Q8_0,stats,5.045909090909091,9.0,0.0,0.5606565656565656,5 +mistral-instruct-v0.2:7:ggufv2:Q2_K,stats,4.634958597504569,9.0,0.0,0.5149953997227299,5 +llama-3-instruct:8:ggufv2:Q6_K,stats,4.307390648567119,9.0,0.0,0.47859896095190213,5 +llama-3-instruct:8:ggufv2:Q5_K_M,stats,3.9346000361725464,9.0,0.0,0.4371777817969496,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,stats,3.6073713073458245,9.0,0.0,0.40081903414953607,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,stats,3.588411096085807,9.0,0.0,0.39871234400953415,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,stats,3.2121322022685,9.0,0.0,0.35690357802983336,5 +llama-2-chat:70:ggufv2:Q4_K_M,stats,3.081094163745964,9.0,0.0,0.3423437959717738,5 +llama-3-instruct:8:ggufv2:Q4_K_M,stats,2.9884330492788638,9.0,0.0,0.33204811658654043,5 +llama-2-chat:70:ggufv2:Q2_K,stats,2.6521576783323773,9.0,0.0,0.29468418648137523,5 +llama-2-chat:70:ggufv2:Q3_K_M,stats,2.4427578309257907,9.0,0.0,0.2714175367695323,5 +llama-2-chat:70:ggufv2:Q5_K_M,stats,2.3992987377279102,9.0,0.0,0.26658874863643445,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,stats,2.215486660205841,9.0,0.0,0.24616518446731567,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,stats,1.962407501341588,9.0,0.0,0.2180452779268431,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,stats,1.7605678385061008,9.0,0.0,0.19561864872290008,5 +llama-2-chat:7:ggufv2:Q4_K_M,stats,1.4358877949834266,9.0,0.0,0.15954308833149183,5 +llama-2-chat:13:ggufv2:Q4_K_M,stats,1.4169529773490168,9.0,0.0,0.1574392197054463,5 +llama-2-chat:13:ggufv2:Q8_0,stats,1.3860848702953967,9.0,0.0,0.15400943003282186,5 +llama-2-chat:7:ggufv2:Q5_K_M,stats,1.385898294989204,9.0,0.0,0.1539886994432449,5 +llama-2-chat:13:ggufv2:Q3_K_M,stats,1.3583441929407405,9.0,0.0,0.15092713254897117,5 +llama-2-chat:13:ggufv2:Q5_K_M,stats,1.3371043771043771,9.0,0.0,0.14856715301159745,5 +llama-2-chat:13:ggufv2:Q2_K,stats,1.124390336621619,9.0,0.0,0.12493225962462434,5 +code-llama-instruct:7:ggufv2:Q4_K_M,stats,0.8604711736840427,9.0,0.0,0.09560790818711586,5 +llama-2-chat:7:ggufv2:Q3_K_M,stats,0.8045382395382396,9.0,0.0,0.08939313772647106,5 +llama-2-chat:7:ggufv2:Q2_K,stats,0.5580306844640426,9.0,0.0,0.06200340938489362,5 +chatglm3:6:ggmlv3:q4_0,stats,0.1792496201749341,9.0,0.0,0.019916624463881566,5 diff --git a/benchmark/results/processed/implicit_relevance_of_multiple_fragments.csv b/benchmark/results/processed/implicit_relevance_of_multiple_fragments.csv index 406f8a0d..956c13f5 100644 --- a/benchmark/results/processed/implicit_relevance_of_multiple_fragments.csv +++ b/benchmark/results/processed/implicit_relevance_of_multiple_fragments.csv @@ -1,63 +1,63 @@ -Full model name,Score achieved,Score possible,Accuracy,Iterations -chatglm3:6:ggmlv3:q4_0,2.0,2.0,1.0,5 -mistral-instruct-v0.2:7:ggufv2:Q3_K_M,2.0,2.0,1.0,5 -llama-2-chat:70:ggufv2:Q4_K_M,2.0,2.0,1.0,5 -llama-2-chat:7:ggufv2:Q2_K,2.0,2.0,1.0,5 -llama-2-chat:7:ggufv2:Q3_K_M,2.0,2.0,1.0,5 -llama-3-instruct:8:ggufv2:Q4_K_M,2.0,2.0,1.0,5 -llama-3-instruct:8:ggufv2:Q5_K_M,2.0,2.0,1.0,5 -llama-3-instruct:8:ggufv2:Q6_K,2.0,2.0,1.0,5 -llama-3-instruct:8:ggufv2:Q8_0,2.0,2.0,1.0,5 -mistral-instruct-v0.2:7:ggufv2:Q4_K_M,2.0,2.0,1.0,5 -gpt-3.5-turbo-0613,2.0,2.0,1.0,5 -mistral-instruct-v0.2:7:ggufv2:Q5_K_M,2.0,2.0,1.0,5 -mistral-instruct-v0.2:7:ggufv2:Q6_K,2.0,2.0,1.0,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,2.0,2.0,1.0,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,2.0,2.0,1.0,5 -openhermes-2.5:7:ggufv2:Q4_K_M,2.0,2.0,1.0,5 -openhermes-2.5:7:ggufv2:Q5_K_M,2.0,2.0,1.0,5 -openhermes-2.5:7:ggufv2:Q6_K,2.0,2.0,1.0,5 -gpt-4-0613,2.0,2.0,1.0,5 -openhermes-2.5:7:ggufv2:Q8_0,2.0,2.0,1.0,5 -code-llama-instruct:34:ggufv2:Q2_K,2.0,2.0,1.0,5 -code-llama-instruct:34:ggufv2:Q5_K_M,2.0,2.0,1.0,5 -code-llama-instruct:7:ggufv2:Q4_K_M,2.0,2.0,1.0,5 -gpt-3.5-turbo-0125,1.8,2.0,0.9,5 -code-llama-instruct:7:ggufv2:Q6_K,1.8,2.0,0.9,5 -mistral-instruct-v0.2:7:ggufv2:Q8_0,1.8,2.0,0.9,5 -code-llama-instruct:34:ggufv2:Q6_K,1.8,2.0,0.9,5 -code-llama-instruct:34:ggufv2:Q8_0,1.8,2.0,0.9,5 -llama-2-chat:70:ggufv2:Q5_K_M,1.8,2.0,0.9,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,1.4,2.0,0.7,5 -code-llama-instruct:7:ggufv2:Q3_K_M,1.4,2.0,0.7,5 -code-llama-instruct:7:ggufv2:Q2_K,1.4,2.0,0.7,5 -gpt-4o-2024-05-13,1.4,2.0,0.7,5 -llama-2-chat:7:ggufv2:Q5_K_M,1.2,2.0,0.6,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,1.2,2.0,0.6,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,1.2,2.0,0.6,5 -code-llama-instruct:34:ggufv2:Q3_K_M,1.0,2.0,0.5,5 -llama-2-chat:70:ggufv2:Q2_K,1.0,2.0,0.5,5 -code-llama-instruct:13:ggufv2:Q4_K_M,1.0,2.0,0.5,5 -code-llama-instruct:13:ggufv2:Q5_K_M,1.0,2.0,0.5,5 -openhermes-2.5:7:ggufv2:Q3_K_M,1.0,2.0,0.5,5 -openhermes-2.5:7:ggufv2:Q2_K,1.0,2.0,0.5,5 -code-llama-instruct:7:ggufv2:Q8_0,1.0,2.0,0.5,5 -code-llama-instruct:13:ggufv2:Q6_K,1.0,2.0,0.5,5 -code-llama-instruct:13:ggufv2:Q8_0,1.0,2.0,0.5,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,1.0,2.0,0.5,5 -llama-2-chat:13:ggufv2:Q2_K,1.0,2.0,0.5,5 -llama-2-chat:70:ggufv2:Q3_K_M,1.0,2.0,0.5,5 -llama-2-chat:13:ggufv2:Q3_K_M,1.0,2.0,0.5,5 -mistral-instruct-v0.2:7:ggufv2:Q2_K,1.0,2.0,0.5,5 -llama-2-chat:13:ggufv2:Q4_K_M,1.0,2.0,0.5,5 -llama-2-chat:13:ggufv2:Q5_K_M,1.0,2.0,0.5,5 -gpt-4-0125-preview,1.0,2.0,0.5,5 -llama-2-chat:13:ggufv2:Q6_K,1.0,2.0,0.5,5 -llama-2-chat:7:ggufv2:Q8_0,1.0,2.0,0.5,5 -llama-2-chat:7:ggufv2:Q6_K,1.0,2.0,0.5,5 -llama-2-chat:7:ggufv2:Q4_K_M,1.0,2.0,0.5,5 -llama-2-chat:13:ggufv2:Q8_0,1.0,2.0,0.5,5 -code-llama-instruct:7:ggufv2:Q5_K_M,1.0,2.0,0.5,5 -code-llama-instruct:34:ggufv2:Q4_K_M,0.8,2.0,0.4,5 -code-llama-instruct:13:ggufv2:Q2_K,0.8,2.0,0.4,5 -code-llama-instruct:13:ggufv2:Q3_K_M,0.0,2.0,0.0,5 +Full model name,Score achieved,Score possible,Score SD,Accuracy,Iterations +chatglm3:6:ggmlv3:q4_0,2.0,2.0,0,1.0,5 +mistral-instruct-v0.2:7:ggufv2:Q3_K_M,2.0,2.0,0,1.0,5 +llama-2-chat:70:ggufv2:Q4_K_M,2.0,2.0,0,1.0,5 +llama-2-chat:7:ggufv2:Q2_K,2.0,2.0,0,1.0,5 +llama-2-chat:7:ggufv2:Q3_K_M,2.0,2.0,0,1.0,5 +llama-3-instruct:8:ggufv2:Q4_K_M,2.0,2.0,0,1.0,5 +llama-3-instruct:8:ggufv2:Q5_K_M,2.0,2.0,0,1.0,5 +llama-3-instruct:8:ggufv2:Q6_K,2.0,2.0,0,1.0,5 +llama-3-instruct:8:ggufv2:Q8_0,2.0,2.0,0,1.0,5 +mistral-instruct-v0.2:7:ggufv2:Q4_K_M,2.0,2.0,0,1.0,5 +gpt-3.5-turbo-0613,2.0,2.0,0,1.0,5 +mistral-instruct-v0.2:7:ggufv2:Q5_K_M,2.0,2.0,0,1.0,5 +mistral-instruct-v0.2:7:ggufv2:Q6_K,2.0,2.0,0,1.0,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,2.0,2.0,0,1.0,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,2.0,2.0,0,1.0,5 +openhermes-2.5:7:ggufv2:Q4_K_M,2.0,2.0,0,1.0,5 +openhermes-2.5:7:ggufv2:Q5_K_M,2.0,2.0,0,1.0,5 +openhermes-2.5:7:ggufv2:Q6_K,2.0,2.0,0,1.0,5 +gpt-4-0613,2.0,2.0,0,1.0,5 +openhermes-2.5:7:ggufv2:Q8_0,2.0,2.0,0,1.0,5 +code-llama-instruct:34:ggufv2:Q2_K,2.0,2.0,0,1.0,5 +code-llama-instruct:34:ggufv2:Q5_K_M,2.0,2.0,0,1.0,5 +code-llama-instruct:7:ggufv2:Q4_K_M,2.0,2.0,0,1.0,5 +gpt-3.5-turbo-0125,1.8,2.0,0,0.9,5 +code-llama-instruct:7:ggufv2:Q6_K,1.8,2.0,0,0.9,5 +mistral-instruct-v0.2:7:ggufv2:Q8_0,1.8,2.0,0,0.9,5 +code-llama-instruct:34:ggufv2:Q6_K,1.8,2.0,0,0.9,5 +code-llama-instruct:34:ggufv2:Q8_0,1.8,2.0,0,0.9,5 +llama-2-chat:70:ggufv2:Q5_K_M,1.8,2.0,0,0.9,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,1.4,2.0,0,0.7,5 +code-llama-instruct:7:ggufv2:Q3_K_M,1.4,2.0,0,0.7,5 +code-llama-instruct:7:ggufv2:Q2_K,1.4,2.0,0,0.7,5 +gpt-4o-2024-05-13,1.4,2.0,0,0.7,5 +llama-2-chat:7:ggufv2:Q5_K_M,1.2,2.0,0,0.6,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,1.2,2.0,0,0.6,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,1.2,2.0,0,0.6,5 +code-llama-instruct:34:ggufv2:Q3_K_M,1.0,2.0,0,0.5,5 +llama-2-chat:70:ggufv2:Q2_K,1.0,2.0,0,0.5,5 +code-llama-instruct:13:ggufv2:Q4_K_M,1.0,2.0,0,0.5,5 +code-llama-instruct:13:ggufv2:Q5_K_M,1.0,2.0,0,0.5,5 +openhermes-2.5:7:ggufv2:Q3_K_M,1.0,2.0,0,0.5,5 +openhermes-2.5:7:ggufv2:Q2_K,1.0,2.0,0,0.5,5 +code-llama-instruct:7:ggufv2:Q8_0,1.0,2.0,0,0.5,5 +code-llama-instruct:13:ggufv2:Q6_K,1.0,2.0,0,0.5,5 +code-llama-instruct:13:ggufv2:Q8_0,1.0,2.0,0,0.5,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,1.0,2.0,0,0.5,5 +llama-2-chat:13:ggufv2:Q2_K,1.0,2.0,0,0.5,5 +llama-2-chat:70:ggufv2:Q3_K_M,1.0,2.0,0,0.5,5 +llama-2-chat:13:ggufv2:Q3_K_M,1.0,2.0,0,0.5,5 +mistral-instruct-v0.2:7:ggufv2:Q2_K,1.0,2.0,0,0.5,5 +llama-2-chat:13:ggufv2:Q4_K_M,1.0,2.0,0,0.5,5 +llama-2-chat:13:ggufv2:Q5_K_M,1.0,2.0,0,0.5,5 +gpt-4-0125-preview,1.0,2.0,0,0.5,5 +llama-2-chat:13:ggufv2:Q6_K,1.0,2.0,0,0.5,5 +llama-2-chat:7:ggufv2:Q8_0,1.0,2.0,0,0.5,5 +llama-2-chat:7:ggufv2:Q6_K,1.0,2.0,0,0.5,5 +llama-2-chat:7:ggufv2:Q4_K_M,1.0,2.0,0,0.5,5 +llama-2-chat:13:ggufv2:Q8_0,1.0,2.0,0,0.5,5 +code-llama-instruct:7:ggufv2:Q5_K_M,1.0,2.0,0,0.5,5 +code-llama-instruct:34:ggufv2:Q4_K_M,0.8,2.0,0,0.4,5 +code-llama-instruct:13:ggufv2:Q2_K,0.8,2.0,0,0.4,5 +code-llama-instruct:13:ggufv2:Q3_K_M,0.0,2.0,0,0.0,5 diff --git a/benchmark/results/processed/naive_query_generation_using_schema.csv b/benchmark/results/processed/naive_query_generation_using_schema.csv index fef8f95f..e46a92e7 100644 --- a/benchmark/results/processed/naive_query_generation_using_schema.csv +++ b/benchmark/results/processed/naive_query_generation_using_schema.csv @@ -1,63 +1,63 @@ -Full model name,Score achieved,Score possible,Accuracy,Iterations -gpt-4-0613,20.4,30.0,0.6799999999999999,5 -llama-3-instruct:8:ggufv2:Q4_K_M,20.0,30.0,0.6666666666666666,5 -llama-3-instruct:8:ggufv2:Q8_0,20.0,30.0,0.6666666666666666,5 -llama-3-instruct:8:ggufv2:Q6_K,20.0,30.0,0.6666666666666666,5 -code-llama-instruct:7:ggufv2:Q4_K_M,19.6,30.0,0.6533333333333334,5 -llama-3-instruct:8:ggufv2:Q5_K_M,18.0,30.0,0.6,5 -code-llama-instruct:34:ggufv2:Q3_K_M,18.0,30.0,0.6,5 -openhermes-2.5:7:ggufv2:Q5_K_M,17.6,30.0,0.5866666666666667,5 -mistral-instruct-v0.2:7:ggufv2:Q2_K,17.2,30.0,0.5733333333333334,5 -code-llama-instruct:13:ggufv2:Q8_0,17.0,30.0,0.5666666666666667,5 -code-llama-instruct:34:ggufv2:Q2_K,17.0,30.0,0.5666666666666667,5 -code-llama-instruct:13:ggufv2:Q2_K,17.0,30.0,0.5666666666666667,5 -code-llama-instruct:13:ggufv2:Q5_K_M,17.0,30.0,0.5666666666666667,5 -code-llama-instruct:13:ggufv2:Q6_K,16.2,30.0,0.5399999999999999,5 -code-llama-instruct:7:ggufv2:Q2_K,16.0,30.0,0.5333333333333333,5 -gpt-4o-2024-05-13,16.0,30.0,0.5333333333333333,5 -code-llama-instruct:13:ggufv2:Q4_K_M,16.0,30.0,0.5333333333333333,5 -code-llama-instruct:13:ggufv2:Q3_K_M,16.0,30.0,0.5333333333333333,5 -openhermes-2.5:7:ggufv2:Q6_K,16.0,30.0,0.5333333333333333,5 -gpt-3.5-turbo-0613,15.0,30.0,0.5,5 -gpt-3.5-turbo-0125,14.6,30.0,0.48666666666666664,5 -llama-2-chat:13:ggufv2:Q3_K_M,14.4,30.0,0.48000000000000004,5 -llama-2-chat:13:ggufv2:Q8_0,14.4,30.0,0.48000000000000004,5 -chatglm3:6:ggmlv3:q4_0,14.4,30.0,0.48000000000000004,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,14.4,30.0,0.48000000000000004,5 -code-llama-instruct:34:ggufv2:Q6_K,14.2,30.0,0.47333333333333333,5 -llama-2-chat:70:ggufv2:Q2_K,14.2,30.0,0.47333333333333333,5 -mistral-instruct-v0.2:7:ggufv2:Q3_K_M,14.0,30.0,0.4666666666666667,5 -mistral-instruct-v0.2:7:ggufv2:Q5_K_M,14.0,30.0,0.4666666666666667,5 -openhermes-2.5:7:ggufv2:Q3_K_M,14.0,30.0,0.4666666666666667,5 -openhermes-2.5:7:ggufv2:Q4_K_M,14.0,30.0,0.4666666666666667,5 -openhermes-2.5:7:ggufv2:Q8_0,14.0,30.0,0.4666666666666667,5 -code-llama-instruct:34:ggufv2:Q4_K_M,14.0,30.0,0.4666666666666667,5 -code-llama-instruct:34:ggufv2:Q5_K_M,14.0,30.0,0.4666666666666667,5 -code-llama-instruct:34:ggufv2:Q8_0,14.0,30.0,0.4666666666666667,5 -gpt-4-0125-preview,13.2,30.0,0.44,5 -openhermes-2.5:7:ggufv2:Q2_K,13.0,30.0,0.43333333333333335,5 -mistral-instruct-v0.2:7:ggufv2:Q8_0,13.0,30.0,0.43333333333333335,5 -llama-2-chat:13:ggufv2:Q5_K_M,13.0,30.0,0.43333333333333335,5 -mistral-instruct-v0.2:7:ggufv2:Q6_K,13.0,30.0,0.43333333333333335,5 -code-llama-instruct:7:ggufv2:Q3_K_M,12.8,30.0,0.4266666666666667,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,12.8,30.0,0.4266666666666667,5 -llama-2-chat:70:ggufv2:Q4_K_M,12.6,30.0,0.42,5 -llama-2-chat:70:ggufv2:Q3_K_M,12.4,30.0,0.41333333333333333,5 -code-llama-instruct:7:ggufv2:Q5_K_M,12.0,30.0,0.4,5 -code-llama-instruct:7:ggufv2:Q8_0,12.0,30.0,0.4,5 -llama-2-chat:13:ggufv2:Q6_K,11.6,30.0,0.38666666666666666,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,11.6,30.0,0.38666666666666666,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,11.4,30.0,0.38,5 -llama-2-chat:13:ggufv2:Q2_K,11.0,30.0,0.36666666666666664,5 -mistral-instruct-v0.2:7:ggufv2:Q4_K_M,11.0,30.0,0.36666666666666664,5 -llama-2-chat:13:ggufv2:Q4_K_M,11.0,30.0,0.36666666666666664,5 -llama-2-chat:70:ggufv2:Q5_K_M,10.8,30.0,0.36000000000000004,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,10.0,30.0,0.3333333333333333,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,10.0,30.0,0.3333333333333333,5 -code-llama-instruct:7:ggufv2:Q6_K,10.0,30.0,0.3333333333333333,5 -llama-2-chat:7:ggufv2:Q5_K_M,8.8,30.0,0.29333333333333333,5 -llama-2-chat:7:ggufv2:Q8_0,8.0,30.0,0.26666666666666666,5 -llama-2-chat:7:ggufv2:Q6_K,8.0,30.0,0.26666666666666666,5 -llama-2-chat:7:ggufv2:Q4_K_M,7.2,30.0,0.24000000000000002,5 -llama-2-chat:7:ggufv2:Q3_K_M,7.0,30.0,0.23333333333333334,5 -llama-2-chat:7:ggufv2:Q2_K,3.0,30.0,0.1,5 +Full model name,Score achieved,Score possible,Score SD,Accuracy,Iterations +gpt-4-0613,20.4,30.0,0,0.6799999999999999,5 +llama-3-instruct:8:ggufv2:Q4_K_M,20.0,30.0,0,0.6666666666666666,5 +llama-3-instruct:8:ggufv2:Q8_0,20.0,30.0,0,0.6666666666666666,5 +llama-3-instruct:8:ggufv2:Q6_K,20.0,30.0,0,0.6666666666666666,5 +code-llama-instruct:7:ggufv2:Q4_K_M,19.6,30.0,0,0.6533333333333334,5 +llama-3-instruct:8:ggufv2:Q5_K_M,18.0,30.0,0,0.6,5 +code-llama-instruct:34:ggufv2:Q3_K_M,18.0,30.0,0,0.6,5 +openhermes-2.5:7:ggufv2:Q5_K_M,17.6,30.0,0,0.5866666666666667,5 +mistral-instruct-v0.2:7:ggufv2:Q2_K,17.2,30.0,0,0.5733333333333334,5 +code-llama-instruct:13:ggufv2:Q8_0,17.0,30.0,0,0.5666666666666667,5 +code-llama-instruct:34:ggufv2:Q2_K,17.0,30.0,0,0.5666666666666667,5 +code-llama-instruct:13:ggufv2:Q2_K,17.0,30.0,0,0.5666666666666667,5 +code-llama-instruct:13:ggufv2:Q5_K_M,17.0,30.0,0,0.5666666666666667,5 +code-llama-instruct:13:ggufv2:Q6_K,16.2,30.0,0,0.5399999999999999,5 +code-llama-instruct:7:ggufv2:Q2_K,16.0,30.0,0,0.5333333333333333,5 +gpt-4o-2024-05-13,16.0,30.0,0,0.5333333333333333,5 +code-llama-instruct:13:ggufv2:Q4_K_M,16.0,30.0,0,0.5333333333333333,5 +code-llama-instruct:13:ggufv2:Q3_K_M,16.0,30.0,0,0.5333333333333333,5 +openhermes-2.5:7:ggufv2:Q6_K,16.0,30.0,0,0.5333333333333333,5 +gpt-3.5-turbo-0613,15.0,30.0,0,0.5,5 +gpt-3.5-turbo-0125,14.6,30.0,0,0.48666666666666664,5 +llama-2-chat:13:ggufv2:Q3_K_M,14.4,30.0,0,0.48000000000000004,5 +llama-2-chat:13:ggufv2:Q8_0,14.4,30.0,0,0.48000000000000004,5 +chatglm3:6:ggmlv3:q4_0,14.4,30.0,0,0.48000000000000004,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,14.4,30.0,0,0.48000000000000004,5 +code-llama-instruct:34:ggufv2:Q6_K,14.2,30.0,0,0.47333333333333333,5 +llama-2-chat:70:ggufv2:Q2_K,14.2,30.0,0,0.47333333333333333,5 +mistral-instruct-v0.2:7:ggufv2:Q3_K_M,14.0,30.0,0,0.4666666666666667,5 +mistral-instruct-v0.2:7:ggufv2:Q5_K_M,14.0,30.0,0,0.4666666666666667,5 +openhermes-2.5:7:ggufv2:Q3_K_M,14.0,30.0,0,0.4666666666666667,5 +openhermes-2.5:7:ggufv2:Q4_K_M,14.0,30.0,0,0.4666666666666667,5 +openhermes-2.5:7:ggufv2:Q8_0,14.0,30.0,0,0.4666666666666667,5 +code-llama-instruct:34:ggufv2:Q4_K_M,14.0,30.0,0,0.4666666666666667,5 +code-llama-instruct:34:ggufv2:Q5_K_M,14.0,30.0,0,0.4666666666666667,5 +code-llama-instruct:34:ggufv2:Q8_0,14.0,30.0,0,0.4666666666666667,5 +gpt-4-0125-preview,13.2,30.0,0,0.44,5 +openhermes-2.5:7:ggufv2:Q2_K,13.0,30.0,0,0.43333333333333335,5 +mistral-instruct-v0.2:7:ggufv2:Q8_0,13.0,30.0,0,0.43333333333333335,5 +llama-2-chat:13:ggufv2:Q5_K_M,13.0,30.0,0,0.43333333333333335,5 +mistral-instruct-v0.2:7:ggufv2:Q6_K,13.0,30.0,0,0.43333333333333335,5 +code-llama-instruct:7:ggufv2:Q3_K_M,12.8,30.0,0,0.4266666666666667,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,12.8,30.0,0,0.4266666666666667,5 +llama-2-chat:70:ggufv2:Q4_K_M,12.6,30.0,0,0.42,5 +llama-2-chat:70:ggufv2:Q3_K_M,12.4,30.0,0,0.41333333333333333,5 +code-llama-instruct:7:ggufv2:Q5_K_M,12.0,30.0,0,0.4,5 +code-llama-instruct:7:ggufv2:Q8_0,12.0,30.0,0,0.4,5 +llama-2-chat:13:ggufv2:Q6_K,11.6,30.0,0,0.38666666666666666,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,11.6,30.0,0,0.38666666666666666,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,11.4,30.0,0,0.38,5 +llama-2-chat:13:ggufv2:Q2_K,11.0,30.0,0,0.36666666666666664,5 +mistral-instruct-v0.2:7:ggufv2:Q4_K_M,11.0,30.0,0,0.36666666666666664,5 +llama-2-chat:13:ggufv2:Q4_K_M,11.0,30.0,0,0.36666666666666664,5 +llama-2-chat:70:ggufv2:Q5_K_M,10.8,30.0,0,0.36000000000000004,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,10.0,30.0,0,0.3333333333333333,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,10.0,30.0,0,0.3333333333333333,5 +code-llama-instruct:7:ggufv2:Q6_K,10.0,30.0,0,0.3333333333333333,5 +llama-2-chat:7:ggufv2:Q5_K_M,8.8,30.0,0,0.29333333333333333,5 +llama-2-chat:7:ggufv2:Q8_0,8.0,30.0,0,0.26666666666666666,5 +llama-2-chat:7:ggufv2:Q6_K,8.0,30.0,0,0.26666666666666666,5 +llama-2-chat:7:ggufv2:Q4_K_M,7.2,30.0,0,0.24000000000000002,5 +llama-2-chat:7:ggufv2:Q3_K_M,7.0,30.0,0,0.23333333333333334,5 +llama-2-chat:7:ggufv2:Q2_K,3.0,30.0,0,0.1,5 diff --git a/benchmark/results/processed/overview-model.csv b/benchmark/results/processed/overview-model.csv index 7c74ef72..1867c37e 100644 --- a/benchmark/results/processed/overview-model.csv +++ b/benchmark/results/processed/overview-model.csv @@ -1,8 +1,8 @@ Model name,Size,Median Accuracy,SD gpt-3.5-turbo-0125,175,0.9,0.23 gpt-4-0613,Unknown,0.88,0.19 +openhermes-2.5,7,0.8,0.35 gpt-3.5-turbo-0613,175,0.76,0.21 -openhermes-2.5,7,0.74,0.33 gpt-4-0125-preview,Unknown,0.69,0.31 llama-3-instruct,8,0.67,0.38 gpt-4o-2024-05-13,Unknown,0.65,0.37 diff --git a/benchmark/results/processed/overview-quantisation.csv b/benchmark/results/processed/overview-quantisation.csv index 32a313dd..dd9c34a1 100644 --- a/benchmark/results/processed/overview-quantisation.csv +++ b/benchmark/results/processed/overview-quantisation.csv @@ -1,20 +1,20 @@ Model name,Size,Version,Quantisation,Median Accuracy,SD gpt-3.5-turbo-0125,175,,,0.9,0.23 gpt-4-0613,Unknown,,,0.88,0.19 -openhermes-2.5,7,ggufv2,Q5_K_M,0.78,0.33 +openhermes-2.5,7,ggufv2,Q5_K_M,0.83,0.35 +openhermes-2.5,7,ggufv2,Q8_0,0.82,0.35 +openhermes-2.5,7,ggufv2,Q4_K_M,0.81,0.36 +openhermes-2.5,7,ggufv2,Q6_K,0.8,0.37 gpt-3.5-turbo-0613,175,,,0.76,0.21 -openhermes-2.5,7,ggufv2,Q4_K_M,0.76,0.35 -openhermes-2.5,7,ggufv2,Q8_0,0.76,0.33 -openhermes-2.5,7,ggufv2,Q6_K,0.73,0.35 gpt-4-0125-preview,Unknown,,,0.69,0.31 +openhermes-2.5,7,ggufv2,Q3_K_M,0.68,0.35 llama-3-instruct,8,ggufv2,Q4_K_M,0.67,0.39 -llama-3-instruct,8,ggufv2,Q8_0,0.67,0.37 llama-3-instruct,8,ggufv2,Q6_K,0.67,0.38 +llama-3-instruct,8,ggufv2,Q8_0,0.67,0.37 gpt-4o-2024-05-13,Unknown,,,0.65,0.37 -openhermes-2.5,7,ggufv2,Q3_K_M,0.63,0.33 llama-3-instruct,8,ggufv2,Q5_K_M,0.6,0.38 code-llama-instruct,34,ggufv2,Q2_K,0.5,0.33 -openhermes-2.5,7,ggufv2,Q2_K,0.5,0.31 +openhermes-2.5,7,ggufv2,Q2_K,0.5,0.32 code-llama-instruct,7,ggufv2,Q3_K_M,0.49,0.31 mistral-instruct-v0.2,7,ggufv2,Q6_K,0.48,0.35 code-llama-instruct,7,ggufv2,Q4_K_M,0.47,0.39 diff --git a/benchmark/results/processed/overview.csv b/benchmark/results/processed/overview.csv index ad68e0a8..99f8c439 100644 --- a/benchmark/results/processed/overview.csv +++ b/benchmark/results/processed/overview.csv @@ -1,20 +1,20 @@ Full model name,property_selection,query_generation,sourcedata_info_extraction,explicit_relevance_of_single_fragments,entity_selection,relationship_selection,end_to_end_query_generation,naive_query_generation_using_schema,implicit_relevance_of_multiple_fragments,property_exists,Mean Accuracy,Median Accuracy,SD gpt-3.5-turbo-0125,0.35625,0.9666666666666668,0.5100318961757607,1.0,1.0,1.0,0.9266666666666666,0.4866666666666666,0.9,0.8666666666666667,0.8012948562842428,0.9,0.226906880165635 gpt-4-0613,0.359375,0.9666666666666668,0.6689027994568157,1.0,0.8888888888888888,0.65,0.88,0.6799999999999999,1.0,0.8888888888888888,0.7982722243901261,0.88,0.1869151658909737 -openhermes-2.5:7:ggufv2:Q5_K_M,0.125,0.9133333333333332,0.5799163100443383,1.0,0.8888888888888888,1.0,0.0,0.5866666666666667,1.0,0.7777777777777778,0.6871582976711005,0.7777777777777778,0.3318005309899283 +openhermes-2.5:7:ggufv2:Q5_K_M,0.125,0.9133333333333332,,1.0,0.8888888888888888,1.0,0.0,0.5866666666666667,1.0,0.7777777777777778,0.699074074074074,0.8333333333333333,0.34743173387294063 +openhermes-2.5:7:ggufv2:Q8_0,0.125,0.88,,1.0,0.8888888888888888,1.0,0.0,0.4666666666666667,1.0,0.7555555555555555,0.6795679012345679,0.8177777777777777,0.35069118435637053 +openhermes-2.5:7:ggufv2:Q4_K_M,0.046875,0.8733333333333333,,1.0,0.8888888888888888,1.0,0.0,0.4666666666666667,1.0,0.7555555555555555,0.6701466049382716,0.8144444444444444,0.36341911471125354 +openhermes-2.5:7:ggufv2:Q6_K,0.046875,0.86,,1.0,1.0,1.0,0.0,0.5333333333333333,1.0,0.7333333333333333,0.685949074074074,0.7966666666666666,0.3661185988835456 gpt-3.5-turbo-0613,0.3625,0.9466666666666668,0.5753814654033865,1.0,0.8888888888888888,0.5,0.8333333333333334,0.5,1.0,0.7555555555555555,0.7362325909847831,0.7555555555555555,0.21192578872727258 -openhermes-2.5:7:ggufv2:Q4_K_M,0.046875,0.8733333333333333,0.5972813161390415,1.0,0.8888888888888888,1.0,0.0,0.4666666666666667,1.0,0.7555555555555555,0.6628600760583485,0.7555555555555555,0.34568251190180377 -openhermes-2.5:7:ggufv2:Q8_0,0.125,0.88,0.6008286779833673,1.0,0.8888888888888888,1.0,0.0,0.4666666666666667,1.0,0.7555555555555555,0.6716939789094478,0.7555555555555555,0.3336443696951103 -openhermes-2.5:7:ggufv2:Q6_K,0.046875,0.86,0.6191671759321142,1.0,1.0,1.0,0.0,0.5333333333333333,1.0,0.7333333333333333,0.679270884259878,0.7333333333333333,0.348500335672223 gpt-4-0125-preview,0.0,0.8333333333333334,0.6897052189771662,1.0,0.7777777777777778,0.75,0.0,0.44,0.5,0.7333333333333333,0.572414966342161,0.6897052189771662,0.30968832314306216 +openhermes-2.5:7:ggufv2:Q3_K_M,0.125,0.94,,1.0,1.0,1.0,0.0,0.4666666666666667,0.5,0.72,0.639074074074074,0.679537037037037,0.3480158241708284 llama-3-instruct:8:ggufv2:Q4_K_M,0.109375,0.92,0.1168714561043392,1.0,0.875,0.0,0.0,0.6666666666666666,1.0,0.775,0.5462913122771006,0.6666666666666666,0.3944682267124991 -llama-3-instruct:8:ggufv2:Q8_0,0.28125,0.92,0.1885545047373857,1.0,0.875,0.0,0.0,0.6666666666666666,1.0,0.725,0.5656471171404052,0.6666666666666666,0.37007821456432527 llama-3-instruct:8:ggufv2:Q6_K,0.28125,0.9266666666666666,0.1626570670777091,1.0,0.875,0.0,0.0,0.6666666666666666,1.0,0.775,0.5687240400411042,0.6666666666666666,0.37529230594543284 +llama-3-instruct:8:ggufv2:Q8_0,0.28125,0.92,0.1885545047373857,1.0,0.875,0.0,0.0,0.6666666666666666,1.0,0.725,0.5656471171404052,0.6666666666666666,0.37007821456432527 gpt-4o-2024-05-13,0.0,0.8,0.6539462799425529,1.0,1.0,0.0,0.0,0.5333333333333333,0.7,0.85,0.5537279613275886,0.6539462799425529,0.37021497015214005 -openhermes-2.5:7:ggufv2:Q3_K_M,0.125,0.94,0.5544876114273882,1.0,1.0,1.0,0.0,0.4666666666666667,0.5,0.72,0.6306154278094055,0.6306154278094055,0.33249758865726214 llama-3-instruct:8:ggufv2:Q5_K_M,0.1875,0.9266666666666666,0.1664338134589199,1.0,0.875,0.0,0.0,0.6,1.0,0.65,0.5405600480125587,0.6,0.37548509261472474 code-llama-instruct:34:ggufv2:Q2_K,0.0,0.6866666666666668,,0.5,0.0,0.5,0.0,0.5666666666666667,1.0,0.75,0.4448148148148149,0.5,0.3281994510367218 -openhermes-2.5:7:ggufv2:Q2_K,0.0,0.94,0.4440540252221923,1.0,0.5555555555555556,0.5,0.0,0.4333333333333333,0.5,0.8444444444444444,0.5217387358555525,0.5,0.31168315158734006 +openhermes-2.5:7:ggufv2:Q2_K,0.0,0.94,0.2809278350515464,1.0,0.5555555555555556,0.5,0.0,0.4333333333333333,0.5,0.8444444444444444,0.5054261168384879,0.5,0.31873300520881614 code-llama-instruct:7:ggufv2:Q3_K_M,0.0,0.8733333333333333,,0.8333333333333334,0.5,0.25,0.0,0.4266666666666667,0.7,0.8,0.487037037037037,0.49351851851851847,0.3077161860440728 mistral-instruct-v0.2:7:ggufv2:Q6_K,0.046875,0.8333333333333334,0.3674122955435963,1.0,0.5,0.0,0.0,0.4333333333333333,1.0,0.65,0.4830953962210264,0.4830953962210264,0.351373883267115 code-llama-instruct:7:ggufv2:Q4_K_M,0.0,0.9666666666666668,0.1387320366402555,1.0,0.3333333333333333,0.0,0.0,0.6533333333333334,1.0,0.6000000000000001,0.4692065369973589,0.4692065369973589,0.38730993395938024 diff --git a/benchmark/results/processed/property_exists.csv b/benchmark/results/processed/property_exists.csv index a0db1ef7..fdf09625 100644 --- a/benchmark/results/processed/property_exists.csv +++ b/benchmark/results/processed/property_exists.csv @@ -1,63 +1,63 @@ -Full model name,Score achieved,Score possible,Accuracy,Iterations -code-llama-instruct:34:ggufv2:Q4_K_M,7.8,8.0,0.975,5 -code-llama-instruct:34:ggufv2:Q5_K_M,7.6,8.0,0.95,5 -code-llama-instruct:34:ggufv2:Q8_0,7.4,8.0,0.925,5 -code-llama-instruct:34:ggufv2:Q6_K,7.2,8.0,0.9,5 -gpt-4-0613,8.0,9.0,0.8888888888888888,5 -code-llama-instruct:13:ggufv2:Q2_K,7.0,8.0,0.875,5 -code-llama-instruct:34:ggufv2:Q3_K_M,7.0,8.0,0.875,5 -gpt-3.5-turbo-0125,7.8,9.0,0.8666666666666667,5 -code-llama-instruct:13:ggufv2:Q3_K_M,6.8,8.0,0.85,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,6.8,8.0,0.85,5 -gpt-4o-2024-05-13,6.8,8.0,0.85,5 -openhermes-2.5:7:ggufv2:Q2_K,7.6,9.0,0.8444444444444444,5 -code-llama-instruct:13:ggufv2:Q6_K,6.6,8.0,0.825,5 -code-llama-instruct:7:ggufv2:Q3_K_M,7.2,9.0,0.8,5 -code-llama-instruct:7:ggufv2:Q2_K,6.4,8.0,0.8,5 -llama-2-chat:70:ggufv2:Q5_K_M,7.0,9.0,0.7777777777777778,5 -llama-2-chat:13:ggufv2:Q4_K_M,7.0,9.0,0.7777777777777778,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,7.0,9.0,0.7777777777777778,5 -llama-2-chat:70:ggufv2:Q3_K_M,7.0,9.0,0.7777777777777778,5 -openhermes-2.5:7:ggufv2:Q5_K_M,7.0,9.0,0.7777777777777778,5 -code-llama-instruct:7:ggufv2:Q6_K,6.2,8.0,0.775,5 -llama-3-instruct:8:ggufv2:Q6_K,6.2,8.0,0.775,5 -llama-3-instruct:8:ggufv2:Q4_K_M,6.2,8.0,0.775,5 -code-llama-instruct:13:ggufv2:Q5_K_M,6.2,8.0,0.775,5 -code-llama-instruct:13:ggufv2:Q4_K_M,6.2,8.0,0.775,5 -llama-2-chat:13:ggufv2:Q6_K,6.199999999999999,8.0,0.7749999999999999,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,6.8,9.0,0.7555555555555555,5 -openhermes-2.5:7:ggufv2:Q4_K_M,6.8,9.0,0.7555555555555555,5 -llama-2-chat:70:ggufv2:Q4_K_M,6.8,9.0,0.7555555555555555,5 -openhermes-2.5:7:ggufv2:Q8_0,6.8,9.0,0.7555555555555555,5 -gpt-3.5-turbo-0613,6.8,9.0,0.7555555555555555,5 -code-llama-instruct:13:ggufv2:Q8_0,6.0,8.0,0.75,5 -code-llama-instruct:34:ggufv2:Q2_K,6.0,8.0,0.75,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,6.6000000000000005,9.0,0.7333333333333334,5 -gpt-4-0125-preview,6.6,9.0,0.7333333333333333,5 -openhermes-2.5:7:ggufv2:Q6_K,6.6,9.0,0.7333333333333333,5 -llama-2-chat:13:ggufv2:Q3_K_M,6.6,9.0,0.7333333333333333,5 -llama-3-instruct:8:ggufv2:Q8_0,5.8,8.0,0.725,5 -openhermes-2.5:7:ggufv2:Q3_K_M,7.199999999999999,10.0,0.72,5 -llama-2-chat:13:ggufv2:Q8_0,6.4,9.0,0.7111111111111111,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,6.4,9.0,0.7111111111111111,5 -mistral-instruct-v0.2:7:ggufv2:Q4_K_M,6.2,9.0,0.6888888888888889,5 -code-llama-instruct:7:ggufv2:Q5_K_M,6.2,9.0,0.6888888888888889,5 -mistral-instruct-v0.2:7:ggufv2:Q5_K_M,6.2,9.0,0.6888888888888889,5 -llama-2-chat:7:ggufv2:Q2_K,6.2,9.0,0.6888888888888889,5 -code-llama-instruct:7:ggufv2:Q8_0,6.0,9.0,0.6666666666666666,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,6.0,9.0,0.6666666666666666,5 -llama-2-chat:70:ggufv2:Q2_K,6.0,9.0,0.6666666666666666,5 -mistral-instruct-v0.2:7:ggufv2:Q3_K_M,6.0,9.0,0.6666666666666666,5 -mistral-instruct-v0.2:7:ggufv2:Q6_K,5.2,8.0,0.65,5 -llama-3-instruct:8:ggufv2:Q5_K_M,5.2,8.0,0.65,5 -mistral-instruct-v0.2:7:ggufv2:Q8_0,5.8,9.0,0.6444444444444444,5 -llama-2-chat:13:ggufv2:Q5_K_M,5.8,9.0,0.6444444444444444,5 -mistral-instruct-v0.2:7:ggufv2:Q2_K,5.4,9.0,0.6000000000000001,5 -code-llama-instruct:7:ggufv2:Q4_K_M,5.4,9.0,0.6000000000000001,5 -llama-2-chat:7:ggufv2:Q4_K_M,4.4,9.0,0.48888888888888893,5 -llama-2-chat:7:ggufv2:Q3_K_M,4.2,9.0,0.4666666666666667,5 -llama-2-chat:7:ggufv2:Q8_0,3.2,9.0,0.35555555555555557,5 -llama-2-chat:7:ggufv2:Q6_K,3.0,9.0,0.3333333333333333,5 -llama-2-chat:13:ggufv2:Q2_K,2.6,9.0,0.2888888888888889,5 -llama-2-chat:7:ggufv2:Q5_K_M,2.6,9.0,0.2888888888888889,5 -chatglm3:6:ggmlv3:q4_0,2.2,8.0,0.275,5 +Full model name,Score achieved,Score possible,Score SD,Accuracy,Iterations +code-llama-instruct:34:ggufv2:Q4_K_M,7.8,8.0,0,0.975,5 +code-llama-instruct:34:ggufv2:Q5_K_M,7.6,8.0,0,0.95,5 +code-llama-instruct:34:ggufv2:Q8_0,7.4,8.0,0,0.925,5 +code-llama-instruct:34:ggufv2:Q6_K,7.2,8.0,0,0.9,5 +gpt-4-0613,8.0,9.0,0,0.8888888888888888,5 +code-llama-instruct:13:ggufv2:Q2_K,7.0,8.0,0,0.875,5 +code-llama-instruct:34:ggufv2:Q3_K_M,7.0,8.0,0,0.875,5 +gpt-3.5-turbo-0125,7.8,9.0,0,0.8666666666666667,5 +code-llama-instruct:13:ggufv2:Q3_K_M,6.8,8.0,0,0.85,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,6.8,8.0,0,0.85,5 +gpt-4o-2024-05-13,6.8,8.0,0,0.85,5 +openhermes-2.5:7:ggufv2:Q2_K,7.6,9.0,0,0.8444444444444444,5 +code-llama-instruct:13:ggufv2:Q6_K,6.6,8.0,0,0.825,5 +code-llama-instruct:7:ggufv2:Q3_K_M,7.2,9.0,0,0.8,5 +code-llama-instruct:7:ggufv2:Q2_K,6.4,8.0,0,0.8,5 +llama-2-chat:70:ggufv2:Q5_K_M,7.0,9.0,0,0.7777777777777778,5 +llama-2-chat:13:ggufv2:Q4_K_M,7.0,9.0,0,0.7777777777777778,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,7.0,9.0,0,0.7777777777777778,5 +llama-2-chat:70:ggufv2:Q3_K_M,7.0,9.0,0,0.7777777777777778,5 +openhermes-2.5:7:ggufv2:Q5_K_M,7.0,9.0,0,0.7777777777777778,5 +code-llama-instruct:7:ggufv2:Q6_K,6.2,8.0,0,0.775,5 +llama-3-instruct:8:ggufv2:Q6_K,6.2,8.0,0,0.775,5 +llama-3-instruct:8:ggufv2:Q4_K_M,6.2,8.0,0,0.775,5 +code-llama-instruct:13:ggufv2:Q5_K_M,6.2,8.0,0,0.775,5 +code-llama-instruct:13:ggufv2:Q4_K_M,6.2,8.0,0,0.775,5 +llama-2-chat:13:ggufv2:Q6_K,6.199999999999999,8.0,0,0.7749999999999999,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,6.8,9.0,0,0.7555555555555555,5 +openhermes-2.5:7:ggufv2:Q4_K_M,6.8,9.0,0,0.7555555555555555,5 +llama-2-chat:70:ggufv2:Q4_K_M,6.8,9.0,0,0.7555555555555555,5 +openhermes-2.5:7:ggufv2:Q8_0,6.8,9.0,0,0.7555555555555555,5 +gpt-3.5-turbo-0613,6.8,9.0,0,0.7555555555555555,5 +code-llama-instruct:13:ggufv2:Q8_0,6.0,8.0,0,0.75,5 +code-llama-instruct:34:ggufv2:Q2_K,6.0,8.0,0,0.75,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,6.6000000000000005,9.0,0,0.7333333333333334,5 +gpt-4-0125-preview,6.6,9.0,0,0.7333333333333333,5 +openhermes-2.5:7:ggufv2:Q6_K,6.6,9.0,0,0.7333333333333333,5 +llama-2-chat:13:ggufv2:Q3_K_M,6.6,9.0,0,0.7333333333333333,5 +llama-3-instruct:8:ggufv2:Q8_0,5.8,8.0,0,0.725,5 +openhermes-2.5:7:ggufv2:Q3_K_M,7.199999999999999,10.0,0,0.72,5 +llama-2-chat:13:ggufv2:Q8_0,6.4,9.0,0,0.7111111111111111,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,6.4,9.0,0,0.7111111111111111,5 +mistral-instruct-v0.2:7:ggufv2:Q4_K_M,6.2,9.0,0,0.6888888888888889,5 +code-llama-instruct:7:ggufv2:Q5_K_M,6.2,9.0,0,0.6888888888888889,5 +mistral-instruct-v0.2:7:ggufv2:Q5_K_M,6.2,9.0,0,0.6888888888888889,5 +llama-2-chat:7:ggufv2:Q2_K,6.2,9.0,0,0.6888888888888889,5 +code-llama-instruct:7:ggufv2:Q8_0,6.0,9.0,0,0.6666666666666666,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,6.0,9.0,0,0.6666666666666666,5 +llama-2-chat:70:ggufv2:Q2_K,6.0,9.0,0,0.6666666666666666,5 +mistral-instruct-v0.2:7:ggufv2:Q3_K_M,6.0,9.0,0,0.6666666666666666,5 +mistral-instruct-v0.2:7:ggufv2:Q6_K,5.2,8.0,0,0.65,5 +llama-3-instruct:8:ggufv2:Q5_K_M,5.2,8.0,0,0.65,5 +mistral-instruct-v0.2:7:ggufv2:Q8_0,5.8,9.0,0,0.6444444444444444,5 +llama-2-chat:13:ggufv2:Q5_K_M,5.8,9.0,0,0.6444444444444444,5 +mistral-instruct-v0.2:7:ggufv2:Q2_K,5.4,9.0,0,0.6000000000000001,5 +code-llama-instruct:7:ggufv2:Q4_K_M,5.4,9.0,0,0.6000000000000001,5 +llama-2-chat:7:ggufv2:Q4_K_M,4.4,9.0,0,0.48888888888888893,5 +llama-2-chat:7:ggufv2:Q3_K_M,4.2,9.0,0,0.4666666666666667,5 +llama-2-chat:7:ggufv2:Q8_0,3.2,9.0,0,0.35555555555555557,5 +llama-2-chat:7:ggufv2:Q6_K,3.0,9.0,0,0.3333333333333333,5 +llama-2-chat:13:ggufv2:Q2_K,2.6,9.0,0,0.2888888888888889,5 +llama-2-chat:7:ggufv2:Q5_K_M,2.6,9.0,0,0.2888888888888889,5 +chatglm3:6:ggmlv3:q4_0,2.2,8.0,0,0.275,5 diff --git a/benchmark/results/processed/property_selection.csv b/benchmark/results/processed/property_selection.csv index 7e712d3d..60183a49 100644 --- a/benchmark/results/processed/property_selection.csv +++ b/benchmark/results/processed/property_selection.csv @@ -1,63 +1,63 @@ -Full model name,Score achieved,Score possible,Accuracy,Iterations -gpt-3.5-turbo-0613,23.2,64.0,0.3625,5 -gpt-4-0613,23.0,64.0,0.359375,5 -gpt-3.5-turbo-0125,22.8,64.0,0.35625,5 -chatglm3:6:ggmlv3:q4_0,18.4,64.0,0.2875,5 -llama-3-instruct:8:ggufv2:Q8_0,18.0,64.0,0.28125,5 -llama-3-instruct:8:ggufv2:Q6_K,18.0,64.0,0.28125,5 -llama-3-instruct:8:ggufv2:Q5_K_M,12.0,64.0,0.1875,5 -llama-2-chat:70:ggufv2:Q3_K_M,11.0,64.0,0.171875,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,10.4,64.0,0.1625,5 -openhermes-2.5:7:ggufv2:Q8_0,8.0,64.0,0.125,5 -openhermes-2.5:7:ggufv2:Q5_K_M,8.0,64.0,0.125,5 -openhermes-2.5:7:ggufv2:Q3_K_M,8.0,64.0,0.125,5 -llama-3-instruct:8:ggufv2:Q4_K_M,7.0,64.0,0.109375,5 -llama-2-chat:7:ggufv2:Q3_K_M,6.4,64.0,0.1,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,4.199999999999999,64.0,0.06562499999999999,5 -code-llama-instruct:7:ggufv2:Q2_K,4.0,64.0,0.0625,5 -mistral-instruct-v0.2:7:ggufv2:Q6_K,3.0,64.0,0.046875,5 -openhermes-2.5:7:ggufv2:Q6_K,3.0,64.0,0.046875,5 -openhermes-2.5:7:ggufv2:Q4_K_M,3.0,64.0,0.046875,5 -mistral-instruct-v0.2:7:ggufv2:Q3_K_M,3.0,64.0,0.046875,5 -llama-2-chat:7:ggufv2:Q5_K_M,2.4,64.0,0.0375,5 -mistral-instruct-v0.2:7:ggufv2:Q8_0,2.4,64.0,0.0375,5 -code-llama-instruct:13:ggufv2:Q5_K_M,0.0,64.0,0.0,5 -code-llama-instruct:13:ggufv2:Q4_K_M,0.0,64.0,0.0,5 -code-llama-instruct:13:ggufv2:Q3_K_M,0.0,64.0,0.0,5 -mistral-instruct-v0.2:7:ggufv2:Q2_K,0.0,64.0,0.0,5 -mistral-instruct-v0.2:7:ggufv2:Q4_K_M,0.0,64.0,0.0,5 -mistral-instruct-v0.2:7:ggufv2:Q5_K_M,0.0,64.0,0.0,5 -code-llama-instruct:7:ggufv2:Q3_K_M,0.0,64.0,0.0,5 -llama-2-chat:7:ggufv2:Q8_0,0.0,64.0,0.0,5 -code-llama-instruct:34:ggufv2:Q8_0,0.0,64.0,0.0,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,0.0,64.0,0.0,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,0.0,64.0,0.0,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,0.0,64.0,0.0,5 -openhermes-2.5:7:ggufv2:Q2_K,0.0,64.0,0.0,5 -code-llama-instruct:34:ggufv2:Q6_K,0.0,64.0,0.0,5 -code-llama-instruct:34:ggufv2:Q5_K_M,0.0,64.0,0.0,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,0.0,64.0,0.0,5 -llama-2-chat:7:ggufv2:Q6_K,0.0,64.0,0.0,5 -code-llama-instruct:7:ggufv2:Q4_K_M,0.0,64.0,0.0,5 -llama-2-chat:13:ggufv2:Q3_K_M,0.0,64.0,0.0,5 -code-llama-instruct:7:ggufv2:Q5_K_M,0.0,64.0,0.0,5 -code-llama-instruct:7:ggufv2:Q6_K,0.0,64.0,0.0,5 -code-llama-instruct:7:ggufv2:Q8_0,0.0,64.0,0.0,5 -code-llama-instruct:34:ggufv2:Q2_K,0.0,64.0,0.0,5 -code-llama-instruct:13:ggufv2:Q8_0,0.0,64.0,0.0,5 -gpt-4-0125-preview,0.0,64.0,0.0,5 -code-llama-instruct:13:ggufv2:Q6_K,0.0,64.0,0.0,5 -gpt-4o-2024-05-13,0.0,64.0,0.0,5 -llama-2-chat:13:ggufv2:Q2_K,0.0,64.0,0.0,5 -llama-2-chat:13:ggufv2:Q4_K_M,0.0,64.0,0.0,5 -llama-2-chat:7:ggufv2:Q4_K_M,0.0,64.0,0.0,5 -llama-2-chat:13:ggufv2:Q5_K_M,0.0,64.0,0.0,5 -llama-2-chat:13:ggufv2:Q6_K,0.0,64.0,0.0,5 -llama-2-chat:13:ggufv2:Q8_0,0.0,64.0,0.0,5 -llama-2-chat:70:ggufv2:Q2_K,0.0,64.0,0.0,5 -code-llama-instruct:13:ggufv2:Q2_K,0.0,64.0,0.0,5 -llama-2-chat:70:ggufv2:Q4_K_M,0.0,64.0,0.0,5 -llama-2-chat:70:ggufv2:Q5_K_M,0.0,64.0,0.0,5 -llama-2-chat:7:ggufv2:Q2_K,0.0,64.0,0.0,5 -code-llama-instruct:34:ggufv2:Q4_K_M,0.0,64.0,0.0,5 -code-llama-instruct:34:ggufv2:Q3_K_M,0.0,64.0,0.0,5 +Full model name,Score achieved,Score possible,Score SD,Accuracy,Iterations +gpt-3.5-turbo-0613,23.2,64.0,0,0.3625,5 +gpt-4-0613,23.0,64.0,0,0.359375,5 +gpt-3.5-turbo-0125,22.8,64.0,0,0.35625,5 +chatglm3:6:ggmlv3:q4_0,18.4,64.0,0,0.2875,5 +llama-3-instruct:8:ggufv2:Q8_0,18.0,64.0,0,0.28125,5 +llama-3-instruct:8:ggufv2:Q6_K,18.0,64.0,0,0.28125,5 +llama-3-instruct:8:ggufv2:Q5_K_M,12.0,64.0,0,0.1875,5 +llama-2-chat:70:ggufv2:Q3_K_M,11.0,64.0,0,0.171875,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,10.4,64.0,0,0.1625,5 +openhermes-2.5:7:ggufv2:Q8_0,8.0,64.0,0,0.125,5 +openhermes-2.5:7:ggufv2:Q5_K_M,8.0,64.0,0,0.125,5 +openhermes-2.5:7:ggufv2:Q3_K_M,8.0,64.0,0,0.125,5 +llama-3-instruct:8:ggufv2:Q4_K_M,7.0,64.0,0,0.109375,5 +llama-2-chat:7:ggufv2:Q3_K_M,6.4,64.0,0,0.1,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,4.199999999999999,64.0,0,0.06562499999999999,5 +code-llama-instruct:7:ggufv2:Q2_K,4.0,64.0,0,0.0625,5 +mistral-instruct-v0.2:7:ggufv2:Q6_K,3.0,64.0,0,0.046875,5 +openhermes-2.5:7:ggufv2:Q6_K,3.0,64.0,0,0.046875,5 +openhermes-2.5:7:ggufv2:Q4_K_M,3.0,64.0,0,0.046875,5 +mistral-instruct-v0.2:7:ggufv2:Q3_K_M,3.0,64.0,0,0.046875,5 +llama-2-chat:7:ggufv2:Q5_K_M,2.4,64.0,0,0.0375,5 +mistral-instruct-v0.2:7:ggufv2:Q8_0,2.4,64.0,0,0.0375,5 +code-llama-instruct:13:ggufv2:Q5_K_M,0.0,64.0,0,0.0,5 +code-llama-instruct:13:ggufv2:Q4_K_M,0.0,64.0,0,0.0,5 +code-llama-instruct:13:ggufv2:Q3_K_M,0.0,64.0,0,0.0,5 +mistral-instruct-v0.2:7:ggufv2:Q2_K,0.0,64.0,0,0.0,5 +mistral-instruct-v0.2:7:ggufv2:Q4_K_M,0.0,64.0,0,0.0,5 +mistral-instruct-v0.2:7:ggufv2:Q5_K_M,0.0,64.0,0,0.0,5 +code-llama-instruct:7:ggufv2:Q3_K_M,0.0,64.0,0,0.0,5 +llama-2-chat:7:ggufv2:Q8_0,0.0,64.0,0,0.0,5 +code-llama-instruct:34:ggufv2:Q8_0,0.0,64.0,0,0.0,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,0.0,64.0,0,0.0,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,0.0,64.0,0,0.0,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,0.0,64.0,0,0.0,5 +openhermes-2.5:7:ggufv2:Q2_K,0.0,64.0,0,0.0,5 +code-llama-instruct:34:ggufv2:Q6_K,0.0,64.0,0,0.0,5 +code-llama-instruct:34:ggufv2:Q5_K_M,0.0,64.0,0,0.0,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,0.0,64.0,0,0.0,5 +llama-2-chat:7:ggufv2:Q6_K,0.0,64.0,0,0.0,5 +code-llama-instruct:7:ggufv2:Q4_K_M,0.0,64.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q3_K_M,0.0,64.0,0,0.0,5 +code-llama-instruct:7:ggufv2:Q5_K_M,0.0,64.0,0,0.0,5 +code-llama-instruct:7:ggufv2:Q6_K,0.0,64.0,0,0.0,5 +code-llama-instruct:7:ggufv2:Q8_0,0.0,64.0,0,0.0,5 +code-llama-instruct:34:ggufv2:Q2_K,0.0,64.0,0,0.0,5 +code-llama-instruct:13:ggufv2:Q8_0,0.0,64.0,0,0.0,5 +gpt-4-0125-preview,0.0,64.0,0,0.0,5 +code-llama-instruct:13:ggufv2:Q6_K,0.0,64.0,0,0.0,5 +gpt-4o-2024-05-13,0.0,64.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q2_K,0.0,64.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q4_K_M,0.0,64.0,0,0.0,5 +llama-2-chat:7:ggufv2:Q4_K_M,0.0,64.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q5_K_M,0.0,64.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q6_K,0.0,64.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q8_0,0.0,64.0,0,0.0,5 +llama-2-chat:70:ggufv2:Q2_K,0.0,64.0,0,0.0,5 +code-llama-instruct:13:ggufv2:Q2_K,0.0,64.0,0,0.0,5 +llama-2-chat:70:ggufv2:Q4_K_M,0.0,64.0,0,0.0,5 +llama-2-chat:70:ggufv2:Q5_K_M,0.0,64.0,0,0.0,5 +llama-2-chat:7:ggufv2:Q2_K,0.0,64.0,0,0.0,5 +code-llama-instruct:34:ggufv2:Q4_K_M,0.0,64.0,0,0.0,5 +code-llama-instruct:34:ggufv2:Q3_K_M,0.0,64.0,0,0.0,5 diff --git a/benchmark/results/processed/query_generation.csv b/benchmark/results/processed/query_generation.csv index f2e3982a..010e468b 100644 --- a/benchmark/results/processed/query_generation.csv +++ b/benchmark/results/processed/query_generation.csv @@ -1,63 +1,63 @@ -Full model name,Score achieved,Score possible,Accuracy,Iterations -gpt-3.5-turbo-0125,29.0,30.0,0.9666666666666667,5 -gpt-4-0613,29.0,30.0,0.9666666666666667,5 -code-llama-instruct:7:ggufv2:Q4_K_M,29.0,30.0,0.9666666666666667,5 -code-llama-instruct:7:ggufv2:Q5_K_M,28.8,30.0,0.9600000000000001,5 -code-llama-instruct:7:ggufv2:Q8_0,28.8,30.0,0.9600000000000001,5 -code-llama-instruct:7:ggufv2:Q6_K,28.8,30.0,0.9600000000000001,5 -gpt-3.5-turbo-0613,28.4,30.0,0.9466666666666667,5 -openhermes-2.5:7:ggufv2:Q3_K_M,28.2,30.0,0.94,5 -openhermes-2.5:7:ggufv2:Q2_K,28.2,30.0,0.94,5 -llama-3-instruct:8:ggufv2:Q6_K,27.8,30.0,0.9266666666666666,5 -llama-3-instruct:8:ggufv2:Q5_K_M,27.8,30.0,0.9266666666666666,5 -llama-3-instruct:8:ggufv2:Q4_K_M,27.6,30.0,0.92,5 -llama-3-instruct:8:ggufv2:Q8_0,27.6,30.0,0.92,5 -code-llama-instruct:7:ggufv2:Q2_K,27.6,30.0,0.92,5 -llama-2-chat:70:ggufv2:Q4_K_M,27.6,30.0,0.92,5 -openhermes-2.5:7:ggufv2:Q5_K_M,27.4,30.0,0.9133333333333333,5 -llama-2-chat:70:ggufv2:Q3_K_M,27.2,30.0,0.9066666666666666,5 -llama-2-chat:70:ggufv2:Q5_K_M,27.2,30.0,0.9066666666666666,5 -code-llama-instruct:34:ggufv2:Q4_K_M,27.2,30.0,0.9066666666666666,5 -code-llama-instruct:34:ggufv2:Q5_K_M,27.0,30.0,0.9,5 -llama-2-chat:70:ggufv2:Q2_K,27.0,30.0,0.9,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,26.799999999999997,30.0,0.8933333333333332,5 -openhermes-2.5:7:ggufv2:Q8_0,26.4,30.0,0.88,5 -openhermes-2.5:7:ggufv2:Q4_K_M,26.2,30.0,0.8733333333333333,5 -code-llama-instruct:7:ggufv2:Q3_K_M,26.2,30.0,0.8733333333333333,5 -code-llama-instruct:34:ggufv2:Q8_0,25.8,30.0,0.86,5 -openhermes-2.5:7:ggufv2:Q6_K,25.8,30.0,0.86,5 -code-llama-instruct:34:ggufv2:Q6_K,25.6,30.0,0.8533333333333334,5 -mistral-instruct-v0.2:7:ggufv2:Q8_0,25.4,30.0,0.8466666666666666,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,25.4,30.0,0.8466666666666666,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,25.2,30.0,0.84,5 -gpt-4-0125-preview,25.0,30.0,0.8333333333333334,5 -code-llama-instruct:13:ggufv2:Q4_K_M,25.0,30.0,0.8333333333333334,5 -code-llama-instruct:13:ggufv2:Q3_K_M,25.0,30.0,0.8333333333333334,5 -mistral-instruct-v0.2:7:ggufv2:Q6_K,25.0,30.0,0.8333333333333334,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,24.8,30.0,0.8266666666666667,5 -mistral-instruct-v0.2:7:ggufv2:Q5_K_M,24.8,30.0,0.8266666666666667,5 -mistral-instruct-v0.2:7:ggufv2:Q4_K_M,24.799999999999997,30.0,0.8266666666666665,5 -code-llama-instruct:13:ggufv2:Q2_K,24.6,30.0,0.8200000000000001,5 -llama-2-chat:13:ggufv2:Q6_K,24.4,30.0,0.8133333333333332,5 -gpt-4o-2024-05-13,24.0,30.0,0.8,5 -code-llama-instruct:13:ggufv2:Q6_K,23.8,30.0,0.7933333333333333,5 -llama-2-chat:13:ggufv2:Q8_0,23.6,30.0,0.7866666666666667,5 -code-llama-instruct:34:ggufv2:Q3_K_M,23.6,30.0,0.7866666666666667,5 -code-llama-instruct:13:ggufv2:Q5_K_M,23.4,30.0,0.7799999999999999,5 -mistral-instruct-v0.2:7:ggufv2:Q3_K_M,23.2,30.0,0.7733333333333333,5 -code-llama-instruct:13:ggufv2:Q8_0,23.0,30.0,0.7666666666666667,5 -llama-2-chat:13:ggufv2:Q4_K_M,22.8,30.0,0.76,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,22.8,30.0,0.76,5 -llama-2-chat:13:ggufv2:Q5_K_M,22.4,30.0,0.7466666666666666,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,21.8,30.0,0.7266666666666667,5 -mistral-instruct-v0.2:7:ggufv2:Q2_K,20.8,30.0,0.6933333333333334,5 -llama-2-chat:7:ggufv2:Q3_K_M,20.8,30.0,0.6933333333333334,5 -code-llama-instruct:34:ggufv2:Q2_K,20.6,30.0,0.6866666666666668,5 -llama-2-chat:7:ggufv2:Q2_K,20.6,30.0,0.6866666666666668,5 -llama-2-chat:13:ggufv2:Q3_K_M,20.4,30.0,0.6799999999999999,5 -llama-2-chat:7:ggufv2:Q6_K,19.8,30.0,0.66,5 -llama-2-chat:7:ggufv2:Q4_K_M,19.4,30.0,0.6466666666666666,5 -llama-2-chat:7:ggufv2:Q8_0,19.2,30.0,0.64,5 -llama-2-chat:7:ggufv2:Q5_K_M,19.0,30.0,0.6333333333333333,5 -chatglm3:6:ggmlv3:q4_0,16.6,30.0,0.5533333333333333,5 -llama-2-chat:13:ggufv2:Q2_K,13.0,30.0,0.43333333333333335,5 +Full model name,Score achieved,Score possible,Score SD,Accuracy,Iterations +gpt-3.5-turbo-0125,29.0,30.0,0,0.9666666666666667,5 +gpt-4-0613,29.0,30.0,0,0.9666666666666667,5 +code-llama-instruct:7:ggufv2:Q4_K_M,29.0,30.0,0,0.9666666666666667,5 +code-llama-instruct:7:ggufv2:Q5_K_M,28.8,30.0,0,0.9600000000000001,5 +code-llama-instruct:7:ggufv2:Q8_0,28.8,30.0,0,0.9600000000000001,5 +code-llama-instruct:7:ggufv2:Q6_K,28.8,30.0,0,0.9600000000000001,5 +gpt-3.5-turbo-0613,28.4,30.0,0,0.9466666666666667,5 +openhermes-2.5:7:ggufv2:Q3_K_M,28.2,30.0,0,0.94,5 +openhermes-2.5:7:ggufv2:Q2_K,28.2,30.0,0,0.94,5 +llama-3-instruct:8:ggufv2:Q6_K,27.8,30.0,0,0.9266666666666666,5 +llama-3-instruct:8:ggufv2:Q5_K_M,27.8,30.0,0,0.9266666666666666,5 +llama-3-instruct:8:ggufv2:Q4_K_M,27.6,30.0,0,0.92,5 +llama-3-instruct:8:ggufv2:Q8_0,27.6,30.0,0,0.92,5 +code-llama-instruct:7:ggufv2:Q2_K,27.6,30.0,0,0.92,5 +llama-2-chat:70:ggufv2:Q4_K_M,27.6,30.0,0,0.92,5 +openhermes-2.5:7:ggufv2:Q5_K_M,27.4,30.0,0,0.9133333333333333,5 +llama-2-chat:70:ggufv2:Q3_K_M,27.2,30.0,0,0.9066666666666666,5 +llama-2-chat:70:ggufv2:Q5_K_M,27.2,30.0,0,0.9066666666666666,5 +code-llama-instruct:34:ggufv2:Q4_K_M,27.2,30.0,0,0.9066666666666666,5 +code-llama-instruct:34:ggufv2:Q5_K_M,27.0,30.0,0,0.9,5 +llama-2-chat:70:ggufv2:Q2_K,27.0,30.0,0,0.9,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,26.799999999999997,30.0,0,0.8933333333333332,5 +openhermes-2.5:7:ggufv2:Q8_0,26.4,30.0,0,0.88,5 +openhermes-2.5:7:ggufv2:Q4_K_M,26.2,30.0,0,0.8733333333333333,5 +code-llama-instruct:7:ggufv2:Q3_K_M,26.2,30.0,0,0.8733333333333333,5 +code-llama-instruct:34:ggufv2:Q8_0,25.8,30.0,0,0.86,5 +openhermes-2.5:7:ggufv2:Q6_K,25.8,30.0,0,0.86,5 +code-llama-instruct:34:ggufv2:Q6_K,25.6,30.0,0,0.8533333333333334,5 +mistral-instruct-v0.2:7:ggufv2:Q8_0,25.4,30.0,0,0.8466666666666666,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,25.4,30.0,0,0.8466666666666666,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,25.2,30.0,0,0.84,5 +gpt-4-0125-preview,25.0,30.0,0,0.8333333333333334,5 +code-llama-instruct:13:ggufv2:Q4_K_M,25.0,30.0,0,0.8333333333333334,5 +code-llama-instruct:13:ggufv2:Q3_K_M,25.0,30.0,0,0.8333333333333334,5 +mistral-instruct-v0.2:7:ggufv2:Q6_K,25.0,30.0,0,0.8333333333333334,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,24.8,30.0,0,0.8266666666666667,5 +mistral-instruct-v0.2:7:ggufv2:Q5_K_M,24.8,30.0,0,0.8266666666666667,5 +mistral-instruct-v0.2:7:ggufv2:Q4_K_M,24.799999999999997,30.0,0,0.8266666666666665,5 +code-llama-instruct:13:ggufv2:Q2_K,24.6,30.0,0,0.8200000000000001,5 +llama-2-chat:13:ggufv2:Q6_K,24.4,30.0,0,0.8133333333333332,5 +gpt-4o-2024-05-13,24.0,30.0,0,0.8,5 +code-llama-instruct:13:ggufv2:Q6_K,23.8,30.0,0,0.7933333333333333,5 +llama-2-chat:13:ggufv2:Q8_0,23.6,30.0,0,0.7866666666666667,5 +code-llama-instruct:34:ggufv2:Q3_K_M,23.6,30.0,0,0.7866666666666667,5 +code-llama-instruct:13:ggufv2:Q5_K_M,23.4,30.0,0,0.7799999999999999,5 +mistral-instruct-v0.2:7:ggufv2:Q3_K_M,23.2,30.0,0,0.7733333333333333,5 +code-llama-instruct:13:ggufv2:Q8_0,23.0,30.0,0,0.7666666666666667,5 +llama-2-chat:13:ggufv2:Q4_K_M,22.8,30.0,0,0.76,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,22.8,30.0,0,0.76,5 +llama-2-chat:13:ggufv2:Q5_K_M,22.4,30.0,0,0.7466666666666666,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,21.8,30.0,0,0.7266666666666667,5 +mistral-instruct-v0.2:7:ggufv2:Q2_K,20.8,30.0,0,0.6933333333333334,5 +llama-2-chat:7:ggufv2:Q3_K_M,20.8,30.0,0,0.6933333333333334,5 +code-llama-instruct:34:ggufv2:Q2_K,20.6,30.0,0,0.6866666666666668,5 +llama-2-chat:7:ggufv2:Q2_K,20.6,30.0,0,0.6866666666666668,5 +llama-2-chat:13:ggufv2:Q3_K_M,20.4,30.0,0,0.6799999999999999,5 +llama-2-chat:7:ggufv2:Q6_K,19.8,30.0,0,0.66,5 +llama-2-chat:7:ggufv2:Q4_K_M,19.4,30.0,0,0.6466666666666666,5 +llama-2-chat:7:ggufv2:Q8_0,19.2,30.0,0,0.64,5 +llama-2-chat:7:ggufv2:Q5_K_M,19.0,30.0,0,0.6333333333333333,5 +chatglm3:6:ggmlv3:q4_0,16.6,30.0,0,0.5533333333333333,5 +llama-2-chat:13:ggufv2:Q2_K,13.0,30.0,0,0.43333333333333335,5 diff --git a/benchmark/results/processed/relationship_selection.csv b/benchmark/results/processed/relationship_selection.csv index de1e500b..45bfaf6d 100644 --- a/benchmark/results/processed/relationship_selection.csv +++ b/benchmark/results/processed/relationship_selection.csv @@ -1,63 +1,63 @@ -Full model name,Score achieved,Score possible,Accuracy,Iterations -openhermes-2.5:7:ggufv2:Q8_0,12.0,12.0,1.0,5 -gpt-3.5-turbo-0125,12.0,12.0,1.0,5 -openhermes-2.5:7:ggufv2:Q6_K,12.0,12.0,1.0,5 -openhermes-2.5:7:ggufv2:Q5_K_M,12.0,12.0,1.0,5 -openhermes-2.5:7:ggufv2:Q4_K_M,12.0,12.0,1.0,5 -openhermes-2.5:7:ggufv2:Q3_K_M,12.0,12.0,1.0,5 -gpt-4-0125-preview,9.0,12.0,0.75,5 -gpt-4-0613,7.8,12.0,0.65,5 -openhermes-2.5:7:ggufv2:Q2_K,6.0,12.0,0.5,5 -code-llama-instruct:34:ggufv2:Q2_K,6.0,12.0,0.5,5 -gpt-3.5-turbo-0613,6.0,12.0,0.5,5 -chatglm3:6:ggmlv3:q4_0,4.8,12.0,0.39999999999999997,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,3.0,12.0,0.25,5 -code-llama-instruct:7:ggufv2:Q3_K_M,3.0,12.0,0.25,5 -code-llama-instruct:7:ggufv2:Q2_K,3.0,12.0,0.25,5 -llama-2-chat:70:ggufv2:Q5_K_M,3.0,12.0,0.25,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,3.0,12.0,0.25,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,3.0,12.0,0.25,5 -code-llama-instruct:34:ggufv2:Q3_K_M,3.0,12.0,0.25,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,3.0,12.0,0.25,5 -llama-2-chat:70:ggufv2:Q4_K_M,3.0,12.0,0.25,5 -mistral-instruct-v0.2:7:ggufv2:Q6_K,0.0,12.0,0.0,5 -llama-3-instruct:8:ggufv2:Q6_K,0.0,12.0,0.0,5 -llama-3-instruct:8:ggufv2:Q8_0,0.0,12.0,0.0,5 -mistral-instruct-v0.2:7:ggufv2:Q2_K,0.0,12.0,0.0,5 -mistral-instruct-v0.2:7:ggufv2:Q3_K_M,0.0,12.0,0.0,5 -mistral-instruct-v0.2:7:ggufv2:Q4_K_M,0.0,12.0,0.0,5 -mistral-instruct-v0.2:7:ggufv2:Q5_K_M,0.0,12.0,0.0,5 -code-llama-instruct:34:ggufv2:Q8_0,0.0,12.0,0.0,5 -mistral-instruct-v0.2:7:ggufv2:Q8_0,0.0,12.0,0.0,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,0.0,12.0,0.0,5 -llama-3-instruct:8:ggufv2:Q4_K_M,0.0,12.0,0.0,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,0.0,12.0,0.0,5 -code-llama-instruct:13:ggufv2:Q8_0,0.0,12.0,0.0,5 -code-llama-instruct:13:ggufv2:Q6_K,0.0,12.0,0.0,5 -code-llama-instruct:13:ggufv2:Q5_K_M,0.0,12.0,0.0,5 -code-llama-instruct:13:ggufv2:Q4_K_M,0.0,12.0,0.0,5 -code-llama-instruct:13:ggufv2:Q3_K_M,0.0,12.0,0.0,5 -llama-3-instruct:8:ggufv2:Q5_K_M,0.0,12.0,0.0,5 -llama-2-chat:7:ggufv2:Q5_K_M,0.0,12.0,0.0,5 -llama-2-chat:7:ggufv2:Q8_0,0.0,12.0,0.0,5 -llama-2-chat:7:ggufv2:Q6_K,0.0,12.0,0.0,5 -code-llama-instruct:7:ggufv2:Q4_K_M,0.0,12.0,0.0,5 -code-llama-instruct:7:ggufv2:Q5_K_M,0.0,12.0,0.0,5 -code-llama-instruct:7:ggufv2:Q6_K,0.0,12.0,0.0,5 -code-llama-instruct:7:ggufv2:Q8_0,0.0,12.0,0.0,5 -code-llama-instruct:34:ggufv2:Q6_K,0.0,12.0,0.0,5 -code-llama-instruct:34:ggufv2:Q5_K_M,0.0,12.0,0.0,5 -code-llama-instruct:34:ggufv2:Q4_K_M,0.0,12.0,0.0,5 -gpt-4o-2024-05-13,0.0,12.0,0.0,5 -llama-2-chat:13:ggufv2:Q2_K,0.0,12.0,0.0,5 -llama-2-chat:13:ggufv2:Q3_K_M,0.0,12.0,0.0,5 -llama-2-chat:13:ggufv2:Q4_K_M,0.0,12.0,0.0,5 -llama-2-chat:13:ggufv2:Q5_K_M,0.0,12.0,0.0,5 -llama-2-chat:13:ggufv2:Q6_K,0.0,12.0,0.0,5 -llama-2-chat:13:ggufv2:Q8_0,0.0,12.0,0.0,5 -llama-2-chat:70:ggufv2:Q2_K,0.0,12.0,0.0,5 -code-llama-instruct:13:ggufv2:Q2_K,0.0,12.0,0.0,5 -llama-2-chat:7:ggufv2:Q2_K,0.0,12.0,0.0,5 -llama-2-chat:7:ggufv2:Q3_K_M,0.0,12.0,0.0,5 -llama-2-chat:7:ggufv2:Q4_K_M,0.0,12.0,0.0,5 -llama-2-chat:70:ggufv2:Q3_K_M,0.0,12.0,0.0,5 +Full model name,Score achieved,Score possible,Score SD,Accuracy,Iterations +openhermes-2.5:7:ggufv2:Q8_0,12.0,12.0,0,1.0,5 +gpt-3.5-turbo-0125,12.0,12.0,0,1.0,5 +openhermes-2.5:7:ggufv2:Q6_K,12.0,12.0,0,1.0,5 +openhermes-2.5:7:ggufv2:Q5_K_M,12.0,12.0,0,1.0,5 +openhermes-2.5:7:ggufv2:Q4_K_M,12.0,12.0,0,1.0,5 +openhermes-2.5:7:ggufv2:Q3_K_M,12.0,12.0,0,1.0,5 +gpt-4-0125-preview,9.0,12.0,0,0.75,5 +gpt-4-0613,7.8,12.0,0,0.65,5 +openhermes-2.5:7:ggufv2:Q2_K,6.0,12.0,0,0.5,5 +code-llama-instruct:34:ggufv2:Q2_K,6.0,12.0,0,0.5,5 +gpt-3.5-turbo-0613,6.0,12.0,0,0.5,5 +chatglm3:6:ggmlv3:q4_0,4.8,12.0,0,0.39999999999999997,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,3.0,12.0,0,0.25,5 +code-llama-instruct:7:ggufv2:Q3_K_M,3.0,12.0,0,0.25,5 +code-llama-instruct:7:ggufv2:Q2_K,3.0,12.0,0,0.25,5 +llama-2-chat:70:ggufv2:Q5_K_M,3.0,12.0,0,0.25,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,3.0,12.0,0,0.25,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,3.0,12.0,0,0.25,5 +code-llama-instruct:34:ggufv2:Q3_K_M,3.0,12.0,0,0.25,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,3.0,12.0,0,0.25,5 +llama-2-chat:70:ggufv2:Q4_K_M,3.0,12.0,0,0.25,5 +mistral-instruct-v0.2:7:ggufv2:Q6_K,0.0,12.0,0,0.0,5 +llama-3-instruct:8:ggufv2:Q6_K,0.0,12.0,0,0.0,5 +llama-3-instruct:8:ggufv2:Q8_0,0.0,12.0,0,0.0,5 +mistral-instruct-v0.2:7:ggufv2:Q2_K,0.0,12.0,0,0.0,5 +mistral-instruct-v0.2:7:ggufv2:Q3_K_M,0.0,12.0,0,0.0,5 +mistral-instruct-v0.2:7:ggufv2:Q4_K_M,0.0,12.0,0,0.0,5 +mistral-instruct-v0.2:7:ggufv2:Q5_K_M,0.0,12.0,0,0.0,5 +code-llama-instruct:34:ggufv2:Q8_0,0.0,12.0,0,0.0,5 +mistral-instruct-v0.2:7:ggufv2:Q8_0,0.0,12.0,0,0.0,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,0.0,12.0,0,0.0,5 +llama-3-instruct:8:ggufv2:Q4_K_M,0.0,12.0,0,0.0,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,0.0,12.0,0,0.0,5 +code-llama-instruct:13:ggufv2:Q8_0,0.0,12.0,0,0.0,5 +code-llama-instruct:13:ggufv2:Q6_K,0.0,12.0,0,0.0,5 +code-llama-instruct:13:ggufv2:Q5_K_M,0.0,12.0,0,0.0,5 +code-llama-instruct:13:ggufv2:Q4_K_M,0.0,12.0,0,0.0,5 +code-llama-instruct:13:ggufv2:Q3_K_M,0.0,12.0,0,0.0,5 +llama-3-instruct:8:ggufv2:Q5_K_M,0.0,12.0,0,0.0,5 +llama-2-chat:7:ggufv2:Q5_K_M,0.0,12.0,0,0.0,5 +llama-2-chat:7:ggufv2:Q8_0,0.0,12.0,0,0.0,5 +llama-2-chat:7:ggufv2:Q6_K,0.0,12.0,0,0.0,5 +code-llama-instruct:7:ggufv2:Q4_K_M,0.0,12.0,0,0.0,5 +code-llama-instruct:7:ggufv2:Q5_K_M,0.0,12.0,0,0.0,5 +code-llama-instruct:7:ggufv2:Q6_K,0.0,12.0,0,0.0,5 +code-llama-instruct:7:ggufv2:Q8_0,0.0,12.0,0,0.0,5 +code-llama-instruct:34:ggufv2:Q6_K,0.0,12.0,0,0.0,5 +code-llama-instruct:34:ggufv2:Q5_K_M,0.0,12.0,0,0.0,5 +code-llama-instruct:34:ggufv2:Q4_K_M,0.0,12.0,0,0.0,5 +gpt-4o-2024-05-13,0.0,12.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q2_K,0.0,12.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q3_K_M,0.0,12.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q4_K_M,0.0,12.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q5_K_M,0.0,12.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q6_K,0.0,12.0,0,0.0,5 +llama-2-chat:13:ggufv2:Q8_0,0.0,12.0,0,0.0,5 +llama-2-chat:70:ggufv2:Q2_K,0.0,12.0,0,0.0,5 +code-llama-instruct:13:ggufv2:Q2_K,0.0,12.0,0,0.0,5 +llama-2-chat:7:ggufv2:Q2_K,0.0,12.0,0,0.0,5 +llama-2-chat:7:ggufv2:Q3_K_M,0.0,12.0,0,0.0,5 +llama-2-chat:7:ggufv2:Q4_K_M,0.0,12.0,0,0.0,5 +llama-2-chat:70:ggufv2:Q3_K_M,0.0,12.0,0,0.0,5 diff --git a/benchmark/results/processed/sourcedata_info_extraction.csv b/benchmark/results/processed/sourcedata_info_extraction.csv index 43d6e72a..c70dfbd7 100644 --- a/benchmark/results/processed/sourcedata_info_extraction.csv +++ b/benchmark/results/processed/sourcedata_info_extraction.csv @@ -1,43 +1,38 @@ -Full model name,Score achieved,Score possible,Accuracy,Iterations -gpt-4-0125-preview,68.28081667873946,99.0,0.6897052189771662,5 -gpt-4-0613,66.22137714622475,99.0,0.6689027994568157,5 -gpt-4o-2024-05-13,64.74068171431274,99.0,0.6539462799425529,5 -openhermes-2.5:7:ggufv2:Q6_K,61.29755041727931,99.0,0.6191671759321142,5 -openhermes-2.5:7:ggufv2:Q8_0,59.482039120353356,99.0,0.6008286779833673,5 -openhermes-2.5:7:ggufv2:Q4_K_M,59.1308502977651,99.0,0.5972813161390415,5 -openhermes-2.5:7:ggufv2:Q5_K_M,57.41171469438949,99.0,0.5799163100443383,5 -gpt-3.5-turbo-0613,56.96276507493527,99.0,0.5753814654033865,5 -openhermes-2.5:7:ggufv2:Q3_K_M,54.894273531311434,99.0,0.5544876114273882,5 -gpt-3.5-turbo-0125,50.49315772140031,99.0,0.5100318961757607,5 -openhermes-2.5:7:ggufv2:Q2_K,43.96134849699704,99.0,0.44405402522219234,5 -mistral-instruct-v0.2:7:ggufv2:Q5_K_M,38.18966963891097,99.0,0.3857542387768785,5 -mistral-instruct-v0.2:7:ggufv2:Q3_K_M,36.528391936017044,99.0,0.3689736559193641,5 -mistral-instruct-v0.2:7:ggufv2:Q6_K,36.37381725881603,99.0,0.3674122955435963,5 -mistral-instruct-v0.2:7:ggufv2:Q8_0,34.81674305485256,99.0,0.351684273281339,5 -mistral-instruct-v0.2:7:ggufv2:Q4_K_M,34.3554515360392,99.0,0.34702476299029494,5 -mistral-instruct-v0.2:7:ggufv2:Q2_K,32.79487403841604,99.0,0.33126135392339434,5 -llama-2-chat:70:ggufv2:Q4_K_M,23.852639746180454,99.0,0.24093575501192377,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,23.330238106746446,99.0,0.23565897077521664,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,22.732595584380334,99.0,0.22962217762000336,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,22.326864100889843,99.0,0.2255238798069681,5 -llama-2-chat:70:ggufv2:Q2_K,21.28965124892795,99.0,0.21504698231240352,5 -llama-2-chat:70:ggufv2:Q5_K_M,20.806434402581186,99.0,0.21016600406647662,5 -llama-2-chat:70:ggufv2:Q3_K_M,19.59185693257297,99.0,0.19789754477346433,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,19.184852561756426,99.0,0.19378638951269117,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,18.72855813548349,99.0,0.18917735490387363,5 -llama-3-instruct:8:ggufv2:Q8_0,18.66689596900119,99.0,0.18855450473738575,5 -chatglm3:6:ggmlv3:q4_0,18.64016536772001,99.0,0.18828449866383848,5 -llama-3-instruct:8:ggufv2:Q5_K_M,16.47694753243307,99.0,0.1664338134589199,5 -llama-3-instruct:8:ggufv2:Q6_K,16.103049640693207,99.0,0.16265706707770916,5 -mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,15.593864046664642,99.0,0.1575137782491378,5 -code-llama-instruct:7:ggufv2:Q4_K_M,13.734471627385293,99.0,0.1387320366402555,5 -llama-3-instruct:8:ggufv2:Q4_K_M,11.570274154329585,99.0,0.11687145610433924,5 -llama-2-chat:13:ggufv2:Q3_K_M,11.15042450876327,99.0,0.11263055059356838,5 -llama-2-chat:13:ggufv2:Q4_K_M,8.79788342677711,99.0,0.08886750936138495,5 -llama-2-chat:7:ggufv2:Q4_K_M,8.439692956995263,99.0,0.08524942380803295,5 -llama-2-chat:13:ggufv2:Q5_K_M,7.585048900259881,99.0,0.07661665555818062,5 -llama-2-chat:13:ggufv2:Q8_0,7.548326257472688,99.0,0.0762457197724514,5 -llama-2-chat:7:ggufv2:Q5_K_M,6.9061549937251785,99.0,0.06975914135075938,5 -llama-2-chat:7:ggufv2:Q3_K_M,6.442100051856844,99.0,0.06507171769552368,5 -llama-2-chat:13:ggufv2:Q2_K,6.428949563634648,99.0,0.06493888448115806,5 -llama-2-chat:7:ggufv2:Q2_K,3.582468046776857,99.0,0.03618654592703896,5 +Full model name,Score achieved,Score possible,Score SD,Accuracy,Iterations +gpt-4-0125-preview,68.28081667873946,99.0,0.0,0.6897052189771662,5 +gpt-4-0613,66.22137714622475,99.0,0.0,0.6689027994568157,5 +gpt-4o-2024-05-13,64.74068171431274,99.0,0.0,0.6539462799425529,5 +gpt-3.5-turbo-0613,56.96276507493527,99.0,0.0,0.5753814654033865,5 +gpt-3.5-turbo-0125,50.49315772140031,99.0,0.0,0.5100318961757607,5 +mistral-instruct-v0.2:7:ggufv2:Q5_K_M,38.18966963891097,99.0,0.0,0.3857542387768785,5 +mistral-instruct-v0.2:7:ggufv2:Q3_K_M,36.528391936017044,99.0,0.0,0.3689736559193641,5 +mistral-instruct-v0.2:7:ggufv2:Q6_K,36.37381725881603,99.0,0.0,0.3674122955435963,5 +mistral-instruct-v0.2:7:ggufv2:Q8_0,34.81674305485256,99.0,0.0,0.351684273281339,5 +mistral-instruct-v0.2:7:ggufv2:Q4_K_M,34.3554515360392,99.0,0.0,0.34702476299029494,5 +mistral-instruct-v0.2:7:ggufv2:Q2_K,32.79487403841604,99.0,0.0,0.33126135392339434,5 +openhermes-2.5:7:ggufv2:Q2_K,0.5618556701030928,2.0,0.0,0.2809278350515464,2 +llama-2-chat:70:ggufv2:Q4_K_M,23.852639746180454,99.0,0.0,0.24093575501192377,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q5_K_M,23.330238106746446,99.0,0.0,0.23565897077521664,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q3_K_M,22.732595584380334,99.0,0.0,0.22962217762000336,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q6_K,22.326864100889843,99.0,0.0,0.2255238798069681,5 +llama-2-chat:70:ggufv2:Q2_K,21.28965124892795,99.0,0.0,0.21504698231240352,5 +llama-2-chat:70:ggufv2:Q5_K_M,20.806434402581186,99.0,0.0,0.21016600406647662,5 +llama-2-chat:70:ggufv2:Q3_K_M,19.59185693257297,99.0,0.0,0.19789754477346433,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q4_K_M,19.184852561756426,99.0,0.0,0.19378638951269117,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,18.72855813548349,99.0,0.0,0.18917735490387363,5 +llama-3-instruct:8:ggufv2:Q8_0,18.66689596900119,99.0,0.0,0.18855450473738575,5 +chatglm3:6:ggmlv3:q4_0,18.64016536772001,99.0,0.0,0.18828449866383848,5 +llama-3-instruct:8:ggufv2:Q5_K_M,16.47694753243307,99.0,0.0,0.1664338134589199,5 +llama-3-instruct:8:ggufv2:Q6_K,16.103049640693207,99.0,0.0,0.16265706707770916,5 +mixtral-instruct-v0.1:46_7:ggufv2:Q2_K,15.593864046664642,99.0,0.0,0.1575137782491378,5 +code-llama-instruct:7:ggufv2:Q4_K_M,13.734471627385293,99.0,0.0,0.1387320366402555,5 +llama-3-instruct:8:ggufv2:Q4_K_M,11.570274154329585,99.0,0.0,0.11687145610433924,5 +llama-2-chat:13:ggufv2:Q3_K_M,11.15042450876327,99.0,0.0,0.11263055059356838,5 +llama-2-chat:13:ggufv2:Q4_K_M,8.79788342677711,99.0,0.0,0.08886750936138495,5 +llama-2-chat:7:ggufv2:Q4_K_M,8.439692956995263,99.0,0.0,0.08524942380803295,5 +llama-2-chat:13:ggufv2:Q5_K_M,7.585048900259881,99.0,0.0,0.07661665555818062,5 +llama-2-chat:13:ggufv2:Q8_0,7.548326257472688,99.0,0.0,0.0762457197724514,5 +llama-2-chat:7:ggufv2:Q5_K_M,6.9061549937251785,99.0,0.0,0.06975914135075938,5 +llama-2-chat:7:ggufv2:Q3_K_M,6.442100051856844,99.0,0.0,0.06507171769552368,5 +llama-2-chat:13:ggufv2:Q2_K,6.428949563634648,99.0,0.0,0.06493888448115806,5 +llama-2-chat:7:ggufv2:Q2_K,3.582468046776857,99.0,0.0,0.03618654592703896,5 diff --git a/benchmark/results/sourcedata_info_extraction.csv b/benchmark/results/sourcedata_info_extraction.csv index 6be16c7c..9da75ed2 100644 --- a/benchmark/results/sourcedata_info_extraction.csv +++ b/benchmark/results/sourcedata_info_extraction.csv @@ -3563,597 +3563,5 @@ mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,source_data_extraction:stats:flow_cyto:si mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,source_data_extraction:stats:western:detailed_description,0.04545454545454545/1,5,3a24f2260884e4bec422badb0dfc0083,2024-05-11 05:49:12,0.4.10 mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,source_data_extraction:stats:western:few_shot,0.015873015873015872/1,5,6a4cffd582817749f01ac0ab3794b7fc,2024-05-11 05:51:59,0.4.10 mixtral-instruct-v0.1:46_7:ggufv2:Q8_0,source_data_extraction:stats:western:simple,0.07999999999999999/1,5,43fcb671748967174b9538f34e1713bd,2024-05-11 05:48:48,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:assay:3d_sim:detailed_description,0.125/1,5,2d90f71a0be167d91373b204450a6ce9,2024-05-11 06:22:15,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:assay:3d_sim:few_shot,0.28571428571428575/1,5,aea61a44be8320ff606426d4c31632d6,2024-05-11 06:22:25,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:assay:3d_sim:simple,0.3636363636363636/1,5,cede34f99895d6a490943f2e1adbbd5e,2024-05-11 06:21:57,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:assay:flow_cyto:detailed_description,0.8/1,5,707d571fd9f1a870e5a7738327f0225d,2024-05-11 06:22:46,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:assay:flow_cyto:few_shot,0.5/1,5,acdd255f6f34f97b89876fb69ab88174,2024-05-11 06:22:55,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:assay:flow_cyto:simple,0.5714285714285715/1,5,8a38d332804007b0fb05ffb12d52a6f2,2024-05-11 06:22:38,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:assay:western:detailed_description,1.0/1,5,87cc7f996b3190b5ac38cc51d88ceca8,2024-05-11 06:23:08,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:assay:western:few_shot,0.2666666666666667/1,5,fa1ac6b5b73595e706df485133cc4c9c,2024-05-11 06:23:20,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:assay:western:simple,0.4444444444444445/1,5,8a18362ae8899ae5f213bcb1dd78dd9a,2024-05-11 06:23:01,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:chemical:3d_sim:detailed_description,0.0/1,5,43dea08d36f83283646548bfc9687992,2024-05-11 06:34:57,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:chemical:3d_sim:few_shot,1.0/1,5,a6d1ad8915b12dd9936f5157ef21e6a0,2024-05-11 06:35:04,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:chemical:3d_sim:simple,0.0/1,5,fea444c8581b577e13dfe1590a61f09d,2024-05-11 06:34:50,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:chemical:flow_cyto:detailed_description,0.0/1,5,3f4e12f0ac87b96808c1c1f4609517d0,2024-05-11 06:35:14,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:chemical:flow_cyto:few_shot,1.0/1,5,0b18798183e3a0a620c5a3ad5bf662b6,2024-05-11 06:35:23,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:chemical:flow_cyto:simple,0.0/1,5,2676d0faaa1c04bd3847d412b2bd149c,2024-05-11 06:35:08,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:chemical:western:detailed_description,1.0/1,5,14fccd0a2e5aac2d164ec03fd9e87bd5,2024-05-11 06:35:34,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:chemical:western:few_shot,0.6666666666666666/1,5,25827c3cb4f88fc7ee1124cd35e3caec,2024-05-11 06:35:42,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:chemical:western:simple,1.0/1,5,39a69493b8e1da4a0001d160ea896cfc,2024-05-11 06:35:28,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:context:3d_sim:detailed_description,0.26666666666666666/1,5,6f419d1a22a9cd9a998c873a3a8ecac6,2024-05-11 06:18:54,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:context:3d_sim:few_shot,0.15384615384615383/1,5,c24579d7397faf97492bf9d8a7921ff7,2024-05-11 06:19:55,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:context:3d_sim:simple,0.6153846153846154/1,5,ffc5f709d1b0f6299341c03e40226470,2024-05-11 06:18:44,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:context:flow_cyto:detailed_description,0.10526315789473686/1,5,92b96624c51c40121daa9543d0a17ce2,2024-05-11 06:20:08,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:context:flow_cyto:few_shot,0.21568627450980396/1,5,17d4b5a1869776ab9fa680a98a123473,2024-05-11 06:20:45,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:context:flow_cyto:simple,0.4444444444444445/1,5,e66c2345e611fb4baebbe5cf1329c70b,2024-05-11 06:20:01,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:context:western:detailed_description,0.605263157894737/1,5,ff81dbedef92f0e095cfce9c9d0c5fe9,2024-05-11 06:21:32,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:context:western:few_shot,0.8235294117647058/1,5,b23bc1bc137258537770cbe8b0b5aaed,2024-05-11 06:21:51,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:context:western:simple,0.6388888888888888/1,5,30ad5e4d88eedac4a070d24499f18837,2024-05-11 06:21:06,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:disease:3d_sim:detailed_description,1.0/1,5,e78190b57f052932c1205156cec243e1,2024-05-11 06:29:58,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:disease:3d_sim:few_shot,0.0/1,5,c50d416f2fb72d8adb3ab98e9c97a578,2024-05-11 06:30:06,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:disease:3d_sim:simple,1.0/1,5,bed6cda002a003408020b17fd0a5f409,2024-05-11 06:29:52,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:disease:flow_cyto:detailed_description,0.0/1,5,93b526e53ab189cbb393d10cf809964f,2024-05-11 06:30:23,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:disease:flow_cyto:few_shot,0.6666666666666666/1,5,58f5aa51aab57287abf5c956b004c456,2024-05-11 06:30:31,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:disease:flow_cyto:simple,1.0/1,5,ef5f71d1dba61ab8a78c568ce73373f7,2024-05-11 06:30:10,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:disease:western:detailed_description,0.0392156862745098/1,5,156b9d3aa46795fa88322388c144359b,2024-05-11 06:31:04,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:disease:western:few_shot,0.3333333333333333/1,5,1001723e6d962d0b21eb7927ad30f034,2024-05-11 06:31:12,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:disease:western:simple,0.28571428571428575/1,5,c9f3767d92247fe429a4b3d0c41d2a6c,2024-05-11 06:30:36,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:entity:3d_sim:detailed_description,0.061855670103092786/1,5,46200f75f003f555f862c45062aea429,2024-05-11 06:17:02,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:entity:3d_sim:few_shot,0.30769230769230765/1,5,6bab3e1224dc6ee41fa6e4ad6dd8677f,2024-05-11 06:19:04,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:entity:3d_sim:simple,0.5/1,5,85529afad023d7ed58e1c87acad9a060,2024-05-11 06:16:28,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:entity:flow_cyto:detailed_description,0.125/1,5,d6f041c669d4a7ba8e7fa5bd9e4c17be,2024-05-11 06:24:03,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:entity:flow_cyto:few_shot,0.5/1,5,097dc8529d5cb379ce82f684e3b85179,2024-05-11 06:25:44,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:entity:flow_cyto:simple,0.7058823529411765/1,5,bca6e775c0b4e2ac1798b63fa5db4545,2024-05-11 06:22:32,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:entity:western:detailed_description,0.09523809523809523/1,5,94cc36fd5c1fd5fdd4e45acf476cf0be,2024-05-11 06:30:51,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:entity:western:few_shot,0.038461538461538464/1,5,d154460cc07c59eb9b1423b6407198e0,2024-05-11 06:32:50,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:entity:western:simple,0.0/1,5,bce6a216c1bd78a81a63c248a19278ea,2024-05-11 06:29:11,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:experiment_yes_or_no:3d_sim:detailed_description,1.0/1,5,1d744fabe592d204c1eab87afe512314,2024-05-11 06:23:31,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:experiment_yes_or_no:3d_sim:few_shot,1.0/1,5,6e248cc73bf80679d0cd45e596cb27d5,2024-05-11 06:23:38,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:experiment_yes_or_no:3d_sim:simple,1.0/1,5,eacafab8b855033064d1387e4ca1cb79,2024-05-11 06:23:24,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:experiment_yes_or_no:flow_cyto:detailed_description,1.0/1,5,7b7fb48b52926d919e8af8326198172c,2024-05-11 06:24:08,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:experiment_yes_or_no:flow_cyto:few_shot,1.0/1,5,79c95add6a39befe5816a7952bf0669d,2024-05-11 06:24:15,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:experiment_yes_or_no:flow_cyto:simple,1.0/1,5,2c92dd3d53d4b30346bc0f97427aad85,2024-05-11 06:23:43,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:experiment_yes_or_no:western:detailed_description,1.0/1,5,e0d41aab80dad2d71e352737e4898871,2024-05-11 06:24:26,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:experiment_yes_or_no:western:few_shot,1.0/1,5,7ceb05cb6ec1ac1db3357a331c22d94a,2024-05-11 06:24:34,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:experiment_yes_or_no:western:simple,1.0/1,5,a5bf1b37d8b29147eadf9891d59a222b,2024-05-11 06:24:19,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:hypothesis:3d_sim:detailed_description,0.29629629629629634/1,5,fc722f4d362e74c09108f618144e4a32,2024-05-11 06:27:38,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:hypothesis:3d_sim:few_shot,0.0792079207920792/1,5,03da3233366dd58732c08a4c8f1d7b4c,2024-05-11 06:28:13,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:hypothesis:3d_sim:simple,0.15384615384615385/1,5,40713876d72c6ddee36e1ab96e90a500,2024-05-11 06:27:25,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:hypothesis:flow_cyto:detailed_description,0.3333333333333333/1,5,536e5fb3b24cb2dc892244add7e6d1f3,2024-05-11 06:28:43,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:hypothesis:flow_cyto:few_shot,0.28571428571428575/1,5,844daa2c5c3eb8603ed16c92aaecf33a,2024-05-11 06:29:05,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:hypothesis:flow_cyto:simple,0.1923076923076923/1,5,27b323a3add2912be64b7795b4267d50,2024-05-11 06:28:27,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:hypothesis:western:detailed_description,0.0/1,5,5b7427db4e78bfcca22b6fb03bfc6190,2024-05-11 06:29:34,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:hypothesis:western:few_shot,0.09523809523809523/1,5,10e52971af3495d49f4a8357f45d2bc5,2024-05-11 06:29:46,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:hypothesis:western:simple,0.05555555555555556/1,5,240c6df8dbb15b9da03098343f5c9dd7,2024-05-11 06:29:24,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:intervention:3d_sim:detailed_description,0.0/1,5,b7eabbd940e2c3feed69c67d04309bec,2024-05-11 06:17:14,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:intervention:3d_sim:few_shot,0.0/1,5,9cfb1e37a404221a571986de92753f78,2024-05-11 06:17:22,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:intervention:3d_sim:simple,0.0/1,5,d0e09da1cd840d2815d7c5264ac0c8be,2024-05-11 06:34:46,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:intervention:flow_cyto:detailed_description,0.1276595744680851/1,5,4023510fb805f530e35ffe4b51bab54e,2024-05-11 06:17:44,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:intervention:flow_cyto:few_shot,0.8000000000000002/1,5,df709f3e6e5ecf2ae1368a883b3a3e37,2024-05-11 06:17:54,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:intervention:flow_cyto:simple,0.6666666666666666/1,5,541414d197c2e444be985927441bfb8c,2024-05-11 06:17:30,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:intervention:western:detailed_description,0.0/1,5,3f5d4075f2f82f6b286f01cb86729fd5,2024-05-11 06:18:24,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:intervention:western:few_shot,0.6666666666666666/1,5,f7794ea9543333123d5adaacbd712e8e,2024-05-11 06:18:32,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:intervention:western:simple,0.6666666666666666/1,5,f838ea86a7bbad85bfe4338736df379f,2024-05-11 06:17:59,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:ncbi_link:3d_sim:detailed_description,0.0/1,5,23cbdc7b8423e3ab8ecbf1cb17e09df8,2024-05-11 06:24:53,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:ncbi_link:3d_sim:few_shot,0.0/1,5,050000d8bf19181448b51d6af4a946dd,2024-05-11 06:25:12,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:ncbi_link:3d_sim:simple,0.30769230769230765/1,5,9f779dc4b3285d4e1d226716119c0c6a,2024-05-11 06:24:42,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:ncbi_link:flow_cyto:detailed_description,0.0/1,5,fe4ec0ec24b9f009708ce91384f47e10,2024-05-11 06:25:36,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:ncbi_link:flow_cyto:few_shot,0.01886792452830189/1,5,f8d19212e1840aea9f5ecc529eb16868,2024-05-11 06:26:21,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:ncbi_link:flow_cyto:simple,0.04444444444444444/1,5,942ef767828c7c818472f794db3a47a9,2024-05-11 06:25:26,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:ncbi_link:western:detailed_description,0.09523809523809523/1,5,fd441933eae7132ce27e11f8697ebc37,2024-05-11 06:26:51,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:ncbi_link:western:few_shot,0.0392156862745098/1,5,a0e0591f59cece390f8aa1d006e54471,2024-05-11 06:27:14,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:ncbi_link:western:simple,0.0/1,5,664e549810789c34f88186e416589b85,2024-05-11 06:26:41,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:significance:3d_sim:detailed_description,0.08163265306122448/1,5,e9aab0d4189843cd730f453683c28eb9,2024-05-11 06:33:22,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:significance:3d_sim:few_shot,0.6666666666666666/1,5,f4f9d2f579b21b7ef8c4d4328cd896e6,2024-05-11 06:33:32,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:significance:3d_sim:simple,0.0/1,5,71ab07cff8c971057533c0b181f74dd8,2024-05-11 06:33:06,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:significance:flow_cyto:detailed_description,0.07017543859649122/1,5,e5286b80bbd1b881388ce35a8d6d5c82,2024-05-11 06:33:57,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:significance:flow_cyto:few_shot,0.6666666666666666/1,5,0a5e9d13eb0b00ccb3aaaa5ea3390fa0,2024-05-11 06:34:07,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:significance:flow_cyto:simple,0.33333333333333337/1,5,b9ecd3ec1d3a649d57319cf116889f3f,2024-05-11 06:33:38,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:significance:western:detailed_description,0.0/1,5,e6d8d4ecd40c064bbeef756879cb5cc7,2024-05-11 06:34:32,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:significance:western:few_shot,0.6666666666666666/1,5,a135cc5a10082419f9c781f6a53957c5,2024-05-11 06:34:40,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:significance:western:simple,0.0/1,5,e4a33d11c713fc1f38af980251f62417,2024-05-11 06:34:21,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:stats:3d_sim:detailed_description,1.0/1,5,1c704fb5e3888139ba9ba20f5d3351bf,2024-05-11 06:31:25,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:stats:3d_sim:few_shot,1.0/1,5,dae44fa5421321c162b5075eb5a9da8f,2024-05-11 06:31:34,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:stats:3d_sim:simple,1.0/1,5,d85f3ec813d7886ee4abc44daa36b05f,2024-05-11 06:31:18,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:stats:flow_cyto:detailed_description,1.0/1,5,a649e6931cebb9ff4ea994cc7992b616,2024-05-11 06:31:47,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:stats:flow_cyto:few_shot,1.0/1,5,802c2f7e019b3840853135916119fb96,2024-05-11 06:31:55,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:stats:flow_cyto:simple,1.0/1,5,a29e1ed8f52383c8dfe7eb1dedb5ae72,2024-05-11 06:31:39,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:stats:western:detailed_description,1.0/1,5,3a24f2260884e4bec422badb0dfc0083,2024-05-11 06:32:07,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:stats:western:few_shot,0.0/1,5,6a4cffd582817749f01ac0ab3794b7fc,2024-05-11 06:32:55,0.4.10 -openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:stats:western:simple,1.0/1,5,43fcb671748967174b9538f34e1713bd,2024-05-11 06:32:00,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:assay:3d_sim:detailed_description,0.24069565217391306/1,5,2d90f71a0be167d91373b204450a6ce9,2024-05-11 06:39:25,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:assay:3d_sim:few_shot,0.45/1,5,aea61a44be8320ff606426d4c31632d6,2024-05-11 06:39:34,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:assay:3d_sim:simple,0.28571428571428575/1,5,cede34f99895d6a490943f2e1adbbd5e,2024-05-11 06:39:15,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:assay:flow_cyto:detailed_description,1.0/1,5,707d571fd9f1a870e5a7738327f0225d,2024-05-11 06:39:51,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:assay:flow_cyto:few_shot,0.5714285714285715/1,5,acdd255f6f34f97b89876fb69ab88174,2024-05-11 06:39:59,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:assay:flow_cyto:simple,1.0/1,5,8a38d332804007b0fb05ffb12d52a6f2,2024-05-11 06:39:45,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:assay:western:detailed_description,0.4/1,5,87cc7f996b3190b5ac38cc51d88ceca8,2024-05-11 06:40:12,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:assay:western:few_shot,0.04545454545454545/1,5,fa1ac6b5b73595e706df485133cc4c9c,2024-05-11 06:40:45,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:assay:western:simple,1.0/1,5,8a18362ae8899ae5f213bcb1dd78dd9a,2024-05-11 06:40:05,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:chemical:3d_sim:detailed_description,0.0/1,5,43dea08d36f83283646548bfc9687992,2024-05-11 06:48:58,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:chemical:3d_sim:few_shot,0.010869565217391304/1,5,a6d1ad8915b12dd9936f5157ef21e6a0,2024-05-11 06:49:55,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:chemical:3d_sim:simple,0.0/1,5,fea444c8581b577e13dfe1590a61f09d,2024-05-11 06:48:50,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:chemical:flow_cyto:detailed_description,0.888888888888889/1,5,3f4e12f0ac87b96808c1c1f4609517d0,2024-05-11 06:50:10,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:chemical:flow_cyto:few_shot,1.0/1,5,0b18798183e3a0a620c5a3ad5bf662b6,2024-05-11 06:50:19,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:chemical:flow_cyto:simple,1.0/1,5,2676d0faaa1c04bd3847d412b2bd149c,2024-05-11 06:50:02,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:chemical:western:detailed_description,0.6666666666666666/1,5,14fccd0a2e5aac2d164ec03fd9e87bd5,2024-05-11 06:50:30,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:chemical:western:few_shot,0.6666666666666666/1,5,25827c3cb4f88fc7ee1124cd35e3caec,2024-05-11 06:50:38,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:chemical:western:simple,1.0/1,5,39a69493b8e1da4a0001d160ea896cfc,2024-05-11 06:50:23,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:context:3d_sim:detailed_description,0.5460526315789472/1,5,6f419d1a22a9cd9a998c873a3a8ecac6,2024-05-11 06:37:21,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:context:3d_sim:few_shot,0.7272727272727274/1,5,c24579d7397faf97492bf9d8a7921ff7,2024-05-11 06:37:43,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:context:3d_sim:simple,0.6896551724137931/1,5,ffc5f709d1b0f6299341c03e40226470,2024-05-11 06:37:11,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:context:flow_cyto:detailed_description,0.7407407407407408/1,5,92b96624c51c40121daa9543d0a17ce2,2024-05-11 06:38:03,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:context:flow_cyto:few_shot,0.7857142857142857/1,5,17d4b5a1869776ab9fa680a98a123473,2024-05-11 06:38:14,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:context:flow_cyto:simple,0.8/1,5,e66c2345e611fb4baebbe5cf1329c70b,2024-05-11 06:37:52,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:context:western:detailed_description,0.7301587301587302/1,5,ff81dbedef92f0e095cfce9c9d0c5fe9,2024-05-11 06:38:50,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:context:western:few_shot,0.9056603773584906/1,5,b23bc1bc137258537770cbe8b0b5aaed,2024-05-11 06:39:09,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:context:western:simple,0.8474576271186441/1,5,30ad5e4d88eedac4a070d24499f18837,2024-05-11 06:38:30,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:disease:3d_sim:detailed_description,1.0/1,5,e78190b57f052932c1205156cec243e1,2024-05-11 06:45:25,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:disease:3d_sim:few_shot,0.6666666666666666/1,5,c50d416f2fb72d8adb3ab98e9c97a578,2024-05-11 06:45:33,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:disease:3d_sim:simple,1.0/1,5,bed6cda002a003408020b17fd0a5f409,2024-05-11 06:45:19,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:disease:flow_cyto:detailed_description,1.0/1,5,93b526e53ab189cbb393d10cf809964f,2024-05-11 06:45:43,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:disease:flow_cyto:few_shot,0.6666666666666666/1,5,58f5aa51aab57287abf5c956b004c456,2024-05-11 06:45:51,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:disease:flow_cyto:simple,1.0/1,5,ef5f71d1dba61ab8a78c568ce73373f7,2024-05-11 06:45:37,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:disease:western:detailed_description,0.4/1,5,156b9d3aa46795fa88322388c144359b,2024-05-11 06:46:10,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:disease:western:few_shot,0.3333333333333333/1,5,1001723e6d962d0b21eb7927ad30f034,2024-05-11 06:46:18,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:disease:western:simple,0.4/1,5,c9f3767d92247fe429a4b3d0c41d2a6c,2024-05-11 06:45:55,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:entity:3d_sim:detailed_description,0.2/1,5,46200f75f003f555f862c45062aea429,2024-05-11 06:36:05,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:entity:3d_sim:few_shot,0.30769230769230765/1,5,6bab3e1224dc6ee41fa6e4ad6dd8677f,2024-05-11 06:37:30,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:entity:3d_sim:simple,0.19047619047619047/1,5,85529afad023d7ed58e1c87acad9a060,2024-05-11 06:35:57,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:entity:flow_cyto:detailed_description,0.8750000000000002/1,5,d6f041c669d4a7ba8e7fa5bd9e4c17be,2024-05-11 06:41:17,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:entity:flow_cyto:few_shot,0.34285714285714286/1,5,097dc8529d5cb379ce82f684e3b85179,2024-05-11 06:42:28,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:entity:flow_cyto:simple,0.8750000000000002/1,5,bca6e775c0b4e2ac1798b63fa5db4545,2024-05-11 06:39:40,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:entity:western:detailed_description,0.1904761904761905/1,5,94cc36fd5c1fd5fdd4e45acf476cf0be,2024-05-11 06:46:06,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:entity:western:few_shot,0.5714285714285715/1,5,d154460cc07c59eb9b1423b6407198e0,2024-05-11 06:47:20,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:entity:western:simple,0.10526315789473684/1,5,bce6a216c1bd78a81a63c248a19278ea,2024-05-11 06:44:33,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:experiment_yes_or_no:3d_sim:detailed_description,1.0/1,5,1d744fabe592d204c1eab87afe512314,2024-05-11 06:40:56,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:experiment_yes_or_no:3d_sim:few_shot,0.6666666666666666/1,5,6e248cc73bf80679d0cd45e596cb27d5,2024-05-11 06:41:03,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:experiment_yes_or_no:3d_sim:simple,1.0/1,5,eacafab8b855033064d1387e4ca1cb79,2024-05-11 06:40:50,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:experiment_yes_or_no:flow_cyto:detailed_description,1.0/1,5,7b7fb48b52926d919e8af8326198172c,2024-05-11 06:41:21,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:experiment_yes_or_no:flow_cyto:few_shot,0.6666666666666666/1,5,79c95add6a39befe5816a7952bf0669d,2024-05-11 06:41:28,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:experiment_yes_or_no:flow_cyto:simple,1.0/1,5,2c92dd3d53d4b30346bc0f97427aad85,2024-05-11 06:41:09,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:experiment_yes_or_no:western:detailed_description,1.0/1,5,e0d41aab80dad2d71e352737e4898871,2024-05-11 06:41:39,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:experiment_yes_or_no:western:few_shot,0.6666666666666666/1,5,7ceb05cb6ec1ac1db3357a331c22d94a,2024-05-11 06:41:46,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:experiment_yes_or_no:western:simple,1.0/1,5,a5bf1b37d8b29147eadf9891d59a222b,2024-05-11 06:41:33,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:hypothesis:3d_sim:detailed_description,0.17777777777777776/1,5,fc722f4d362e74c09108f618144e4a32,2024-05-11 06:43:20,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:hypothesis:3d_sim:few_shot,0.24242424242424238/1,5,03da3233366dd58732c08a4c8f1d7b4c,2024-05-11 06:43:37,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:hypothesis:3d_sim:simple,0.13333333333333336/1,5,40713876d72c6ddee36e1ab96e90a500,2024-05-11 06:43:03,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:hypothesis:flow_cyto:detailed_description,0.5/1,5,536e5fb3b24cb2dc892244add7e6d1f3,2024-05-11 06:44:06,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:hypothesis:flow_cyto:few_shot,0.39999999999999997/1,5,844daa2c5c3eb8603ed16c92aaecf33a,2024-05-11 06:44:15,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:hypothesis:flow_cyto:simple,0.4814814814814815/1,5,27b323a3add2912be64b7795b4267d50,2024-05-11 06:43:50,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:hypothesis:western:detailed_description,0.02777777777777778/1,5,5b7427db4e78bfcca22b6fb03bfc6190,2024-05-11 06:45:04,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:hypothesis:western:few_shot,0.09090909090909091/1,5,10e52971af3495d49f4a8357f45d2bc5,2024-05-11 06:45:14,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:hypothesis:western:simple,0.0425531914893617/1,5,240c6df8dbb15b9da03098343f5c9dd7,2024-05-11 06:44:49,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:intervention:3d_sim:detailed_description,0.0/1,5,b7eabbd940e2c3feed69c67d04309bec,2024-05-11 06:36:11,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:intervention:3d_sim:few_shot,0.0/1,5,9cfb1e37a404221a571986de92753f78,2024-05-11 06:36:19,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:intervention:3d_sim:simple,0.2857142857142857/1,5,d0e09da1cd840d2815d7c5264ac0c8be,2024-05-11 06:48:46,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:intervention:flow_cyto:detailed_description,0.8000000000000002/1,5,4023510fb805f530e35ffe4b51bab54e,2024-05-11 06:36:33,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:intervention:flow_cyto:few_shot,0.8000000000000002/1,5,df709f3e6e5ecf2ae1368a883b3a3e37,2024-05-11 06:36:42,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:intervention:flow_cyto:simple,0.0/1,5,541414d197c2e444be985927441bfb8c,2024-05-11 06:36:24,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:intervention:western:detailed_description,0.0/1,5,3f5d4075f2f82f6b286f01cb86729fd5,2024-05-11 06:36:53,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:intervention:western:few_shot,0.6666666666666666/1,5,f7794ea9543333123d5adaacbd712e8e,2024-05-11 06:37:01,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:intervention:western:simple,1.0/1,5,f838ea86a7bbad85bfe4338736df379f,2024-05-11 06:36:46,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:ncbi_link:3d_sim:detailed_description,0.0/1,5,23cbdc7b8423e3ab8ecbf1cb17e09df8,2024-05-11 06:42:01,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:ncbi_link:3d_sim:few_shot,0.0/1,5,050000d8bf19181448b51d6af4a946dd,2024-05-11 06:42:08,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:ncbi_link:3d_sim:simple,0.30769230769230765/1,5,9f779dc4b3285d4e1d226716119c0c6a,2024-05-11 06:41:55,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:ncbi_link:flow_cyto:detailed_description,0.0/1,5,fe4ec0ec24b9f009708ce91384f47e10,2024-05-11 06:42:21,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:ncbi_link:flow_cyto:few_shot,0.0/1,5,f8d19212e1840aea9f5ecc529eb16868,2024-05-11 06:42:33,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:ncbi_link:flow_cyto:simple,0.0/1,5,942ef767828c7c818472f794db3a47a9,2024-05-11 06:42:15,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:ncbi_link:western:detailed_description,1.0/1,5,fd441933eae7132ce27e11f8697ebc37,2024-05-11 06:42:45,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:ncbi_link:western:few_shot,0.6666666666666666/1,5,a0e0591f59cece390f8aa1d006e54471,2024-05-11 06:42:52,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:ncbi_link:western:simple,0.4/1,5,664e549810789c34f88186e416589b85,2024-05-11 06:42:39,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:significance:3d_sim:detailed_description,0.4/1,5,e9aab0d4189843cd730f453683c28eb9,2024-05-11 06:47:40,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:significance:3d_sim:few_shot,0.6666666666666666/1,5,f4f9d2f579b21b7ef8c4d4328cd896e6,2024-05-11 06:47:49,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:significance:3d_sim:simple,0.4/1,5,71ab07cff8c971057533c0b181f74dd8,2024-05-11 06:47:32,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:significance:flow_cyto:detailed_description,0.4/1,5,e5286b80bbd1b881388ce35a8d6d5c82,2024-05-11 06:48:04,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:significance:flow_cyto:few_shot,0.6666666666666666/1,5,0a5e9d13eb0b00ccb3aaaa5ea3390fa0,2024-05-11 06:48:12,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:significance:flow_cyto:simple,0.4/1,5,b9ecd3ec1d3a649d57319cf116889f3f,2024-05-11 06:47:56,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:significance:western:detailed_description,0.0909090909090909/1,5,e6d8d4ecd40c064bbeef756879cb5cc7,2024-05-11 06:48:29,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:significance:western:few_shot,0.6666666666666666/1,5,a135cc5a10082419f9c781f6a53957c5,2024-05-11 06:48:37,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:significance:western:simple,0.0/1,5,e4a33d11c713fc1f38af980251f62417,2024-05-11 06:48:20,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:stats:3d_sim:detailed_description,0.6666666666666666/1,5,1c704fb5e3888139ba9ba20f5d3351bf,2024-05-11 06:46:30,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:stats:3d_sim:few_shot,0.923076923076923/1,5,dae44fa5421321c162b5075eb5a9da8f,2024-05-11 06:46:39,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:stats:3d_sim:simple,1.0/1,5,d85f3ec813d7886ee4abc44daa36b05f,2024-05-11 06:46:23,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:stats:flow_cyto:detailed_description,1.0/1,5,a649e6931cebb9ff4ea994cc7992b616,2024-05-11 06:46:53,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:stats:flow_cyto:few_shot,1.0/1,5,802c2f7e019b3840853135916119fb96,2024-05-11 06:47:01,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:stats:flow_cyto:simple,0.8/1,5,a29e1ed8f52383c8dfe7eb1dedb5ae72,2024-05-11 06:46:46,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:stats:western:detailed_description,1.0/1,5,3a24f2260884e4bec422badb0dfc0083,2024-05-11 06:47:12,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:stats:western:few_shot,0.6666666666666666/1,5,6a4cffd582817749f01ac0ab3794b7fc,2024-05-11 06:47:25,0.4.10 -openhermes-2.5:7:ggufv2:Q3_K_M,source_data_extraction:stats:western:simple,1.0/1,5,43fcb671748967174b9538f34e1713bd,2024-05-11 06:47:06,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:assay:3d_sim:detailed_description,0.4/1,5,2d90f71a0be167d91373b204450a6ce9,2024-04-27 21:49:16,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:assay:3d_sim:few_shot,0.20689655172413796/1,5,aea61a44be8320ff606426d4c31632d6,2024-04-27 21:49:30,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:assay:3d_sim:simple,0.28571428571428575/1,5,cede34f99895d6a490943f2e1adbbd5e,2024-04-27 21:49:09,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:assay:flow_cyto:detailed_description,0.8/1,5,707d571fd9f1a870e5a7738327f0225d,2024-04-27 21:49:52,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:assay:flow_cyto:few_shot,0.6666666666666666/1,5,acdd255f6f34f97b89876fb69ab88174,2024-04-27 21:50:00,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:assay:flow_cyto:simple,1.0/1,5,8a38d332804007b0fb05ffb12d52a6f2,2024-04-27 21:49:45,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:assay:western:detailed_description,1.0/1,5,87cc7f996b3190b5ac38cc51d88ceca8,2024-04-27 21:50:12,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:assay:western:few_shot,0.04545454545454545/1,5,fa1ac6b5b73595e706df485133cc4c9c,2024-04-27 21:50:43,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:assay:western:simple,1.0/1,5,8a18362ae8899ae5f213bcb1dd78dd9a,2024-04-27 21:50:05,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:chemical:3d_sim:detailed_description,0.0/1,5,43dea08d36f83283646548bfc9687992,2024-04-27 21:58:37,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:chemical:3d_sim:few_shot,0.4/1,5,a6d1ad8915b12dd9936f5157ef21e6a0,2024-04-27 21:58:45,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:chemical:3d_sim:simple,0.0/1,5,fea444c8581b577e13dfe1590a61f09d,2024-04-27 21:58:30,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:chemical:flow_cyto:detailed_description,0.888888888888889/1,5,3f4e12f0ac87b96808c1c1f4609517d0,2024-04-27 21:58:58,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:chemical:flow_cyto:few_shot,1.0/1,5,0b18798183e3a0a620c5a3ad5bf662b6,2024-04-27 21:59:07,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:chemical:flow_cyto:simple,0.0/1,5,2676d0faaa1c04bd3847d412b2bd149c,2024-04-27 21:58:49,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:chemical:western:detailed_description,1.0/1,5,14fccd0a2e5aac2d164ec03fd9e87bd5,2024-04-27 21:59:17,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:chemical:western:few_shot,0.6666666666666666/1,5,25827c3cb4f88fc7ee1124cd35e3caec,2024-04-27 21:59:24,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:chemical:western:simple,1.0/1,5,39a69493b8e1da4a0001d160ea896cfc,2024-04-27 21:59:11,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:context:3d_sim:detailed_description,0.6666666666666667/1,5,6f419d1a22a9cd9a998c873a3a8ecac6,2024-04-27 21:47:19,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:context:3d_sim:few_shot,0.7499999999999999/1,5,c24579d7397faf97492bf9d8a7921ff7,2024-04-27 21:47:41,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:context:3d_sim:simple,0.588235294117647/1,5,ffc5f709d1b0f6299341c03e40226470,2024-04-27 21:47:07,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:context:flow_cyto:detailed_description,0.8461538461538461/1,5,92b96624c51c40121daa9543d0a17ce2,2024-04-27 21:47:59,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:context:flow_cyto:few_shot,0.7407407407407408/1,5,17d4b5a1869776ab9fa680a98a123473,2024-04-27 21:48:12,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:context:flow_cyto:simple,0.7692307692307692/1,5,e66c2345e611fb4baebbe5cf1329c70b,2024-04-27 21:47:49,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:context:western:detailed_description,0.8421052631578947/1,5,ff81dbedef92f0e095cfce9c9d0c5fe9,2024-04-27 21:48:45,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:context:western:few_shot,0.8399556048834628/1,5,b23bc1bc137258537770cbe8b0b5aaed,2024-04-27 21:49:02,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:context:western:simple,0.8474576271186441/1,5,30ad5e4d88eedac4a070d24499f18837,2024-04-27 21:48:28,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:disease:3d_sim:detailed_description,1.0/1,5,e78190b57f052932c1205156cec243e1,2024-04-27 21:55:16,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:disease:3d_sim:few_shot,0.6666666666666666/1,5,c50d416f2fb72d8adb3ab98e9c97a578,2024-04-27 21:55:23,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:disease:3d_sim:simple,1.0/1,5,bed6cda002a003408020b17fd0a5f409,2024-04-27 21:55:10,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:disease:flow_cyto:detailed_description,1.0/1,5,93b526e53ab189cbb393d10cf809964f,2024-04-27 21:55:34,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:disease:flow_cyto:few_shot,0.6666666666666666/1,5,58f5aa51aab57287abf5c956b004c456,2024-04-27 21:55:41,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:disease:flow_cyto:simple,1.0/1,5,ef5f71d1dba61ab8a78c568ce73373f7,2024-04-27 21:55:28,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:disease:western:detailed_description,0.4/1,5,156b9d3aa46795fa88322388c144359b,2024-04-27 21:55:59,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:disease:western:few_shot,0.3333333333333333/1,5,1001723e6d962d0b21eb7927ad30f034,2024-04-27 21:56:06,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:disease:western:simple,0.4/1,5,c9f3767d92247fe429a4b3d0c41d2a6c,2024-04-27 21:55:46,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:entity:3d_sim:detailed_description,0.4/1,5,46200f75f003f555f862c45062aea429,2024-04-27 21:45:50,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:entity:3d_sim:few_shot,0.30769230769230765/1,5,6bab3e1224dc6ee41fa6e4ad6dd8677f,2024-04-27 21:47:29,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:entity:3d_sim:simple,0.39999999999999997/1,5,85529afad023d7ed58e1c87acad9a060,2024-04-27 21:45:43,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:entity:flow_cyto:detailed_description,0.8750000000000002/1,5,d6f041c669d4a7ba8e7fa5bd9e4c17be,2024-04-27 21:51:15,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:entity:flow_cyto:few_shot,0.8750000000000002/1,5,097dc8529d5cb379ce82f684e3b85179,2024-04-27 21:52:37,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:entity:flow_cyto:simple,0.3783783783783784/1,5,bca6e775c0b4e2ac1798b63fa5db4545,2024-04-27 21:49:40,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:entity:western:detailed_description,0.23529411764705882/1,5,94cc36fd5c1fd5fdd4e45acf476cf0be,2024-04-27 21:55:55,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:entity:western:few_shot,0.5714285714285715/1,5,d154460cc07c59eb9b1423b6407198e0,2024-04-27 21:57:05,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:entity:western:simple,0.18181818181818182/1,5,bce6a216c1bd78a81a63c248a19278ea,2024-04-27 21:54:30,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:experiment_yes_or_no:3d_sim:detailed_description,1.0/1,5,1d744fabe592d204c1eab87afe512314,2024-04-27 21:50:54,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:experiment_yes_or_no:3d_sim:few_shot,0.6666666666666666/1,5,6e248cc73bf80679d0cd45e596cb27d5,2024-04-27 21:51:02,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:experiment_yes_or_no:3d_sim:simple,1.0/1,5,eacafab8b855033064d1387e4ca1cb79,2024-04-27 21:50:48,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:experiment_yes_or_no:flow_cyto:detailed_description,1.0/1,5,7b7fb48b52926d919e8af8326198172c,2024-04-27 21:51:19,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:experiment_yes_or_no:flow_cyto:few_shot,1.0/1,5,79c95add6a39befe5816a7952bf0669d,2024-04-27 21:51:26,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:experiment_yes_or_no:flow_cyto:simple,1.0/1,5,2c92dd3d53d4b30346bc0f97427aad85,2024-04-27 21:51:07,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:experiment_yes_or_no:western:detailed_description,1.0/1,5,e0d41aab80dad2d71e352737e4898871,2024-04-27 21:51:37,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:experiment_yes_or_no:western:few_shot,0.6666666666666666/1,5,7ceb05cb6ec1ac1db3357a331c22d94a,2024-04-27 21:51:45,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:experiment_yes_or_no:western:simple,1.0/1,5,a5bf1b37d8b29147eadf9891d59a222b,2024-04-27 21:51:30,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:hypothesis:3d_sim:detailed_description,0.2918681318681319/1,5,fc722f4d362e74c09108f618144e4a32,2024-04-27 21:53:23,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:hypothesis:3d_sim:few_shot,0.125/1,5,03da3233366dd58732c08a4c8f1d7b4c,2024-04-27 21:53:38,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:hypothesis:3d_sim:simple,0.19999999999999998/1,5,40713876d72c6ddee36e1ab96e90a500,2024-04-27 21:53:11,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:hypothesis:flow_cyto:detailed_description,0.33333333333333337/1,5,536e5fb3b24cb2dc892244add7e6d1f3,2024-04-27 21:54:03,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:hypothesis:flow_cyto:few_shot,0.6206896551724137/1,5,844daa2c5c3eb8603ed16c92aaecf33a,2024-04-27 21:54:21,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:hypothesis:flow_cyto:simple,0.4545454545454545/1,5,27b323a3add2912be64b7795b4267d50,2024-04-27 21:53:51,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:hypothesis:western:detailed_description,0.0/1,5,5b7427db4e78bfcca22b6fb03bfc6190,2024-04-27 21:54:49,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:hypothesis:western:few_shot,0.5483870967741935/1,5,10e52971af3495d49f4a8357f45d2bc5,2024-04-27 21:55:05,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:hypothesis:western:simple,0.0/1,5,240c6df8dbb15b9da03098343f5c9dd7,2024-04-27 21:54:38,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:intervention:3d_sim:detailed_description,0.16/1,5,b7eabbd940e2c3feed69c67d04309bec,2024-04-27 21:45:57,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:intervention:3d_sim:few_shot,0.8/1,5,9cfb1e37a404221a571986de92753f78,2024-04-27 21:46:06,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:intervention:3d_sim:simple,0.2857142857142857/1,5,d0e09da1cd840d2815d7c5264ac0c8be,2024-04-27 21:58:26,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:intervention:flow_cyto:detailed_description,0.7272727272727272/1,5,4023510fb805f530e35ffe4b51bab54e,2024-04-27 21:46:24,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:intervention:flow_cyto:few_shot,0.8000000000000002/1,5,df709f3e6e5ecf2ae1368a883b3a3e37,2024-04-27 21:46:33,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:intervention:flow_cyto:simple,0.4444444444444445/1,5,541414d197c2e444be985927441bfb8c,2024-04-27 21:46:15,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:intervention:western:detailed_description,0.1/1,5,3f5d4075f2f82f6b286f01cb86729fd5,2024-04-27 21:46:47,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:intervention:western:few_shot,0.6666666666666666/1,5,f7794ea9543333123d5adaacbd712e8e,2024-04-27 21:46:55,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:intervention:western:simple,1.0/1,5,f838ea86a7bbad85bfe4338736df379f,2024-04-27 21:46:38,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:ncbi_link:3d_sim:detailed_description,0.0/1,5,23cbdc7b8423e3ab8ecbf1cb17e09df8,2024-04-27 21:51:58,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:ncbi_link:3d_sim:few_shot,0.0/1,5,050000d8bf19181448b51d6af4a946dd,2024-04-27 21:52:16,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:ncbi_link:3d_sim:simple,0.4444444444444445/1,5,9f779dc4b3285d4e1d226716119c0c6a,2024-04-27 21:51:52,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:ncbi_link:flow_cyto:detailed_description,0.0/1,5,fe4ec0ec24b9f009708ce91384f47e10,2024-04-27 21:52:28,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:ncbi_link:flow_cyto:few_shot,0.0/1,5,f8d19212e1840aea9f5ecc529eb16868,2024-04-27 21:52:41,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:ncbi_link:flow_cyto:simple,0.0/1,5,942ef767828c7c818472f794db3a47a9,2024-04-27 21:52:22,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:ncbi_link:western:detailed_description,1.0/1,5,fd441933eae7132ce27e11f8697ebc37,2024-04-27 21:52:52,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:ncbi_link:western:few_shot,0.6666666666666666/1,5,a0e0591f59cece390f8aa1d006e54471,2024-04-27 21:52:59,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:ncbi_link:western:simple,1.0/1,5,664e549810789c34f88186e416589b85,2024-04-27 21:52:46,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:significance:3d_sim:detailed_description,0.4/1,5,e9aab0d4189843cd730f453683c28eb9,2024-04-27 21:57:24,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:significance:3d_sim:few_shot,0.6666666666666666/1,5,f4f9d2f579b21b7ef8c4d4328cd896e6,2024-04-27 21:57:33,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:significance:3d_sim:simple,0.4/1,5,71ab07cff8c971057533c0b181f74dd8,2024-04-27 21:57:16,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:significance:flow_cyto:detailed_description,0.4/1,5,e5286b80bbd1b881388ce35a8d6d5c82,2024-04-27 21:57:47,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:significance:flow_cyto:few_shot,0.8/1,5,0a5e9d13eb0b00ccb3aaaa5ea3390fa0,2024-04-27 21:57:55,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:significance:flow_cyto:simple,0.4/1,5,b9ecd3ec1d3a649d57319cf116889f3f,2024-04-27 21:57:39,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:significance:western:detailed_description,0.11241830065359477/1,5,e6d8d4ecd40c064bbeef756879cb5cc7,2024-04-27 21:58:10,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:significance:western:few_shot,0.6666666666666666/1,5,a135cc5a10082419f9c781f6a53957c5,2024-04-27 21:58:17,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:significance:western:simple,0.08421052631578947/1,5,e4a33d11c713fc1f38af980251f62417,2024-04-27 21:58:02,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:stats:3d_sim:detailed_description,0.6666666666666666/1,5,1c704fb5e3888139ba9ba20f5d3351bf,2024-04-27 21:56:18,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:stats:3d_sim:few_shot,0.923076923076923/1,5,dae44fa5421321c162b5075eb5a9da8f,2024-04-27 21:56:27,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:stats:3d_sim:simple,1.0/1,5,d85f3ec813d7886ee4abc44daa36b05f,2024-04-27 21:56:12,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:stats:flow_cyto:detailed_description,1.0/1,5,a649e6931cebb9ff4ea994cc7992b616,2024-04-27 21:56:39,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:stats:flow_cyto:few_shot,1.0/1,5,802c2f7e019b3840853135916119fb96,2024-04-27 21:56:47,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:stats:flow_cyto:simple,1.0/1,5,a29e1ed8f52383c8dfe7eb1dedb5ae72,2024-04-27 21:56:32,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:stats:western:detailed_description,1.0/1,5,3a24f2260884e4bec422badb0dfc0083,2024-04-27 21:56:57,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:stats:western:few_shot,0.6666666666666666/1,5,6a4cffd582817749f01ac0ab3794b7fc,2024-04-27 21:57:10,0.4.10 -openhermes-2.5:7:ggufv2:Q4_K_M,source_data_extraction:stats:western:simple,1.0/1,5,43fcb671748967174b9538f34e1713bd,2024-04-27 21:56:51,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:assay:3d_sim:detailed_description,0.4444444444444445/1,5,2d90f71a0be167d91373b204450a6ce9,2024-05-11 06:54:33,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:assay:3d_sim:few_shot,0.26666666666666666/1,5,aea61a44be8320ff606426d4c31632d6,2024-05-11 06:54:44,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:assay:3d_sim:simple,0.3636363636363636/1,5,cede34f99895d6a490943f2e1adbbd5e,2024-05-11 06:54:26,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:assay:flow_cyto:detailed_description,1.0/1,5,707d571fd9f1a870e5a7738327f0225d,2024-05-11 06:55:10,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:assay:flow_cyto:few_shot,0.5/1,5,acdd255f6f34f97b89876fb69ab88174,2024-05-11 06:55:19,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:assay:flow_cyto:simple,0.4/1,5,8a38d332804007b0fb05ffb12d52a6f2,2024-05-11 06:55:03,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:assay:western:detailed_description,1.0/1,5,87cc7f996b3190b5ac38cc51d88ceca8,2024-05-11 06:55:31,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:assay:western:few_shot,0.8/1,5,fa1ac6b5b73595e706df485133cc4c9c,2024-05-11 06:55:40,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:assay:western:simple,1.0/1,5,8a18362ae8899ae5f213bcb1dd78dd9a,2024-05-11 06:55:24,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:chemical:3d_sim:detailed_description,0.0/1,5,43dea08d36f83283646548bfc9687992,2024-05-11 07:04:10,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:chemical:3d_sim:few_shot,0.4/1,5,a6d1ad8915b12dd9936f5157ef21e6a0,2024-05-11 07:04:19,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:chemical:3d_sim:simple,0.0/1,5,fea444c8581b577e13dfe1590a61f09d,2024-05-11 07:04:03,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:chemical:flow_cyto:detailed_description,1.0/1,5,3f4e12f0ac87b96808c1c1f4609517d0,2024-05-11 07:04:31,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:chemical:flow_cyto:few_shot,1.0/1,5,0b18798183e3a0a620c5a3ad5bf662b6,2024-05-11 07:04:41,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:chemical:flow_cyto:simple,0.0/1,5,2676d0faaa1c04bd3847d412b2bd149c,2024-05-11 07:04:23,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:chemical:western:detailed_description,1.0/1,5,14fccd0a2e5aac2d164ec03fd9e87bd5,2024-05-11 07:04:51,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:chemical:western:few_shot,0.6666666666666666/1,5,25827c3cb4f88fc7ee1124cd35e3caec,2024-05-11 07:04:59,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:chemical:western:simple,1.0/1,5,39a69493b8e1da4a0001d160ea896cfc,2024-05-11 07:04:45,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:context:3d_sim:detailed_description,0.6060606060606061/1,5,6f419d1a22a9cd9a998c873a3a8ecac6,2024-05-11 06:52:34,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:context:3d_sim:few_shot,0.888888888888889/1,5,c24579d7397faf97492bf9d8a7921ff7,2024-05-11 06:52:53,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:context:3d_sim:simple,0.41666666666666663/1,5,ffc5f709d1b0f6299341c03e40226470,2024-05-11 06:52:22,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:context:flow_cyto:detailed_description,0.7407407407407408/1,5,92b96624c51c40121daa9543d0a17ce2,2024-05-11 06:53:12,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:context:flow_cyto:few_shot,0.8461538461538461/1,5,17d4b5a1869776ab9fa680a98a123473,2024-05-11 06:53:24,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:context:flow_cyto:simple,0.5714285714285715/1,5,e66c2345e611fb4baebbe5cf1329c70b,2024-05-11 06:53:02,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:context:western:detailed_description,0.7301587301587302/1,5,ff81dbedef92f0e095cfce9c9d0c5fe9,2024-05-11 06:54:01,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:context:western:few_shot,0.9056603773584906/1,5,b23bc1bc137258537770cbe8b0b5aaed,2024-05-11 06:54:20,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:context:western:simple,0.7419354838709676/1,5,30ad5e4d88eedac4a070d24499f18837,2024-05-11 06:53:41,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:disease:3d_sim:detailed_description,1.0/1,5,e78190b57f052932c1205156cec243e1,2024-05-11 07:00:35,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:disease:3d_sim:few_shot,0.6666666666666666/1,5,c50d416f2fb72d8adb3ab98e9c97a578,2024-05-11 07:00:43,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:disease:3d_sim:simple,1.0/1,5,bed6cda002a003408020b17fd0a5f409,2024-05-11 07:00:29,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:disease:flow_cyto:detailed_description,1.0/1,5,93b526e53ab189cbb393d10cf809964f,2024-05-11 07:00:54,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:disease:flow_cyto:few_shot,0.6666666666666666/1,5,58f5aa51aab57287abf5c956b004c456,2024-05-11 07:01:02,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:disease:flow_cyto:simple,1.0/1,5,ef5f71d1dba61ab8a78c568ce73373f7,2024-05-11 07:00:47,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:disease:western:detailed_description,0.4/1,5,156b9d3aa46795fa88322388c144359b,2024-05-11 07:01:22,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:disease:western:few_shot,0.3333333333333333/1,5,1001723e6d962d0b21eb7927ad30f034,2024-05-11 07:01:30,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:disease:western:simple,0.4/1,5,c9f3767d92247fe429a4b3d0c41d2a6c,2024-05-11 07:01:07,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:entity:3d_sim:detailed_description,0.6666666666666666/1,5,46200f75f003f555f862c45062aea429,2024-05-11 06:51:12,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:entity:3d_sim:few_shot,0.30769230769230765/1,5,6bab3e1224dc6ee41fa6e4ad6dd8677f,2024-05-11 06:52:44,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:entity:3d_sim:simple,0.19047619047619047/1,5,85529afad023d7ed58e1c87acad9a060,2024-05-11 06:51:05,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:entity:flow_cyto:detailed_description,0.8750000000000002/1,5,d6f041c669d4a7ba8e7fa5bd9e4c17be,2024-05-11 06:56:11,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:entity:flow_cyto:few_shot,0.75/1,5,097dc8529d5cb379ce82f684e3b85179,2024-05-11 06:57:31,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:entity:flow_cyto:simple,0.368421052631579/1,5,bca6e775c0b4e2ac1798b63fa5db4545,2024-05-11 06:54:57,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:entity:western:detailed_description,0.1904761904761905/1,5,94cc36fd5c1fd5fdd4e45acf476cf0be,2024-05-11 07:01:17,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:entity:western:few_shot,0.5714285714285715/1,5,d154460cc07c59eb9b1423b6407198e0,2024-05-11 07:02:33,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:entity:western:simple,0.1/1,5,bce6a216c1bd78a81a63c248a19278ea,2024-05-11 06:59:41,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:experiment_yes_or_no:3d_sim:detailed_description,1.0/1,5,1d744fabe592d204c1eab87afe512314,2024-05-11 06:55:51,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:experiment_yes_or_no:3d_sim:few_shot,1.0/1,5,6e248cc73bf80679d0cd45e596cb27d5,2024-05-11 06:55:58,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:experiment_yes_or_no:3d_sim:simple,1.0/1,5,eacafab8b855033064d1387e4ca1cb79,2024-05-11 06:55:44,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:experiment_yes_or_no:flow_cyto:detailed_description,1.0/1,5,7b7fb48b52926d919e8af8326198172c,2024-05-11 06:56:16,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:experiment_yes_or_no:flow_cyto:few_shot,0.6666666666666666/1,5,79c95add6a39befe5816a7952bf0669d,2024-05-11 06:56:24,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:experiment_yes_or_no:flow_cyto:simple,1.0/1,5,2c92dd3d53d4b30346bc0f97427aad85,2024-05-11 06:56:03,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:experiment_yes_or_no:western:detailed_description,1.0/1,5,e0d41aab80dad2d71e352737e4898871,2024-05-11 06:56:35,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:experiment_yes_or_no:western:few_shot,0.6666666666666666/1,5,7ceb05cb6ec1ac1db3357a331c22d94a,2024-05-11 06:56:43,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:experiment_yes_or_no:western:simple,1.0/1,5,a5bf1b37d8b29147eadf9891d59a222b,2024-05-11 06:56:28,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:hypothesis:3d_sim:detailed_description,0.2285714285714286/1,5,fc722f4d362e74c09108f618144e4a32,2024-05-11 06:58:32,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:hypothesis:3d_sim:few_shot,0.19047619047619047/1,5,03da3233366dd58732c08a4c8f1d7b4c,2024-05-11 06:58:45,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:hypothesis:3d_sim:simple,0.13114754098360656/1,5,40713876d72c6ddee36e1ab96e90a500,2024-05-11 06:58:16,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:hypothesis:flow_cyto:detailed_description,0.2608695652173913/1,5,536e5fb3b24cb2dc892244add7e6d1f3,2024-05-11 06:59:10,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:hypothesis:flow_cyto:few_shot,0.2285714285714286/1,5,844daa2c5c3eb8603ed16c92aaecf33a,2024-05-11 06:59:21,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:hypothesis:flow_cyto:simple,0.29787234042553196/1,5,27b323a3add2912be64b7795b4267d50,2024-05-11 06:58:55,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:hypothesis:western:detailed_description,0.05063291139240507/1,5,5b7427db4e78bfcca22b6fb03bfc6190,2024-05-11 07:00:11,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:hypothesis:western:few_shot,0.07017543859649122/1,5,10e52971af3495d49f4a8357f45d2bc5,2024-05-11 07:00:24,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:hypothesis:western:simple,0.06349206349206349/1,5,240c6df8dbb15b9da03098343f5c9dd7,2024-05-11 06:59:53,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:intervention:3d_sim:detailed_description,0.0/1,5,b7eabbd940e2c3feed69c67d04309bec,2024-05-11 06:51:18,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:intervention:3d_sim:few_shot,0.8/1,5,9cfb1e37a404221a571986de92753f78,2024-05-11 06:51:27,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:intervention:3d_sim:simple,0.2857142857142857/1,5,d0e09da1cd840d2815d7c5264ac0c8be,2024-05-11 07:03:58,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:intervention:flow_cyto:detailed_description,0.3478260869565218/1,5,4023510fb805f530e35ffe4b51bab54e,2024-05-11 06:51:43,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:intervention:flow_cyto:few_shot,0.8000000000000002/1,5,df709f3e6e5ecf2ae1368a883b3a3e37,2024-05-11 06:51:53,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:intervention:flow_cyto:simple,0.0/1,5,541414d197c2e444be985927441bfb8c,2024-05-11 06:51:32,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:intervention:western:detailed_description,0.1/1,5,3f5d4075f2f82f6b286f01cb86729fd5,2024-05-11 06:52:06,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:intervention:western:few_shot,0.6666666666666666/1,5,f7794ea9543333123d5adaacbd712e8e,2024-05-11 06:52:13,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:intervention:western:simple,1.0/1,5,f838ea86a7bbad85bfe4338736df379f,2024-05-11 06:51:57,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:ncbi_link:3d_sim:detailed_description,0.0/1,5,23cbdc7b8423e3ab8ecbf1cb17e09df8,2024-05-11 06:56:57,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:ncbi_link:3d_sim:few_shot,0.30769230769230765/1,5,050000d8bf19181448b51d6af4a946dd,2024-05-11 06:57:10,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:ncbi_link:3d_sim:simple,0.5/1,5,9f779dc4b3285d4e1d226716119c0c6a,2024-05-11 06:56:51,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:ncbi_link:flow_cyto:detailed_description,0.0/1,5,fe4ec0ec24b9f009708ce91384f47e10,2024-05-11 06:57:22,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:ncbi_link:flow_cyto:few_shot,0.0/1,5,f8d19212e1840aea9f5ecc529eb16868,2024-05-11 06:57:36,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:ncbi_link:flow_cyto:simple,0.0/1,5,942ef767828c7c818472f794db3a47a9,2024-05-11 06:57:15,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:ncbi_link:western:detailed_description,1.0/1,5,fd441933eae7132ce27e11f8697ebc37,2024-05-11 06:57:47,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:ncbi_link:western:few_shot,0.6666666666666666/1,5,a0e0591f59cece390f8aa1d006e54471,2024-05-11 06:57:55,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:ncbi_link:western:simple,1.0/1,5,664e549810789c34f88186e416589b85,2024-05-11 06:57:41,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:significance:3d_sim:detailed_description,0.4/1,5,e9aab0d4189843cd730f453683c28eb9,2024-05-11 07:02:52,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:significance:3d_sim:few_shot,0.6666666666666666/1,5,f4f9d2f579b21b7ef8c4d4328cd896e6,2024-05-11 07:03:02,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:significance:3d_sim:simple,0.4/1,5,71ab07cff8c971057533c0b181f74dd8,2024-05-11 07:02:44,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:significance:flow_cyto:detailed_description,0.4/1,5,e5286b80bbd1b881388ce35a8d6d5c82,2024-05-11 07:03:16,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:significance:flow_cyto:few_shot,0.6666666666666666/1,5,0a5e9d13eb0b00ccb3aaaa5ea3390fa0,2024-05-11 07:03:25,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:significance:flow_cyto:simple,0.4/1,5,b9ecd3ec1d3a649d57319cf116889f3f,2024-05-11 07:03:08,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:significance:western:detailed_description,0.0909090909090909/1,5,e6d8d4ecd40c064bbeef756879cb5cc7,2024-05-11 07:03:42,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:significance:western:few_shot,0.6666666666666666/1,5,a135cc5a10082419f9c781f6a53957c5,2024-05-11 07:03:49,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:significance:western:simple,0.08695652173913045/1,5,e4a33d11c713fc1f38af980251f62417,2024-05-11 07:03:33,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:stats:3d_sim:detailed_description,1.0/1,5,1c704fb5e3888139ba9ba20f5d3351bf,2024-05-11 07:01:43,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:stats:3d_sim:few_shot,0.923076923076923/1,5,dae44fa5421321c162b5075eb5a9da8f,2024-05-11 07:01:52,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:stats:3d_sim:simple,1.0/1,5,d85f3ec813d7886ee4abc44daa36b05f,2024-05-11 07:01:35,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:stats:flow_cyto:detailed_description,1.0/1,5,a649e6931cebb9ff4ea994cc7992b616,2024-05-11 07:02:05,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:stats:flow_cyto:few_shot,0.9384615384615383/1,5,802c2f7e019b3840853135916119fb96,2024-05-11 07:02:13,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:stats:flow_cyto:simple,1.0/1,5,a29e1ed8f52383c8dfe7eb1dedb5ae72,2024-05-11 07:01:58,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:stats:western:detailed_description,1.0/1,5,3a24f2260884e4bec422badb0dfc0083,2024-05-11 07:02:24,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:stats:western:few_shot,0.6666666666666666/1,5,6a4cffd582817749f01ac0ab3794b7fc,2024-05-11 07:02:38,0.4.10 -openhermes-2.5:7:ggufv2:Q5_K_M,source_data_extraction:stats:western:simple,1.0/1,5,43fcb671748967174b9538f34e1713bd,2024-05-11 07:02:18,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:assay:3d_sim:detailed_description,0.4444444444444445/1,5,2d90f71a0be167d91373b204450a6ce9,2024-05-11 07:08:52,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:assay:3d_sim:few_shot,0.5454545454545454/1,5,aea61a44be8320ff606426d4c31632d6,2024-05-11 07:09:02,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:assay:3d_sim:simple,0.3636363636363636/1,5,cede34f99895d6a490943f2e1adbbd5e,2024-05-11 07:08:45,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:assay:flow_cyto:detailed_description,0.8/1,5,707d571fd9f1a870e5a7738327f0225d,2024-05-11 07:09:23,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:assay:flow_cyto:few_shot,0.5/1,5,acdd255f6f34f97b89876fb69ab88174,2024-05-11 07:09:32,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:assay:flow_cyto:simple,1.0/1,5,8a38d332804007b0fb05ffb12d52a6f2,2024-05-11 07:09:16,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:assay:western:detailed_description,1.0/1,5,87cc7f996b3190b5ac38cc51d88ceca8,2024-05-11 07:09:44,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:assay:western:few_shot,0.8/1,5,fa1ac6b5b73595e706df485133cc4c9c,2024-05-11 07:09:52,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:assay:western:simple,1.0/1,5,8a18362ae8899ae5f213bcb1dd78dd9a,2024-05-11 07:09:38,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:chemical:3d_sim:detailed_description,0.0/1,5,43dea08d36f83283646548bfc9687992,2024-05-11 07:18:19,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:chemical:3d_sim:few_shot,0.5/1,5,a6d1ad8915b12dd9936f5157ef21e6a0,2024-05-11 07:18:27,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:chemical:3d_sim:simple,0.0/1,5,fea444c8581b577e13dfe1590a61f09d,2024-05-11 07:18:13,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:chemical:flow_cyto:detailed_description,1.0/1,5,3f4e12f0ac87b96808c1c1f4609517d0,2024-05-11 07:18:42,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:chemical:flow_cyto:few_shot,1.0/1,5,0b18798183e3a0a620c5a3ad5bf662b6,2024-05-11 07:18:51,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:chemical:flow_cyto:simple,1.0/1,5,2676d0faaa1c04bd3847d412b2bd149c,2024-05-11 07:18:33,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:chemical:western:detailed_description,1.0/1,5,14fccd0a2e5aac2d164ec03fd9e87bd5,2024-05-11 07:19:01,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:chemical:western:few_shot,0.6666666666666666/1,5,25827c3cb4f88fc7ee1124cd35e3caec,2024-05-11 07:19:09,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:chemical:western:simple,1.0/1,5,39a69493b8e1da4a0001d160ea896cfc,2024-05-11 07:18:55,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:context:3d_sim:detailed_description,0.625/1,5,6f419d1a22a9cd9a998c873a3a8ecac6,2024-05-11 07:06:53,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:context:3d_sim:few_shot,0.8000000000000002/1,5,c24579d7397faf97492bf9d8a7921ff7,2024-05-11 07:07:14,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:context:3d_sim:simple,0.5142857142857142/1,5,ffc5f709d1b0f6299341c03e40226470,2024-05-11 07:06:42,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:context:flow_cyto:detailed_description,0.8461538461538461/1,5,92b96624c51c40121daa9543d0a17ce2,2024-05-11 07:07:32,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:context:flow_cyto:few_shot,0.8461538461538461/1,5,17d4b5a1869776ab9fa680a98a123473,2024-05-11 07:07:44,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:context:flow_cyto:simple,0.7692307692307692/1,5,e66c2345e611fb4baebbe5cf1329c70b,2024-05-11 07:07:22,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:context:western:detailed_description,0.7857142857142856/1,5,ff81dbedef92f0e095cfce9c9d0c5fe9,2024-05-11 07:08:20,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:context:western:few_shot,0.9056603773584906/1,5,b23bc1bc137258537770cbe8b0b5aaed,2024-05-11 07:08:39,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:context:western:simple,0.7076923076923076/1,5,30ad5e4d88eedac4a070d24499f18837,2024-05-11 07:08:02,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:disease:3d_sim:detailed_description,1.0/1,5,e78190b57f052932c1205156cec243e1,2024-05-11 07:14:47,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:disease:3d_sim:few_shot,0.6666666666666666/1,5,c50d416f2fb72d8adb3ab98e9c97a578,2024-05-11 07:14:55,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:disease:3d_sim:simple,1.0/1,5,bed6cda002a003408020b17fd0a5f409,2024-05-11 07:14:40,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:disease:flow_cyto:detailed_description,1.0/1,5,93b526e53ab189cbb393d10cf809964f,2024-05-11 07:15:05,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:disease:flow_cyto:few_shot,0.6666666666666666/1,5,58f5aa51aab57287abf5c956b004c456,2024-05-11 07:15:13,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:disease:flow_cyto:simple,1.0/1,5,ef5f71d1dba61ab8a78c568ce73373f7,2024-05-11 07:14:59,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:disease:western:detailed_description,0.4/1,5,156b9d3aa46795fa88322388c144359b,2024-05-11 07:15:33,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:disease:western:few_shot,0.3333333333333333/1,5,1001723e6d962d0b21eb7927ad30f034,2024-05-11 07:15:41,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:disease:western:simple,0.4/1,5,c9f3767d92247fe429a4b3d0c41d2a6c,2024-05-11 07:15:18,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:entity:3d_sim:detailed_description,0.6666666666666666/1,5,46200f75f003f555f862c45062aea429,2024-05-11 07:05:23,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:entity:3d_sim:few_shot,0.30769230769230765/1,5,6bab3e1224dc6ee41fa6e4ad6dd8677f,2024-05-11 07:07:03,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:entity:3d_sim:simple,0.19047619047619047/1,5,85529afad023d7ed58e1c87acad9a060,2024-05-11 07:05:16,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:entity:flow_cyto:detailed_description,0.6666666666666666/1,5,d6f041c669d4a7ba8e7fa5bd9e4c17be,2024-05-11 07:10:26,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:entity:flow_cyto:few_shot,0.823529411764706/1,5,097dc8529d5cb379ce82f684e3b85179,2024-05-11 07:11:43,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:entity:flow_cyto:simple,0.5384615384615384/1,5,bca6e775c0b4e2ac1798b63fa5db4545,2024-05-11 07:09:12,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:entity:western:detailed_description,0.1904761904761905/1,5,94cc36fd5c1fd5fdd4e45acf476cf0be,2024-05-11 07:15:29,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:entity:western:few_shot,0.5714285714285715/1,5,d154460cc07c59eb9b1423b6407198e0,2024-05-11 07:16:43,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:entity:western:simple,0.13793103448275862/1,5,bce6a216c1bd78a81a63c248a19278ea,2024-05-11 07:13:44,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:experiment_yes_or_no:3d_sim:detailed_description,1.0/1,5,1d744fabe592d204c1eab87afe512314,2024-05-11 07:10:04,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:experiment_yes_or_no:3d_sim:few_shot,1.0/1,5,6e248cc73bf80679d0cd45e596cb27d5,2024-05-11 07:10:11,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:experiment_yes_or_no:3d_sim:simple,1.0/1,5,eacafab8b855033064d1387e4ca1cb79,2024-05-11 07:09:57,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:experiment_yes_or_no:flow_cyto:detailed_description,1.0/1,5,7b7fb48b52926d919e8af8326198172c,2024-05-11 07:10:30,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:experiment_yes_or_no:flow_cyto:few_shot,0.6666666666666666/1,5,79c95add6a39befe5816a7952bf0669d,2024-05-11 07:10:37,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:experiment_yes_or_no:flow_cyto:simple,1.0/1,5,2c92dd3d53d4b30346bc0f97427aad85,2024-05-11 07:10:16,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:experiment_yes_or_no:western:detailed_description,1.0/1,5,e0d41aab80dad2d71e352737e4898871,2024-05-11 07:10:48,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:experiment_yes_or_no:western:few_shot,0.6666666666666666/1,5,7ceb05cb6ec1ac1db3357a331c22d94a,2024-05-11 07:10:56,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:experiment_yes_or_no:western:simple,1.0/1,5,a5bf1b37d8b29147eadf9891d59a222b,2024-05-11 07:10:42,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:hypothesis:3d_sim:detailed_description,0.2285714285714286/1,5,fc722f4d362e74c09108f618144e4a32,2024-05-11 07:12:31,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:hypothesis:3d_sim:few_shot,0.19047619047619047/1,5,03da3233366dd58732c08a4c8f1d7b4c,2024-05-11 07:12:43,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:hypothesis:3d_sim:simple,0.23529411764705882/1,5,40713876d72c6ddee36e1ab96e90a500,2024-05-11 07:12:15,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:hypothesis:flow_cyto:detailed_description,0.41509433962264153/1,5,536e5fb3b24cb2dc892244add7e6d1f3,2024-05-11 07:13:15,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:hypothesis:flow_cyto:few_shot,0.2631578947368421/1,5,844daa2c5c3eb8603ed16c92aaecf33a,2024-05-11 07:13:27,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:hypothesis:flow_cyto:simple,0.3333333333333333/1,5,27b323a3add2912be64b7795b4267d50,2024-05-11 07:12:58,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:hypothesis:western:detailed_description,0.05263157894736843/1,5,5b7427db4e78bfcca22b6fb03bfc6190,2024-05-11 07:14:16,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:hypothesis:western:few_shot,0.4999999999999999/1,5,10e52971af3495d49f4a8357f45d2bc5,2024-05-11 07:14:36,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:hypothesis:western:simple,0.07228915662650601/1,5,240c6df8dbb15b9da03098343f5c9dd7,2024-05-11 07:13:58,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:intervention:3d_sim:detailed_description,0.0/1,5,b7eabbd940e2c3feed69c67d04309bec,2024-05-11 07:05:30,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:intervention:3d_sim:few_shot,0.8/1,5,9cfb1e37a404221a571986de92753f78,2024-05-11 07:05:39,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:intervention:3d_sim:simple,0.2857142857142857/1,5,d0e09da1cd840d2815d7c5264ac0c8be,2024-05-11 07:18:08,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:intervention:flow_cyto:detailed_description,0.3478260869565218/1,5,4023510fb805f530e35ffe4b51bab54e,2024-05-11 07:05:58,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:intervention:flow_cyto:few_shot,0.8000000000000002/1,5,df709f3e6e5ecf2ae1368a883b3a3e37,2024-05-11 07:06:08,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:intervention:flow_cyto:simple,0.7142857142857143/1,5,541414d197c2e444be985927441bfb8c,2024-05-11 07:05:47,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:intervention:western:detailed_description,0.1/1,5,3f5d4075f2f82f6b286f01cb86729fd5,2024-05-11 07:06:21,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:intervention:western:few_shot,0.6666666666666666/1,5,f7794ea9543333123d5adaacbd712e8e,2024-05-11 07:06:29,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:intervention:western:simple,1.0/1,5,f838ea86a7bbad85bfe4338736df379f,2024-05-11 07:06:12,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:ncbi_link:3d_sim:detailed_description,0.0/1,5,23cbdc7b8423e3ab8ecbf1cb17e09df8,2024-05-11 07:11:10,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:ncbi_link:3d_sim:few_shot,0.36363636363636365/1,5,050000d8bf19181448b51d6af4a946dd,2024-05-11 07:11:21,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:ncbi_link:3d_sim:simple,0.5/1,5,9f779dc4b3285d4e1d226716119c0c6a,2024-05-11 07:11:03,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:ncbi_link:flow_cyto:detailed_description,0.0/1,5,fe4ec0ec24b9f009708ce91384f47e10,2024-05-11 07:11:33,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:ncbi_link:flow_cyto:few_shot,0.0/1,5,f8d19212e1840aea9f5ecc529eb16868,2024-05-11 07:11:48,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:ncbi_link:flow_cyto:simple,0.0/1,5,942ef767828c7c818472f794db3a47a9,2024-05-11 07:11:27,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:ncbi_link:western:detailed_description,1.0/1,5,fd441933eae7132ce27e11f8697ebc37,2024-05-11 07:11:59,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:ncbi_link:western:few_shot,0.6666666666666666/1,5,a0e0591f59cece390f8aa1d006e54471,2024-05-11 07:12:06,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:ncbi_link:western:simple,1.0/1,5,664e549810789c34f88186e416589b85,2024-05-11 07:11:52,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:significance:3d_sim:detailed_description,0.4/1,5,e9aab0d4189843cd730f453683c28eb9,2024-05-11 07:17:03,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:significance:3d_sim:few_shot,0.6666666666666666/1,5,f4f9d2f579b21b7ef8c4d4328cd896e6,2024-05-11 07:17:12,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:significance:3d_sim:simple,0.4/1,5,71ab07cff8c971057533c0b181f74dd8,2024-05-11 07:16:55,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:significance:flow_cyto:detailed_description,0.4/1,5,e5286b80bbd1b881388ce35a8d6d5c82,2024-05-11 07:17:27,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:significance:flow_cyto:few_shot,0.6666666666666666/1,5,0a5e9d13eb0b00ccb3aaaa5ea3390fa0,2024-05-11 07:17:35,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:significance:flow_cyto:simple,0.4/1,5,b9ecd3ec1d3a649d57319cf116889f3f,2024-05-11 07:17:19,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:significance:western:detailed_description,0.0909090909090909/1,5,e6d8d4ecd40c064bbeef756879cb5cc7,2024-05-11 07:17:52,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:significance:western:few_shot,0.6666666666666666/1,5,a135cc5a10082419f9c781f6a53957c5,2024-05-11 07:17:59,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:significance:western:simple,0.0909090909090909/1,5,e4a33d11c713fc1f38af980251f62417,2024-05-11 07:17:43,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:stats:3d_sim:detailed_description,1.0/1,5,1c704fb5e3888139ba9ba20f5d3351bf,2024-05-11 07:15:54,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:stats:3d_sim:few_shot,1.0/1,5,dae44fa5421321c162b5075eb5a9da8f,2024-05-11 07:16:03,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:stats:3d_sim:simple,1.0/1,5,d85f3ec813d7886ee4abc44daa36b05f,2024-05-11 07:15:46,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:stats:flow_cyto:detailed_description,1.0/1,5,a649e6931cebb9ff4ea994cc7992b616,2024-05-11 07:16:16,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:stats:flow_cyto:few_shot,1.0/1,5,802c2f7e019b3840853135916119fb96,2024-05-11 07:16:24,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:stats:flow_cyto:simple,1.0/1,5,a29e1ed8f52383c8dfe7eb1dedb5ae72,2024-05-11 07:16:08,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:stats:western:detailed_description,1.0/1,5,3a24f2260884e4bec422badb0dfc0083,2024-05-11 07:16:35,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:stats:western:few_shot,0.6666666666666666/1,5,6a4cffd582817749f01ac0ab3794b7fc,2024-05-11 07:16:48,0.4.10 -openhermes-2.5:7:ggufv2:Q6_K,source_data_extraction:stats:western:simple,1.0/1,5,43fcb671748967174b9538f34e1713bd,2024-05-11 07:16:28,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:assay:3d_sim:detailed_description,0.4444444444444445/1,5,2d90f71a0be167d91373b204450a6ce9,2024-05-11 07:23:10,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:assay:3d_sim:few_shot,0.3333333333333333/1,5,aea61a44be8320ff606426d4c31632d6,2024-05-11 07:23:19,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:assay:3d_sim:simple,0.3636363636363636/1,5,cede34f99895d6a490943f2e1adbbd5e,2024-05-11 07:23:03,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:assay:flow_cyto:detailed_description,0.8/1,5,707d571fd9f1a870e5a7738327f0225d,2024-05-11 07:23:43,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:assay:flow_cyto:few_shot,0.5/1,5,acdd255f6f34f97b89876fb69ab88174,2024-05-11 07:23:53,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:assay:flow_cyto:simple,1.0/1,5,8a38d332804007b0fb05ffb12d52a6f2,2024-05-11 07:23:36,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:assay:western:detailed_description,1.0/1,5,87cc7f996b3190b5ac38cc51d88ceca8,2024-05-11 07:24:04,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:assay:western:few_shot,0.8/1,5,fa1ac6b5b73595e706df485133cc4c9c,2024-05-11 07:24:11,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:assay:western:simple,1.0/1,5,8a18362ae8899ae5f213bcb1dd78dd9a,2024-05-11 07:23:58,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:chemical:3d_sim:detailed_description,0.0/1,5,43dea08d36f83283646548bfc9687992,2024-05-11 07:32:30,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:chemical:3d_sim:few_shot,0.5/1,5,a6d1ad8915b12dd9936f5157ef21e6a0,2024-05-11 07:32:38,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:chemical:3d_sim:simple,0.0/1,5,fea444c8581b577e13dfe1590a61f09d,2024-05-11 07:32:24,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:chemical:flow_cyto:detailed_description,1.0/1,5,3f4e12f0ac87b96808c1c1f4609517d0,2024-05-11 07:32:50,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:chemical:flow_cyto:few_shot,1.0/1,5,0b18798183e3a0a620c5a3ad5bf662b6,2024-05-11 07:32:59,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:chemical:flow_cyto:simple,0.0/1,5,2676d0faaa1c04bd3847d412b2bd149c,2024-05-11 07:32:42,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:chemical:western:detailed_description,1.0/1,5,14fccd0a2e5aac2d164ec03fd9e87bd5,2024-05-11 07:33:09,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:chemical:western:few_shot,0.6666666666666666/1,5,25827c3cb4f88fc7ee1124cd35e3caec,2024-05-11 07:33:16,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:chemical:western:simple,1.0/1,5,39a69493b8e1da4a0001d160ea896cfc,2024-05-11 07:33:03,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:context:3d_sim:detailed_description,0.625/1,5,6f419d1a22a9cd9a998c873a3a8ecac6,2024-05-11 07:21:04,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:context:3d_sim:few_shot,0.8000000000000002/1,5,c24579d7397faf97492bf9d8a7921ff7,2024-05-11 07:21:24,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:context:3d_sim:simple,0.41666666666666663/1,5,ffc5f709d1b0f6299341c03e40226470,2024-05-11 07:20:51,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:context:flow_cyto:detailed_description,0.8461538461538461/1,5,92b96624c51c40121daa9543d0a17ce2,2024-05-11 07:21:45,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:context:flow_cyto:few_shot,0.8461538461538461/1,5,17d4b5a1869776ab9fa680a98a123473,2024-05-11 07:21:56,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:context:flow_cyto:simple,0.7692307692307692/1,5,e66c2345e611fb4baebbe5cf1329c70b,2024-05-11 07:21:34,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:context:western:detailed_description,0.7333333333333334/1,5,ff81dbedef92f0e095cfce9c9d0c5fe9,2024-05-11 07:22:37,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:context:western:few_shot,0.9056603773584906/1,5,b23bc1bc137258537770cbe8b0b5aaed,2024-05-11 07:22:57,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:context:western:simple,0.7352941176470588/1,5,30ad5e4d88eedac4a070d24499f18837,2024-05-11 07:22:17,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:disease:3d_sim:detailed_description,1.0/1,5,e78190b57f052932c1205156cec243e1,2024-05-11 07:29:00,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:disease:3d_sim:few_shot,0.6666666666666666/1,5,c50d416f2fb72d8adb3ab98e9c97a578,2024-05-11 07:29:08,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:disease:3d_sim:simple,1.0/1,5,bed6cda002a003408020b17fd0a5f409,2024-05-11 07:28:55,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:disease:flow_cyto:detailed_description,1.0/1,5,93b526e53ab189cbb393d10cf809964f,2024-05-11 07:29:18,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:disease:flow_cyto:few_shot,0.6666666666666666/1,5,58f5aa51aab57287abf5c956b004c456,2024-05-11 07:29:25,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:disease:flow_cyto:simple,1.0/1,5,ef5f71d1dba61ab8a78c568ce73373f7,2024-05-11 07:29:12,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:disease:western:detailed_description,0.4/1,5,156b9d3aa46795fa88322388c144359b,2024-05-11 07:29:44,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:disease:western:few_shot,0.3333333333333333/1,5,1001723e6d962d0b21eb7927ad30f034,2024-05-11 07:29:52,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:disease:western:simple,0.4/1,5,c9f3767d92247fe429a4b3d0c41d2a6c,2024-05-11 07:29:29,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:entity:3d_sim:detailed_description,0.6666666666666666/1,5,46200f75f003f555f862c45062aea429,2024-05-11 07:19:32,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:entity:3d_sim:few_shot,0.30769230769230765/1,5,6bab3e1224dc6ee41fa6e4ad6dd8677f,2024-05-11 07:21:13,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:entity:3d_sim:simple,0.22222222222222224/1,5,85529afad023d7ed58e1c87acad9a060,2024-05-11 07:19:25,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:entity:flow_cyto:detailed_description,0.6666666666666666/1,5,d6f041c669d4a7ba8e7fa5bd9e4c17be,2024-05-11 07:24:44,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:entity:flow_cyto:few_shot,0.823529411764706/1,5,097dc8529d5cb379ce82f684e3b85179,2024-05-11 07:25:59,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:entity:flow_cyto:simple,0.39999999999999997/1,5,bca6e775c0b4e2ac1798b63fa5db4545,2024-05-11 07:23:31,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:entity:western:detailed_description,0.1904761904761905/1,5,94cc36fd5c1fd5fdd4e45acf476cf0be,2024-05-11 07:29:40,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:entity:western:few_shot,0.5714285714285715/1,5,d154460cc07c59eb9b1423b6407198e0,2024-05-11 07:30:53,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:entity:western:simple,0.2857142857142857/1,5,bce6a216c1bd78a81a63c248a19278ea,2024-05-11 07:28:00,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:experiment_yes_or_no:3d_sim:detailed_description,1.0/1,5,1d744fabe592d204c1eab87afe512314,2024-05-11 07:24:23,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:experiment_yes_or_no:3d_sim:few_shot,0.6666666666666666/1,5,6e248cc73bf80679d0cd45e596cb27d5,2024-05-11 07:24:30,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:experiment_yes_or_no:3d_sim:simple,1.0/1,5,eacafab8b855033064d1387e4ca1cb79,2024-05-11 07:24:16,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:experiment_yes_or_no:flow_cyto:detailed_description,1.0/1,5,7b7fb48b52926d919e8af8326198172c,2024-05-11 07:24:49,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:experiment_yes_or_no:flow_cyto:few_shot,0.6666666666666666/1,5,79c95add6a39befe5816a7952bf0669d,2024-05-11 07:24:56,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:experiment_yes_or_no:flow_cyto:simple,1.0/1,5,2c92dd3d53d4b30346bc0f97427aad85,2024-05-11 07:24:35,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:experiment_yes_or_no:western:detailed_description,1.0/1,5,e0d41aab80dad2d71e352737e4898871,2024-05-11 07:25:06,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:experiment_yes_or_no:western:few_shot,0.6666666666666666/1,5,7ceb05cb6ec1ac1db3357a331c22d94a,2024-05-11 07:25:13,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:experiment_yes_or_no:western:simple,1.0/1,5,a5bf1b37d8b29147eadf9891d59a222b,2024-05-11 07:25:00,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:hypothesis:3d_sim:detailed_description,0.2285714285714286/1,5,fc722f4d362e74c09108f618144e4a32,2024-05-11 07:26:52,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:hypothesis:3d_sim:few_shot,0.3333333333333333/1,5,03da3233366dd58732c08a4c8f1d7b4c,2024-05-11 07:27:04,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:hypothesis:3d_sim:simple,0.20512820512820512/1,5,40713876d72c6ddee36e1ab96e90a500,2024-05-11 07:26:37,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:hypothesis:flow_cyto:detailed_description,0.5757575757575758/1,5,536e5fb3b24cb2dc892244add7e6d1f3,2024-05-11 07:27:33,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:hypothesis:flow_cyto:few_shot,0.5245901639344261/1,5,844daa2c5c3eb8603ed16c92aaecf33a,2024-05-11 07:27:53,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:hypothesis:flow_cyto:simple,0.29787234042553196/1,5,27b323a3add2912be64b7795b4267d50,2024-05-11 07:27:14,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:hypothesis:western:detailed_description,0.04761904761904762/1,5,5b7427db4e78bfcca22b6fb03bfc6190,2024-05-11 07:28:40,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:hypothesis:western:few_shot,0.09090909090909091/1,5,10e52971af3495d49f4a8357f45d2bc5,2024-05-11 07:28:50,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:hypothesis:western:simple,0.06818181818181818/1,5,240c6df8dbb15b9da03098343f5c9dd7,2024-05-11 07:28:16,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:intervention:3d_sim:detailed_description,0.0/1,5,b7eabbd940e2c3feed69c67d04309bec,2024-05-11 07:19:39,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:intervention:3d_sim:few_shot,0.8/1,5,9cfb1e37a404221a571986de92753f78,2024-05-11 07:19:49,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:intervention:3d_sim:simple,0.2857142857142857/1,5,d0e09da1cd840d2815d7c5264ac0c8be,2024-05-11 07:32:20,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:intervention:flow_cyto:detailed_description,0.3478260869565218/1,5,4023510fb805f530e35ffe4b51bab54e,2024-05-11 07:20:11,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:intervention:flow_cyto:few_shot,0.8000000000000002/1,5,df709f3e6e5ecf2ae1368a883b3a3e37,2024-05-11 07:20:20,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:intervention:flow_cyto:simple,0.4444444444444445/1,5,541414d197c2e444be985927441bfb8c,2024-05-11 07:19:59,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:intervention:western:detailed_description,0.1/1,5,3f5d4075f2f82f6b286f01cb86729fd5,2024-05-11 07:20:35,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:intervention:western:few_shot,0.6666666666666666/1,5,f7794ea9543333123d5adaacbd712e8e,2024-05-11 07:20:42,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:intervention:western:simple,1.0/1,5,f838ea86a7bbad85bfe4338736df379f,2024-05-11 07:20:25,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:ncbi_link:3d_sim:detailed_description,0.0/1,5,23cbdc7b8423e3ab8ecbf1cb17e09df8,2024-05-11 07:25:27,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:ncbi_link:3d_sim:few_shot,0.36363636363636365/1,5,050000d8bf19181448b51d6af4a946dd,2024-05-11 07:25:38,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:ncbi_link:3d_sim:simple,0.5/1,5,9f779dc4b3285d4e1d226716119c0c6a,2024-05-11 07:25:21,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:ncbi_link:flow_cyto:detailed_description,0.0/1,5,fe4ec0ec24b9f009708ce91384f47e10,2024-05-11 07:25:50,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:ncbi_link:flow_cyto:few_shot,0.0/1,5,f8d19212e1840aea9f5ecc529eb16868,2024-05-11 07:26:04,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:ncbi_link:flow_cyto:simple,0.0/1,5,942ef767828c7c818472f794db3a47a9,2024-05-11 07:25:44,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:ncbi_link:western:detailed_description,1.0/1,5,fd441933eae7132ce27e11f8697ebc37,2024-05-11 07:26:14,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:ncbi_link:western:few_shot,0.6666666666666666/1,5,a0e0591f59cece390f8aa1d006e54471,2024-05-11 07:26:22,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:ncbi_link:western:simple,1.0/1,5,664e549810789c34f88186e416589b85,2024-05-11 07:26:09,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:significance:3d_sim:detailed_description,0.4/1,5,e9aab0d4189843cd730f453683c28eb9,2024-05-11 07:31:13,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:significance:3d_sim:few_shot,0.6666666666666666/1,5,f4f9d2f579b21b7ef8c4d4328cd896e6,2024-05-11 07:31:22,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:significance:3d_sim:simple,0.4/1,5,71ab07cff8c971057533c0b181f74dd8,2024-05-11 07:31:05,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:significance:flow_cyto:detailed_description,0.4/1,5,e5286b80bbd1b881388ce35a8d6d5c82,2024-05-11 07:31:37,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:significance:flow_cyto:few_shot,0.6666666666666666/1,5,0a5e9d13eb0b00ccb3aaaa5ea3390fa0,2024-05-11 07:31:46,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:significance:flow_cyto:simple,0.4/1,5,b9ecd3ec1d3a649d57319cf116889f3f,2024-05-11 07:31:29,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:significance:western:detailed_description,0.0909090909090909/1,5,e6d8d4ecd40c064bbeef756879cb5cc7,2024-05-11 07:32:03,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:significance:western:few_shot,0.6666666666666666/1,5,a135cc5a10082419f9c781f6a53957c5,2024-05-11 07:32:10,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:significance:western:simple,0.0909090909090909/1,5,e4a33d11c713fc1f38af980251f62417,2024-05-11 07:31:54,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:stats:3d_sim:detailed_description,1.0/1,5,1c704fb5e3888139ba9ba20f5d3351bf,2024-05-11 07:30:05,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:stats:3d_sim:few_shot,1.0/1,5,dae44fa5421321c162b5075eb5a9da8f,2024-05-11 07:30:13,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:stats:3d_sim:simple,1.0/1,5,d85f3ec813d7886ee4abc44daa36b05f,2024-05-11 07:29:58,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:stats:flow_cyto:detailed_description,1.0/1,5,a649e6931cebb9ff4ea994cc7992b616,2024-05-11 07:30:26,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:stats:flow_cyto:few_shot,1.0/1,5,802c2f7e019b3840853135916119fb96,2024-05-11 07:30:34,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:stats:flow_cyto:simple,1.0/1,5,a29e1ed8f52383c8dfe7eb1dedb5ae72,2024-05-11 07:30:19,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:stats:western:detailed_description,1.0/1,5,3a24f2260884e4bec422badb0dfc0083,2024-05-11 07:30:45,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:stats:western:few_shot,0.6666666666666666/1,5,6a4cffd582817749f01ac0ab3794b7fc,2024-05-11 07:30:58,0.4.10 -openhermes-2.5:7:ggufv2:Q8_0,source_data_extraction:stats:western:simple,1.0/1,5,43fcb671748967174b9538f34e1713bd,2024-05-11 07:30:39,0.4.10 +openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:entity:3d_sim:detailed_description,0.061855670103092786;0.061855670103092786/1,2,46200f75f003f555f862c45062aea429,2024-06-10 19:29:44,0.4.11 +openhermes-2.5:7:ggufv2:Q2_K,source_data_extraction:entity:3d_sim:simple,0.5;0.5/1,2,85529afad023d7ed58e1c87acad9a060,2024-06-10 19:29:19,0.4.11 diff --git a/benchmark/results/sourcedata_info_extraction_failure_modes.csv b/benchmark/results/sourcedata_info_extraction_failure_modes.csv new file mode 100644 index 00000000..897f37bd --- /dev/null +++ b/benchmark/results/sourcedata_info_extraction_failure_modes.csv @@ -0,0 +1 @@ +model_name,subtask,actual_answer,expected_answer,failure_modes,md5_hash,datetime diff --git a/benchmark/test_biocypher_query_generation.py b/benchmark/test_biocypher_query_generation.py index c7fb248c..9c5fa0d2 100644 --- a/benchmark/test_biocypher_query_generation.py +++ b/benchmark/test_biocypher_query_generation.py @@ -55,12 +55,12 @@ def run_test(): ) return calculate_bool_vector_score(score) - mean_score, max, n_iterations = multiple_testing(run_test) + scores, max, n_iterations = multiple_testing(run_test) write_results_to_file( model_name, yaml_data["case"], - f"{mean_score}/{max}", + f"{scores}/{max}", f"{n_iterations}", yaml_data["hash"], get_result_file_path(task), @@ -113,12 +113,12 @@ def run_test(): score.append(expected_entity in prompt_engine.selected_entities) return calculate_bool_vector_score(score) - mean_score, max, n_iterations = multiple_testing(run_test) + scores, max, n_iterations = multiple_testing(run_test) write_results_to_file( prompt_engine.model_name, yaml_data["case"], - f"{mean_score}/{max}", + f"{scores}/{max}", f"{n_iterations}", yaml_data["hash"], get_result_file_path(task), @@ -177,12 +177,12 @@ def run_test(): score.append(False) return calculate_bool_vector_score(score) - mean_score, max, n_iterations = multiple_testing(run_test) + scores, max, n_iterations = multiple_testing(run_test) write_results_to_file( prompt_engine.model_name, yaml_data["case"], - f"{mean_score}/{max}", + f"{scores}/{max}", f"{n_iterations}", yaml_data["hash"], get_result_file_path(task), @@ -251,12 +251,12 @@ def run_test(): return calculate_bool_vector_score(score) - mean_score, max, n_iterations = multiple_testing(run_test) + scores, max, n_iterations = multiple_testing(run_test) write_results_to_file( prompt_engine.model_name, yaml_data["case"], - f"{mean_score}/{max}", + f"{scores}/{max}", f"{n_iterations}", yaml_data["hash"], get_result_file_path(task), @@ -304,12 +304,12 @@ def run_test(): ) return calculate_bool_vector_score(score) - mean_score, max, n_iterations = multiple_testing(run_test) + scores, max, n_iterations = multiple_testing(run_test) write_results_to_file( prompt_engine.model_name, yaml_data["case"], - f"{mean_score}/{max}", + f"{scores}/{max}", f"{n_iterations}", yaml_data["hash"], get_result_file_path(task), @@ -358,12 +358,12 @@ def run_test(): return calculate_bool_vector_score(score) - mean_score, max, n_iterations = multiple_testing(run_test) + scores, max, n_iterations = multiple_testing(run_test) write_results_to_file( prompt_engine.model_name, yaml_data["case"], - f"{mean_score}/{max}", + f"{scores}/{max}", f"{n_iterations}", yaml_data["hash"], get_result_file_path(task), @@ -517,12 +517,12 @@ def run_test(): score += [False] * (len(yaml_data["expected"]["entities"]) - len(score)) return calculate_bool_vector_score(score) - mean_score, max, n_iterations = multiple_testing(run_test) + scores, max, n_iterations = multiple_testing(run_test) write_results_to_file( prompt_engine.model_name, yaml_data["case"], - f"{mean_score}/{max}", + f"{scores}/{max}", f"{n_iterations}", yaml_data["hash"], get_result_file_path(task), diff --git a/benchmark/test_correctness_medical_usecase.py b/benchmark/test_correctness_medical_usecase.py index e9f4546c..87a9bd84 100644 --- a/benchmark/test_correctness_medical_usecase.py +++ b/benchmark/test_correctness_medical_usecase.py @@ -88,12 +88,12 @@ def run_test(): return calculate_bool_vector_score(score) - mean_score, max, n_iterations = multiple_testing(run_test) + scores, max, n_iterations = multiple_testing(run_test) write_results_to_file( model_name, yaml_data["case"], - f"{mean_score}/{max}", + f"{scores}/{max}", f"{n_iterations}", yaml_data["hash"], get_result_file_path(task), diff --git a/benchmark/test_rag_interpretation.py b/benchmark/test_rag_interpretation.py index 9a0fa866..7f26488c 100644 --- a/benchmark/test_rag_interpretation.py +++ b/benchmark/test_rag_interpretation.py @@ -46,12 +46,12 @@ def run_test(): return calculate_bool_vector_score(score) - mean_score, max, n_iterations = multiple_testing(run_test) + scores, max, n_iterations = multiple_testing(run_test) write_results_to_file( model_name, yaml_data["case"], - f"{mean_score}/{max}", + f"{scores}/{max}", f"{n_iterations}", yaml_data["hash"], get_result_file_path(task), @@ -107,12 +107,12 @@ def run_test(): return calculate_bool_vector_score(score) - mean_score, max, n_iterations = multiple_testing(run_test) + scores, max, n_iterations = multiple_testing(run_test) write_results_to_file( model_name, yaml_data["case"], - f"{mean_score}/{max}", + f"{scores}/{max}", f"{n_iterations}", yaml_data["hash"], get_result_file_path(task), diff --git a/benchmark/test_text_extraction.py b/benchmark/test_text_extraction.py index 19cb1a72..17e81ad2 100644 --- a/benchmark/test_text_extraction.py +++ b/benchmark/test_text_extraction.py @@ -50,12 +50,12 @@ def run_test(): return (rouge_score, 1) - mean_score, max, n_iterations = multiple_testing(run_test) + scores, max, n_iterations = multiple_testing(run_test) write_results_to_file( model_name, yaml_data["case"], - f"{mean_score}/{max}", + f"{scores}/{max}", f"{n_iterations}", yaml_data["hash"], get_result_file_path(task), diff --git a/docs/images/boxplot-naive-vs-biochatter.pdf b/docs/images/boxplot-naive-vs-biochatter.pdf index 02bdf96432c70a3bcf8912b83369c74fbfffdc8c..33dcf59f89be9d790619cce0d51ff81097817836 100644 GIT binary patch delta 38 qcmZ2jxUg`;31enUJ%h=ojqSlSuZaYwnW2H9rHO@!`DQ(nVio}Wj|(jT delta 38 qcmZ2jxUg`;31empJ(J0&jqSlSuZaYwsiCQ%k*TqX>1I8XVio}W*b6EE diff --git a/docs/images/boxplot-naive-vs-biochatter.png b/docs/images/boxplot-naive-vs-biochatter.png index 0e09da569a19ea4adb5829e290260e594aed8e36..694d6399bedfb9b68028675d4b17cedcc64db62a 100644 GIT binary patch delta 45 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 literal 275008 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

9a;A`Fs^#qzOgD4CZ!YG#_8Mt0=(G`9q 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̥=tFU2@|y+KtE7>^oAg9(V@2UYyHnaz*nSV5 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 ISvhR{AJnoDI{*Lx diff --git a/docs/images/dotplot-per-task.pdf b/docs/images/dotplot-per-task.pdf index 17dde9bd5ef01d60b8fde0049d1d752bf7c07f6c..c57c780dd5a042180155c419c84a05fbf643bfa4 100644 GIT binary patch delta 17083 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 delta 16975 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%0ATere_lbOoq+Bvf!YDicwxH$GEN}L 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
(j(qYo9rs+AyI>2L1i7wf+I! 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