diff --git a/ideas_practice/code/fgm_pipeline.ipynb b/ideas_practice/code/fgm_pipeline.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..3e070b5d6a4fd75fc7163debeb566f6dcb306530
--- /dev/null
+++ b/ideas_practice/code/fgm_pipeline.ipynb
@@ -0,0 +1,3397 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/home/ikene/.local/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
+      "  from .autonotebook import tqdm as notebook_tqdm\n"
+     ]
+    }
+   ],
+   "source": [
+    "# all the imports in one\n",
+    "import csv\n",
+    "import scispacy\n",
+    "import spacy\n",
+    "import sqlite3\n",
+    "import json\n",
+    "import copy\n",
+    "import random\n",
+    "from openai import OpenAI\n",
+    "import os\n",
+    "import dotenv\n",
+    "from groq import Groq\n",
+    "from transformers import AutoTokenizer\n",
+    "import time\n",
+    "import datetime\n",
+    "import instructor\n",
+    "from pydantic import BaseModel\n",
+    "from typing import List, Literal"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Loaded 1357 YesNo questions.\n"
+     ]
+    }
+   ],
+   "source": [
+    "# load all yes no questions\n",
+    "import csv\n",
+    "question_list = []\n",
+    "cur_id = 1\n",
+    "#format bioasq_id, id, rui, s, p, o, nl_resolved, question, ground_truth, source\n",
+    "#assumes that triples for the same question are consecutive in the csv; if they are not use csv tool to sort by rows by column value\n",
+    "with open('../data/bioasq_yesno.csv', mode='r') as csv_file:\n",
+    "    csv_reader = csv.DictReader(csv_file)\n",
+    "    for row in csv_reader:\n",
+    "        \n",
+    "        if (str(row[\"id\"]) == str(cur_id)):\n",
+    "            cur_id += 1\n",
+    "            question_list.append({\"id\":row[\"id\"],\"question\":row[\"question\"],\"gt\":row[\"ground_truth\"]})\n",
+    "        else:\n",
+    "            continue\n",
+    "print(f\"Loaded {len(question_list)} YesNo questions.\")"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "There are 0 questions which do not include a single entity\n"
+     ]
+    }
+   ],
+   "source": [
+    "# extract the medical entities for each question\n",
+    "import scispacy\n",
+    "import spacy\n",
+    "nlp = spacy.load(\"en_core_sci_lg\")\n",
+    "for index, question in enumerate(question_list):\n",
+    "    anal = nlp(question[\"question\"])\n",
+    "    question_list[index][\"entities\"] = anal.ents\n",
+    "\n",
+    "# check for how many questions no entities were found\n",
+    "count = 0\n",
+    "for question in question_list:\n",
+    "    if question[\"entities\"] == [] and question[\"entities\"] is not None:\n",
+    "        count+=1\n",
+    "print(f\"There are {count} questions which do not include a single entity.\")"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 29,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Finished 0 questions.\n",
+      "Finished 10 questions.\n",
+      "Finished 20 questions.\n",
+      "Finished 30 questions.\n",
+      "Finished 40 questions.\n",
+      "Finished 50 questions.\n",
+      "Finished 60 questions.\n",
+      "Finished 70 questions.\n",
+      "Finished 80 questions.\n",
+      "Finished 90 questions.\n",
+      "Finished 100 questions.\n",
+      "Finished 110 questions.\n",
+      "Finished 120 questions.\n",
+      "Finished 130 questions.\n",
+      "Finished 140 questions.\n",
+      "Finished 150 questions.\n",
+      "Finished 160 questions.\n",
+      "Finished 170 questions.\n",
+      "Finished 180 questions.\n",
+      "Finished 190 questions.\n",
+      "Finished 200 questions.\n",
+      "Finished 210 questions.\n",
+      "Finished 220 questions.\n",
+      "Finished 230 questions.\n",
+      "Finished 240 questions.\n",
+      "Finished 250 questions.\n",
+      "Finished 260 questions.\n",
+      "Finished 270 questions.\n",
+      "Finished 280 questions.\n",
+      "Finished 290 questions.\n",
+      "Finished 300 questions.\n",
+      "Finished 310 questions.\n",
+      "Finished 320 questions.\n",
+      "Finished 330 questions.\n",
+      "Finished 340 questions.\n",
+      "Finished 350 questions.\n",
+      "Finished 360 questions.\n",
+      "Finished 370 questions.\n",
+      "Finished 380 questions.\n",
+      "Finished 390 questions.\n",
+      "Finished 400 questions.\n",
+      "Finished 410 questions.\n",
+      "Finished 420 questions.\n",
+      "Finished 430 questions.\n",
+      "Finished 440 questions.\n",
+      "Finished 450 questions.\n",
+      "Finished 460 questions.\n",
+      "Finished 470 questions.\n",
+      "Finished 480 questions.\n",
+      "Finished 490 questions.\n",
+      "Finished 500 questions.\n",
+      "Finished 510 questions.\n",
+      "Finished 520 questions.\n",
+      "Finished 530 questions.\n",
+      "Finished 540 questions.\n",
+      "Finished 550 questions.\n",
+      "Finished 560 questions.\n",
+      "Finished 570 questions.\n",
+      "Finished 580 questions.\n",
+      "Finished 590 questions.\n",
+      "Finished 600 questions.\n",
+      "Finished 610 questions.\n",
+      "Finished 620 questions.\n",
+      "Finished 630 questions.\n",
+      "Finished 640 questions.\n",
+      "Finished 650 questions.\n",
+      "Finished 660 questions.\n",
+      "Finished 670 questions.\n",
+      "Finished 680 questions.\n",
+      "Finished 690 questions.\n",
+      "Finished 700 questions.\n",
+      "Finished 710 questions.\n",
+      "Finished 720 questions.\n",
+      "Finished 730 questions.\n",
+      "Finished 740 questions.\n",
+      "Finished 750 questions.\n",
+      "Finished 760 questions.\n",
+      "Finished 770 questions.\n",
+      "Finished 780 questions.\n",
+      "Finished 790 questions.\n",
+      "Finished 800 questions.\n",
+      "Finished 810 questions.\n",
+      "Finished 820 questions.\n",
+      "Finished 830 questions.\n",
+      "Finished 840 questions.\n",
+      "Finished 850 questions.\n",
+      "Finished 860 questions.\n",
+      "Finished 870 questions.\n",
+      "Finished 880 questions.\n",
+      "Finished 890 questions.\n",
+      "Finished 900 questions.\n",
+      "Finished 910 questions.\n",
+      "Finished 920 questions.\n",
+      "Finished 930 questions.\n",
+      "Finished 940 questions.\n",
+      "Finished 950 questions.\n",
+      "Finished 960 questions.\n",
+      "Finished 970 questions.\n",
+      "Finished 980 questions.\n",
+      "Finished 990 questions.\n",
+      "Finished 1000 questions.\n",
+      "Finished 1010 questions.\n",
+      "Finished 1020 questions.\n",
+      "Finished 1030 questions.\n",
+      "Finished 1040 questions.\n",
+      "Finished 1050 questions.\n",
+      "Finished 1060 questions.\n",
+      "Finished 1070 questions.\n",
+      "Finished 1080 questions.\n",
+      "Finished 1090 questions.\n",
+      "Finished 1100 questions.\n",
+      "Finished 1110 questions.\n",
+      "Finished 1120 questions.\n",
+      "Finished 1130 questions.\n",
+      "Finished 1140 questions.\n",
+      "Finished 1150 questions.\n",
+      "Finished 1160 questions.\n",
+      "Finished 1170 questions.\n",
+      "Finished 1180 questions.\n",
+      "Finished 1190 questions.\n",
+      "Finished 1200 questions.\n",
+      "Finished 1210 questions.\n",
+      "Finished 1220 questions.\n",
+      "Finished 1230 questions.\n",
+      "Finished 1240 questions.\n",
+      "Finished 1250 questions.\n",
+      "Finished 1260 questions.\n",
+      "Finished 1270 questions.\n",
+      "Finished 1280 questions.\n",
+      "Finished 1290 questions.\n",
+      "Finished 1300 questions.\n",
+      "Finished 1310 questions.\n",
+      "Finished 1320 questions.\n",
+      "Finished 1330 questions.\n",
+      "Finished 1340 questions.\n",
+      "Finished 1350 questions.\n",
+      "From the total of 4450 entities suggested by Scispacy 971 entities could not be found in the umls.\n"
+     ]
+    }
+   ],
+   "source": [
+    "# find for each question and entity the corresponding CUI's \n",
+    "import sqlite3\n",
+    "con = sqlite3.connect(\"../data/umls.db\")\n",
+    "cur = con.cursor()\n",
+    "#b= \"cold\"\n",
+    "#cur.execute('select distinct cui from mrconso where str=? limit 5', (b,))\n",
+    "#rows = cur.fetchall()\n",
+    "#print(rows)\n",
+    "\n",
+    "entities_not_found = 0\n",
+    "total_number_entities = 0\n",
+    "for index,question in enumerate(question_list):\n",
+    "    question[\"cuis\"] = set()\n",
+    "    for entity in question[\"entities\"]:\n",
+    "        total_number_entities += 1\n",
+    "        cur.execute('select distinct CUI from MRCONSO where lower(STR)=lower(?)', (str(entity),))\n",
+    "        rows = cur.fetchall()\n",
+    "        if rows == []:\n",
+    "           entities_not_found += 1\n",
+    "           continue\n",
+    "        for row in rows:\n",
+    "           question[\"cuis\"].add(row[0]) # idk where the second element comes from\n",
+    "    if index % 10 == 0:\n",
+    "        print(f\"Finished {index} questions.\")\n",
+    "print(f\"From the total of {total_number_entities} entities suggested by Scispacy {entities_not_found} entities could not be found in the umls.\")"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 39,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(hirschhausen syndrome, cold syndrome, syndrome, pregnancy)"
+      ]
+     },
+     "execution_count": 39,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "nlp(\"hirschhausen syndrome is not a cold syndrome but a syndrome that helps pregnancy\").ents"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 41,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "There are 58 questions for which none of the entities could be found in the umls.\n"
+     ]
+    }
+   ],
+   "source": [
+    "# check if there exist questions without a found entity\n",
+    "zeros = 0\n",
+    "for question in question_list:\n",
+    "    if not question[\"cuis\"]:\n",
+    "        zeros+=1\n",
+    "print(f\"There are {zeros} questions for which none of the entities could be found in the umls.\")\n",
+    "\n",
+    "# save dict to json\n",
+    "import json\n",
+    "##need to remove/convert the span elements\n",
+    "tmp_list = []\n",
+    "for tmp in question_list:\n",
+    "    entities_tmp =[]\n",
+    "    for ent in tmp[\"entities\"]:\n",
+    "        entities_tmp.append(str(ent))\n",
+    "    tmp[\"entities\"] = entities_tmp\n",
+    "    tmp[\"cuis\"] = list(tmp[\"cuis\"])\n",
+    "    tmp_list.append(tmp)\n",
+    "\n",
+    "\n",
+    "with open('../data/ques_enti_cuis.json', 'w') as fout:\n",
+    "    json.dump(question_list, fout)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 42,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "{'id': '1', 'question': 'Does metformin interfere thyroxine absorption?', 'gt': 'no', 'entities': ['metformin', 'thyroxine', 'absorption'], 'cuis': ['C2347023', 'C2698776', 'C0025598', 'C2825050', 'C0040165', 'C0000854', 'C2347080', 'C1281902', 'C0202231']}\n"
+     ]
+    }
+   ],
+   "source": [
+    "print(question_list[0])"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 53,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1299\n",
+      "340\n"
+     ]
+    }
+   ],
+   "source": [
+    "# Take 100 yes and 100 no questions for which at least one entity could be found in the umls.db\n",
+    "# id 1 until including 354 are no questions and 355 until including 1357 are yes questions\n",
+    "import copy\n",
+    "filtered_questions = copy.deepcopy(question_list)\n",
+    "filtered_questions = list(filter(lambda x: x[\"cuis\"], filtered_questions))\n",
+    "print(len(filtered_questions))\n",
+    "\n",
+    "#find index where the switch from no to yes questions happen\n",
+    "import random\n",
+    "previous = \"no\"\n",
+    "for index, question in enumerate(filtered_questions):\n",
+    "    if previous != question[\"gt\"]:\n",
+    "        print(str(index))\n",
+    "        previous = question[\"gt\"]\n",
+    "    ## 340 is the index of the first yes --> index 0 to 339 are no questions and from 340 to 1298 are yes questions\n",
+    "random.seed(4633)\n",
+    "indexes = random.sample(range(0,340), 100)\n",
+    "indexes += random.sample(range(340,1299), 100)\n",
+    "#print(len(indexes))\n",
+    "# get the random selection of questions\n",
+    "final_questions = []\n",
+    "for i in indexes:\n",
+    "    final_questions.append(filtered_questions[i])"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 54,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "{'id': '35', 'question': 'Does smoking increase risk for glioblastoma?', 'gt': 'no', 'entities': ['smoking', 'increase', 'risk', 'glioblastoma'], 'cuis': ['C0017636', 'C0278878', 'C1621958', 'C4552904', 'C1548578', 'C0453996', 'C0442805', 'C0035647', 'C1881674', 'C0037369', 'C0280474']}\n"
+     ]
+    }
+   ],
+   "source": [
+    "print(final_questions[0])"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 60,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[('C0037366', '', 'CUI', 'RO', 'C1881674', '', 'CUI', '', 'R69887908', '', 'MTH', 'MTH', '', '', 'N', ''), ('C0439994', '', 'CUI', 'RO', 'C1881674', '', 'CUI', '', 'R69885882', '', 'MTH', 'MTH', '', '', 'N', ''), ('C1880652', 'A12806853', 'SCUI', 'RO', 'C1881674', 'A29171733', 'SCUI', 'concept_in_subset', 'R172275149', '', 'NCI', 'NCI', '', '', 'N', ''), ('C1881748', 'A29144469', 'SCUI', 'CHD', 'C1881674', 'A29171733', 'SCUI', 'isa', 'R69854834', '', 'NCI', 'NCI', '', '', 'N', ''), ('C5421239', 'A32391766', 'SCUI', 'RO', 'C1881674', 'A29171733', 'SCUI', 'concept_in_subset', 'R169576204', '', 'NCI', 'NCI', '', '', 'N', '')]\n"
+     ]
+    }
+   ],
+   "source": [
+    "cur.execute('select * from MRREL where cui2=?', (\"C1881674\",))\n",
+    "print(cur.fetchall())"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 76,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "###### here cutoff of data to save it and reload it\n",
+    "with open('../data/ques_enti_cuis_100each.json', 'w') as fout:\n",
+    "    json.dump(final_questions, fout)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "200\n"
+     ]
+    }
+   ],
+   "source": [
+    "final_questions =[]\n",
+    "with open('../data/ques_enti_cuis_100each.json', 'r') as fin:\n",
+    "    final_questions = json.load(fin)\n",
+    "print(len(final_questions))"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "dict_keys(['id', 'question', 'gt', 'entities', 'cuis'])\n"
+     ]
+    }
+   ],
+   "source": [
+    "print(final_questions[0].keys())"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Finished 0 questions:\n",
+      "Finished 10 questions:\n",
+      "Finished 20 questions:\n",
+      "Finished 30 questions:\n",
+      "Finished 40 questions:\n",
+      "Finished 50 questions:\n",
+      "Finished 60 questions:\n",
+      "Finished 70 questions:\n",
+      "Finished 80 questions:\n",
+      "Finished 90 questions:\n",
+      "Finished 100 questions:\n",
+      "Finished 110 questions:\n",
+      "Finished 120 questions:\n",
+      "Finished 130 questions:\n",
+      "Finished 140 questions:\n",
+      "Finished 150 questions:\n",
+      "Finished 160 questions:\n",
+      "Finished 170 questions:\n",
+      "Finished 180 questions:\n",
+      "Finished 190 questions:\n",
+      "746961\n"
+     ]
+    }
+   ],
+   "source": [
+    "# prepare a dictionary to replace REL entries with more \"verbose\" descriptions\n",
+    "rel_dict = {\n",
+    "    \"AQ\"    : \"allowed qualifier\",\n",
+    "    \"CHD\"   : \"has child relationship in a Metathesaurus source vocabulary\",\n",
+    "    \"DEL\"   : \"deleted concept\",\n",
+    "    \"PAR\"   : \"has parent relationship in a Metathesaurus source vocabulary\",\n",
+    "    \"QB\"    : \"can be qualified by\",\n",
+    "    \"RB\"    : \"has a broader relationship\",\n",
+    "    \"RL\"    : \"is similar or alike\",\n",
+    "    \"RN\"    : \"has a narrower relationship\",\n",
+    "    \"RO\"    : \"has relationship other than synonymous, narrower, or broader\",\n",
+    "    \"RQ\"    : \"related and possibly synonymous\",\n",
+    "    \"RU\"    : \"unspecified related\",\n",
+    "    \"SY\"    : \"source asserted synonymy\",\n",
+    "    \"XR\"    : \"not related and no mapping\",\n",
+    "    #\"\"    : \"\",  # python does not allow for empyt string as key\n",
+    "}\n",
+    "\n",
+    "## if it exists we use RELA over REL since it is a more specific label\n",
+    "con = sqlite3.connect(\"../data/umls.db\")\n",
+    "cur = con.cursor() \n",
+    "\n",
+    "number_triples = 0\n",
+    "\n",
+    "for index, question in enumerate(final_questions):\n",
+    "    question[\"triples\"] = []\n",
+    "    for cui in question[\"cuis\"]:\n",
+    "        ## with the example R182891085 there seems to be no need to care about the field DIR\n",
+    "        ## since the field RG only has the values 1,2,3,4,5,6,7,8,9 we do ignore it; seems to be mainly used for mappings\n",
+    "        ## find all relationships that originate from cui\n",
+    "        cur.execute('select CUI1, AUI1, CUI2, AUI2, REL, RELA from MRREL where cui2=?', (cui,))\n",
+    "        rel_rows = cur.fetchall()\n",
+    "        \n",
+    "        for rel_row in rel_rows:\n",
+    "            s = \"\"\n",
+    "            p = \"\"\n",
+    "            o = \"\"\n",
+    "            cui1 = rel_row[0]\n",
+    "            aui1 = rel_row[1]\n",
+    "            cui2 = rel_row[2]\n",
+    "            aui2 = rel_row[3]\n",
+    "            rel = rel_row[4]\n",
+    "            rela = rel_row[5]\n",
+    "            \n",
+    "            # resolve s\n",
+    "            if aui2 == \"\":    ## means AUI2 does not exist\n",
+    "                # select count(*) from mrconso A where not exists(select* from mrconso B where A.cui=B.cui and B.tty=\"PN\") 5990275 means PN not usable\n",
+    "                # select count(*) from mrconso A where not exists(select* from mrconso B where A.cui=B.cui and B.ispref=\"Y\") 0 means ispref is usable\n",
+    "                # another option is to use the string that was originaly used in the query and was found in the umls\n",
+    "                cur.execute('select STR from MRCONSO where cui=? and ispref=\"Y\" Limit 1', (cui2,))\n",
+    "                s_rows = cur.fetchall()\n",
+    "                s = s_rows[0][0]\n",
+    "            else: ##means AUI2 does exist\n",
+    "                cur.execute('select STR from MRCONSO where aui=?', (aui2,))\n",
+    "                s_rows = cur.fetchall()\n",
+    "                s = s_rows[0][0]\n",
+    "\n",
+    "            # resolve o, same logic as s\n",
+    "            if aui1 == \"\":    ## means AUI1 does not exist\n",
+    "                cur.execute('select STR from MRCONSO where cui=? and ispref=\"Y\" Limit 1', (cui1,))\n",
+    "                o_rows = cur.fetchall()\n",
+    "                o = o_rows[0][0]\n",
+    "            else: ##means AUI1 does exist\n",
+    "                cur.execute('select STR from MRCONSO where aui=?', (aui1,))\n",
+    "                o_rows = cur.fetchall()\n",
+    "                o = o_rows[0][0]\n",
+    "            \n",
+    "            # resolve p\n",
+    "            if rela == \"\":  ## means the relation has no better specification\n",
+    "                p = rel_dict[str(rel)]\n",
+    "            else:\n",
+    "                p = rela.replace(\"_\", \" \")\n",
+    "            number_triples += 1\n",
+    "            question[\"triples\"].append({\"s\":s, \"p\":p, \"o\":o})\n",
+    "    if index % 10 == 0:\n",
+    "        print(f\"Finished {index} questions:\")\n",
+    "print(number_triples)\n",
+    "#cui2 =  \"C2673883\"\n",
+    "#cur.execute('select CUI1, AUI1, CUI2, AUI2, REL, RELA from MRREL where cui2=?', (cui2,))\n",
+    "#rows = cur.fetchall()\n",
+    "#print(rows[0])\n",
+    "#('C0000769', 'A3879701', 'C2673883', 'A20979230', 'RO', 'has_mapping_qualifier')\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 22,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "43430\n"
+     ]
+    }
+   ],
+   "source": [
+    "maxi = 0\n",
+    "for question in final_questions:\n",
+    "    num = len(question[\"triples\"])\n",
+    "    if num > maxi:\n",
+    "        maxi = num\n",
+    "print(maxi)\n",
+    "# we will stop at taking the top 50 relations to add to the query/prompt for now"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 24,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[[0.39603567]]\n"
+     ]
+    }
+   ],
+   "source": [
+    "import tensorflow_hub as hub\n",
+    "from sklearn.metrics.pairwise import cosine_similarity\n",
+    "\n",
+    "embed = hub.load(\"https://tfhub.dev/google/universal-sentence-encoder/4\")\n",
+    "embedding1 = embed([\"the person wear red T-shirt\"])\n",
+    "embedding2 = embed([\"that human is clothed in a red pullover\"])\n",
+    "embedding3 = embed([\"i like pink shoes\"])\n",
+    "\n",
+    "# Calculate cosine similarity\n",
+    "similarity = cosine_similarity(embedding3, embedding1)[0][0]\n",
+    "print(similarity)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 28,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Finished 0 questions.\n",
+      "Finished 10 questions.\n",
+      "Finished 20 questions.\n",
+      "Finished 30 questions.\n",
+      "Finished 40 questions.\n",
+      "Finished 50 questions.\n",
+      "Finished 60 questions.\n",
+      "Finished 70 questions.\n",
+      "Finished 80 questions.\n",
+      "Finished 90 questions.\n",
+      "Finished 100 questions.\n",
+      "Finished 110 questions.\n",
+      "Finished 120 questions.\n",
+      "Finished 130 questions.\n",
+      "Finished 140 questions.\n",
+      "Finished 150 questions.\n",
+      "Finished 160 questions.\n",
+      "Finished 170 questions.\n",
+      "Finished 180 questions.\n",
+      "Finished 190 questions.\n"
+     ]
+    }
+   ],
+   "source": [
+    "#compute and sort the triples by similarity to question and save it to file\n",
+    "for index,question in enumerate(final_questions):\n",
+    "    q_embed = embed([question[\"question\"]])\n",
+    "    for index2, triple in enumerate(question[\"triples\"]):\n",
+    "        t_text = triple[\"s\"] + \" \" + triple[\"p\"] + \" \" + triple[\"o\"]\n",
+    "        t_embed = embed([t_text])\n",
+    "        similarity = cosine_similarity(q_embed, t_embed)[0][0]\n",
+    "        final_questions[index][\"triples\"][index2][\"similarity\"] = similarity\n",
+    "    final_questions[index][\"triples\"] = sorted(final_questions[index][\"triples\"], key=lambda d: d[\"similarity\"], reverse=True)\n",
+    "    if index % 10 == 0:\n",
+    "        print(f\"Finished {index} questions.\")\n",
+    "#newlist = sorted(list_to_be_sorted, key=lambda d: d['name'])"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 32,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "{'id': '35', 'question': 'Does smoking increase risk for glioblastoma?', 'gt': 'no', 'entities': ['smoking', 'increase', 'risk', 'glioblastoma'], 'cuis': ['C0017636', 'C0278878', 'C1621958', 'C4552904', 'C1548578', 'C0453996', 'C0442805', 'C0035647', 'C1881674', 'C0037369', 'C0280474'], 'triples': [{'s': 'Smoking', 'p': 'related to', 'o': 'Quitting Smoking', 'similarity': 0.5692531}, {'s': 'Smoking', 'p': 'related to', 'o': 'Lung Cancer', 'similarity': 0.56843555}, {'s': 'Smoking', 'p': 'mapped from', 'o': 'Smoking', 'similarity': 0.54175115}, {'s': 'Smoking', 'p': 'inverse isa', 'o': 'Tobacco Smoking', 'similarity': 0.5392135}, {'s': 'smoking tobacco', 'p': 'use', 'o': 'smoking', 'similarity': 0.5355134}, {'s': 'Smoking', 'p': 'related and possibly synonymous', 'o': 'Tobacco Smoking', 'similarity': 0.5325125}, {'s': 'Smoking', 'p': 'mapped to', 'o': 'Smoking', 'similarity': 0.5291895}, {'s': 'smoking', 'p': 'used for', 'o': 'cigarette smoking', 'similarity': 0.52865016}, {'s': 'Smoking', 'p': 'mapped to', 'o': 'Tobacco Smoking', 'similarity': 0.5234796}, {'s': 'Smoking', 'p': 'related to', 'o': 'Smokeless Tobacco', 'similarity': 0.5218563}, {'s': 'Smoking', 'p': 'mapped to', 'o': 'Cigarette Smoking', 'similarity': 0.5212217}, {'s': 'Smoking', 'p': 'related to', 'o': 'E-Cigarettes', 'similarity': 0.51926386}, {'s': 'Smoking', 'p': 'mapped to', 'o': 'Pipe Smoking', 'similarity': 0.5187043}, {'s': 'Smoking', 'p': 'has a broader relationship', 'o': 'Cigarette smoking behavior', 'similarity': 0.51775366}, {'s': 'Smoking', 'p': 'has a broader relationship', 'o': 'Smoking Behaviors', 'similarity': 0.5153489}, {'s': 'Smoking', 'p': 'mapped to', 'o': 'Water Pipe Smoking', 'similarity': 0.5148692}, {'s': 'Smoking', 'p': 'related to', 'o': 'Secondhand Smoke', 'similarity': 0.5142957}, {'s': 'Tobacco Smoking', 'p': 'isa', 'o': 'Smoking Behavior', 'similarity': 0.50768393}, {'s': 'Tobacco Smoking', 'p': 'can be qualified by', 'o': 'adverse effects', 'similarity': 0.505933}, {'s': 'Smoking', 'p': 'source asserted synonymy', 'o': 'Pipe smoking', 'similarity': 0.50303525}, {'s': 'Smoking', 'p': 'has contraindicated drug', 'o': 'segesterone', 'similarity': 0.49886793}, {'s': 'smoking', 'p': 'used for', 'o': 'smoking tobacco', 'similarity': 0.49879634}, {'s': 'Smoking', 'p': 'has a broader relationship', 'o': 'Hashish Smoking', 'similarity': 0.49863023}, {'s': 'Tobacco Smoking', 'p': 'mapped from', 'o': 'Smoking', 'similarity': 0.49833557}, {'s': 'Smoking', 'p': 'source asserted synonymy', 'o': 'Tobacco smoking', 'similarity': 0.49525365}, {'s': 'Tobacco smoking behavior', 'p': 'has a broader relationship', 'o': 'Cessation of smoking', 'similarity': 0.49268755}, {'s': 'Smoking', 'p': 'has a broader relationship', 'o': 'Smoking Habit', 'similarity': 0.4917608}, {'s': 'Tobacco Smoking', 'p': 'inverse isa', 'o': 'Cigarette Smoking', 'similarity': 0.49143738}, {'s': 'Smoking', 'p': 'has a narrower relationship', 'o': 'inhalation, smoking, sniffing', 'similarity': 0.49119717}, {'s': 'smoking', 'p': 'has a narrower relationship', 'o': 'inhalation, smoking, sniffing', 'similarity': 0.49119717}, {'s': 'Smoking', 'p': 'has a broader relationship', 'o': 'smoking without inhalation', 'similarity': 0.4896267}, {'s': 'smoking', 'p': 'has a broader relationship', 'o': 'smoking without inhalation', 'similarity': 0.4896267}, {'s': 'Tobacco Smoking', 'p': 'inverse isa', 'o': 'Cigar Smoking', 'similarity': 0.48880288}, {'s': 'Tobacco Smoking', 'p': 'related and possibly synonymous', 'o': 'Smoking', 'similarity': 0.48855424}, {'s': 'Tobacco smoking behavior', 'p': 'has a broader relationship', 'o': 'Cigarette smoking behavior', 'similarity': 0.48577887}, {'s': 'Smoking', 'p': 'can be qualified by', 'o': 'adverse effects', 'similarity': 0.4847945}, {'s': 'Tobacco smoking', 'p': 'source asserted synonymy', 'o': 'Smoking', 'similarity': 0.4770617}, {'s': 'smoking', 'p': 'has a broader relationship', 'o': 'smoking with inhalation', 'similarity': 0.4759763}, {'s': 'smoking', 'p': 'used for', 'o': 'smoking marijuana', 'similarity': 0.4756803}, {'s': 'Tobacco Smoking', 'p': 'isa', 'o': 'Smoking', 'similarity': 0.47432056}, {'s': 'Smoking', 'p': 'has parent relationship in a Metathesaurus source vocabulary', 'o': 'Smoking Reduction', 'similarity': 0.47064853}, {'s': 'Smoking', 'p': 'mapped to', 'o': 'Cigar Smoking', 'similarity': 0.46871483}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Marijuana Smoking', 'similarity': 0.46783835}, {'s': 'Smoking', 'p': 'related and possibly synonymous', 'o': 'Nicotine', 'similarity': 0.46542758}, {'s': 'Smoking', 'p': 'answer to', 'o': 'Etiological factors.dental:Find:Pt:{Diagnosis.dental}:Nom', 'similarity': 0.4647991}, {'s': 'Smoking', 'p': 'has a broader relationship', 'o': 'freebasing', 'similarity': 0.46470225}, {'s': 'smoking', 'p': 'has a broader relationship', 'o': 'freebasing', 'similarity': 0.46470225}, {'s': 'Smoking', 'p': 'isa', 'o': 'Personal Behavior', 'similarity': 0.46468228}, {'s': 'Smoking', 'p': 'has parent relationship in a Metathesaurus source vocabulary', 'o': 'Pipe Smoking', 'similarity': 0.46407872}, {'s': 'Smoking', 'p': 'source asserted synonymy', 'o': 'Cigarette smoking', 'similarity': 0.46190512}, {'s': 'Tobacco Smoking', 'p': 'can be qualified by', 'o': 'epidemiology', 'similarity': 0.46087265}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Tobacco smoking behavior', 'similarity': 0.45933092}, {'s': 'Tobacco Smoking', 'p': 'can be qualified by', 'o': 'psychology', 'similarity': 0.45821822}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Smoking tobacco', 'similarity': 0.45809904}, {'s': 'Tobacco smoking behavior', 'p': 'has a narrower relationship', 'o': 'Behaviorial Habits', 'similarity': 0.45757166}, {'s': 'smoking tobacco', 'p': 'use', 'o': 'tobacco abuse', 'similarity': 0.45734245}, {'s': 'Tobacco Smoking', 'p': 'can be qualified by', 'o': 'mortality', 'similarity': 0.45694697}, {'s': 'Tobacco smoking behavior', 'p': 'has a narrower relationship', 'o': 'Drug usage', 'similarity': 0.45594054}, {'s': 'Smoking', 'p': 'related to', 'o': 'Smoking and Youth', 'similarity': 0.4544582}, {'s': 'Tobacco smoking behavior', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Carcinogens', 'similarity': 0.45402026}, {'s': 'smoking', 'p': 'used for', 'o': 'smoking hashish', 'similarity': 0.45350212}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Tobacco Smoke Pollution', 'similarity': 0.4496061}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Tobacco Smoke Pollution', 'similarity': 0.4496061}, {'s': 'Smoking', 'p': 'can be qualified by', 'o': 'psychology', 'similarity': 0.4493847}, {'s': 'Smoking', 'p': 'can be qualified by', 'o': 'epidemiology', 'similarity': 0.44830024}, {'s': 'Tobacco Smoking', 'p': 'can be qualified by', 'o': 'immunology', 'similarity': 0.446034}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Tobacco Smoking History', 'similarity': 0.44434705}, {'s': 'Tobacco Smoking', 'p': 'can be qualified by', 'o': 'therapy', 'similarity': 0.44210505}, {'s': 'Smoking', 'p': 'can be qualified by', 'o': 'mortality', 'similarity': 0.44198895}, {'s': 'Smoking', 'p': 'has parent relationship in a Metathesaurus source vocabulary', 'o': 'Tobacco Smoking', 'similarity': 0.4414688}, {'s': 'Smoking', 'p': 'has contraindicated drug', 'o': 'segesterone acetate', 'similarity': 0.440701}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Tobacco smoke', 'similarity': 0.4377696}, {'s': 'smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'tobacco smoke', 'similarity': 0.4377696}, {'s': 'Tobacco smoking behavior', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Smoking', 'similarity': 0.43725273}, {'s': 'Tobacco Smoking', 'p': 'can be qualified by', 'o': 'urine', 'similarity': 0.43691215}, {'s': 'Smoking', 'p': 'source asserted synonymy', 'o': 'Cigar smoking', 'similarity': 0.43616763}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Electronic Cigarettes', 'similarity': 0.4348154}, {'s': 'Tobacco Smoking', 'p': 'can be qualified by', 'o': 'pathology', 'similarity': 0.4347426}, {'s': 'Smoking', 'p': 'can be qualified by', 'o': 'immunology', 'similarity': 0.43430537}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Smokeless Tobacco', 'similarity': 0.43425876}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Smoking, Passive', 'similarity': 0.4340499}, {'s': 'Tobacco smoking behavior', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Smoking tobacco', 'similarity': 0.431674}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Tobacco Use Disorder', 'similarity': 0.43125787}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Tobacco Use Disorder', 'similarity': 0.43125787}, {'s': 'Smoking', 'p': 'mapped from', 'o': 'Smoking and Youth', 'similarity': 0.4309216}, {'s': 'Tobacco Smoking', 'p': 'can be qualified by', 'o': 'drug therapy', 'similarity': 0.42667833}, {'s': 'smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'passive smoking', 'similarity': 0.42619643}, {'s': 'Tobacco smoking behavior', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Smoking History', 'similarity': 0.426127}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Smoking History', 'similarity': 0.4260478}, {'s': 'smoking', 'p': 'has a narrower relationship', 'o': 'drug administration route', 'similarity': 0.4256395}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Tobacco', 'similarity': 0.4249382}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Tobacco', 'similarity': 0.4249382}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Former smoker', 'similarity': 0.4240955}, {'s': 'Tobacco smoking behavior', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Tobacco Smoking History', 'similarity': 0.42401803}, {'s': 'Smoking', 'p': 'has parent relationship in a Metathesaurus source vocabulary', 'o': 'Smoking, Non-Tobacco Products', 'similarity': 0.42336488}, {'s': 'Tobacco Smoking', 'p': 'has parent relationship in a Metathesaurus source vocabulary', 'o': 'Cigarette Smoking', 'similarity': 0.4232186}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Smoke', 'similarity': 0.42223963}, {'s': 'Tobacco Smoking', 'p': 'can be qualified by', 'o': 'physiopathology', 'similarity': 0.42138067}, {'s': 'smoking', 'p': 'has parent relationship in a Metathesaurus source vocabulary', 'o': 'smoking with inhalation', 'similarity': 0.42078528}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Cigarette', 'similarity': 0.42015266}, {'s': 'Risks', 'p': 'component of', 'o': 'I took risks when I drank in past 30D:Find:30D:^Patient:Ord:PROMIS', 'similarity': 0.41842556}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'nicotine', 'similarity': 0.4179444}, {'s': 'smoking', 'p': 'has parent relationship in a Metathesaurus source vocabulary', 'o': 'smoking without inhalation', 'similarity': 0.41759107}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Tobacco Dependence', 'similarity': 0.41718423}, {'s': 'Tobacco Smoking', 'p': 'can be qualified by', 'o': 'trends', 'similarity': 0.41684845}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Smoker', 'similarity': 0.4167853}, {'s': 'Tobacco Smoking', 'p': 'can be qualified by', 'o': 'ethnology', 'similarity': 0.4162009}, {'s': 'Smoking', 'p': 'can be qualified by', 'o': 'therapy', 'similarity': 0.41542792}, {'s': 'Tobacco Smoking', 'p': 'isa', 'o': 'Tobacco Use', 'similarity': 0.41507018}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Cigarette smoker (finding)', 'similarity': 0.41432753}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Tobacco use', 'similarity': 0.4137373}, {'s': 'Tobacco smoking behavior', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Tobacco smoke', 'similarity': 0.41367593}, {'s': 'Smoking', 'p': 'can be qualified by', 'o': 'urine', 'similarity': 0.41323528}, {'s': 'Medical Device Emits Smoke', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Tobacco smoke', 'similarity': 0.41305324}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'cigarette use', 'similarity': 0.41244674}, {'s': 'Tobacco smoking behavior', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Tobacco Use Disorder', 'similarity': 0.41178197}, {'s': 'Tobacco smoking behavior', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Cigarette smoker (finding)', 'similarity': 0.41095197}, {'s': 'Smoking', 'p': 'can be qualified by', 'o': 'drug therapy', 'similarity': 0.4103058}, {'s': 'smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'tobacco abuse', 'similarity': 0.40983832}, {'s': 'Smoking', 'p': 'answer to', 'o': 'Risk factors affecting health status and or outcome:Find:Pt:^Patient:Nom:CMS Assessment', 'similarity': 0.40950978}, {'s': 'Tobacco Smoking', 'p': 'can be qualified by', 'o': 'genetics', 'similarity': 0.40833127}, {'s': 'Tobacco smoking behavior', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Smokeless Tobacco', 'similarity': 0.40792963}, {'s': 'Smoking', 'p': 'can be qualified by', 'o': 'physiopathology', 'similarity': 0.4067496}, {'s': 'Tobacco Smoking', 'p': 'has child relationship in a Metathesaurus source vocabulary', 'o': 'Smoking', 'similarity': 0.40654564}, {'s': 'Tobacco smoking behavior', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Tobacco', 'similarity': 0.40649015}, {'s': 'Tobacco smoking behavior', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'nicotine', 'similarity': 0.40579063}, {'s': 'Tobacco Smoking', 'p': 'can be qualified by', 'o': 'economics', 'similarity': 0.4048705}, {'s': 'Smoking', 'p': 'can be qualified by', 'o': 'pathology', 'similarity': 0.4043713}, {'s': 'Smoking', 'p': 'related to', 'o': 'Drug Use and Addiction', 'similarity': 0.40380347}, {'s': 'Tobacco Smoking', 'p': 'has parent relationship in a Metathesaurus source vocabulary', 'o': 'Cigar Smoking', 'similarity': 0.40011182}, {'s': 'Tobacco Smoking', 'p': 'can be qualified by', 'o': 'blood', 'similarity': 0.39964408}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Smoke Exposure', 'similarity': 0.39901334}, {'s': 'Tobacco smoking behavior', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Smoke Exposure', 'similarity': 0.39886305}, {'s': 'Tobacco Smoking', 'p': 'can be qualified by', 'o': 'prevention & control', 'similarity': 0.39878207}, {'s': 'smoking', 'p': 'has child relationship in a Metathesaurus source vocabulary', 'o': 'inhalation, smoking, sniffing', 'similarity': 0.39830747}, {'s': 'Tobacco smoking behavior', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Tobacco Dependence', 'similarity': 0.3980286}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Nicotiana tabacum', 'similarity': 0.39743567}, {'s': 'Risk', 'p': 'inverse isa', 'o': 'Cancer Risk', 'similarity': 0.39704967}, {'s': 'Smoking', 'p': 'can be qualified by', 'o': 'trends', 'similarity': 0.3961494}, {'s': 'Tobacco Smoking', 'p': 'can be qualified by', 'o': 'metabolism', 'similarity': 0.39596114}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Encounter due to tobacco use', 'similarity': 0.39541274}, {'s': 'Smoking', 'p': 'can be qualified by', 'o': 'genetics', 'similarity': 0.39498264}, {'s': 'Tobacco Smoking', 'p': 'can be qualified by', 'o': 'cerebrospinal fluid', 'similarity': 0.39492303}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'drug snorting', 'similarity': 0.39490026}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Marihuana', 'similarity': 0.39476463}, {'s': 'Smoking', 'p': 'has a narrower relationship', 'o': 'Drug Administration Routes', 'similarity': 0.39455885}, {'s': 'Smoking', 'p': 'can be qualified by', 'o': 'ethnology', 'similarity': 0.39379615}, {'s': 'Tobacco smoking behavior', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Cigarette smoke (substance)', 'similarity': 0.39353305}, {'s': 'Smoking', 'p': 'can be qualified by', 'o': 'blood', 'similarity': 0.39108357}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Oral Tobacco', 'similarity': 0.39023015}, {'s': 'Smoking', 'p': 'has parent relationship in a Metathesaurus source vocabulary', 'o': 'Vaping', 'similarity': 0.38852894}, {'s': 'Tobacco Smoking', 'p': 'concept in subset', 'o': 'Fagerstrom Test for Nicotine Dependence', 'similarity': 0.3881839}, {'s': 'smoking', 'p': 'has a narrower relationship', 'o': 'oral administration', 'similarity': 0.38798875}, {'s': 'Tobacco Smoking', 'p': 'can be qualified by', 'o': 'history', 'similarity': 0.3873855}, {'s': 'smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'tobacco in any form', 'similarity': 0.38407448}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Nicotiana', 'similarity': 0.38165647}, {'s': 'smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'marijuana in any form', 'similarity': 0.38030824}, {'s': 'Medical Device Emits Smoke', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Smoke', 'similarity': 0.37592834}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'inhaled substance', 'similarity': 0.37497324}, {'s': 'smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'inhaled substance', 'similarity': 0.37497324}, {'s': 'Smoking', 'p': 'can be qualified by', 'o': 'cerebrospinal fluid', 'similarity': 0.37466797}, {'s': 'Smoking', 'p': 'can be qualified by', 'o': 'economics', 'similarity': 0.37419546}, {'s': 'Smoking', 'p': 'can be qualified by', 'o': 'metabolism', 'similarity': 0.36980224}, {'s': 'smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'nicotine in any form', 'similarity': 0.36751238}, {'s': 'Risks', 'p': 'component of', 'o': 'I enjoy taking risks:Find:Pt:^Patient:Ord:UPPS-R-C', 'similarity': 0.36750603}, {'s': 'smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'passive inhalation', 'similarity': 0.365605}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Toxic effect of unspecified gas, fume, or vapor', 'similarity': 0.3640144}, {'s': 'smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'inhalation drug abuse', 'similarity': 0.36329144}, {'s': 'Tobacco Smoking', 'p': 'has child relationship in a Metathesaurus source vocabulary', 'o': 'Tobacco Use', 'similarity': 0.36253086}, {'s': 'Risks', 'p': 'component of', 'o': 'Did your doctor-s explain the possible side effects or risks of your treatment:Find:Pt:^Patient:Ord:FACIT', 'similarity': 0.35986263}, {'s': 'Smoking', 'p': 'can be qualified by', 'o': 'history', 'similarity': 0.35957646}, {'s': 'Tobacco Smoking', 'p': 'can be qualified by', 'o': 'legislation & jurisprudence', 'similarity': 0.35026604}, {'s': 'Smoking', 'p': 'concept in subset', 'o': 'GDC Risk Factor Terminology', 'similarity': 0.3421321}, {'s': 'Device Smoking', 'p': 'isa', 'o': 'Temperature Problem', 'similarity': 0.3384589}, {'s': 'Smoking', 'p': 'has child relationship in a Metathesaurus source vocabulary', 'o': 'Behavior', 'similarity': 0.3377337}, {'s': 'Smoking', 'p': 'can be qualified by', 'o': 'legislation & jurisprudence', 'similarity': 0.33690044}, {'s': 'Risk', 'p': 'inverse isa', 'o': 'Residual Risk', 'similarity': 0.33592623}, {'s': 'Increase', 'p': 'inverse isa', 'o': 'Diffusely Increased', 'similarity': 0.33541748}, {'s': 'Smoking', 'p': 'has child relationship in a Metathesaurus source vocabulary', 'o': 'Substance Abuse Problems', 'similarity': 0.33200437}, {'s': 'Smoking', 'p': 'has child relationship in a Metathesaurus source vocabulary', 'o': 'Lungs and Breathing', 'similarity': 0.3297736}, {'s': 'Smoking', 'p': 'concept in subset', 'o': 'CTRP Disease Terminology', 'similarity': 0.32342085}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Administration, Oral', 'similarity': 0.32309276}, {'s': 'risk', 'p': 'has a broader relationship', 'o': 'AOD induced risk', 'similarity': 0.32168153}, {'s': 'Risk', 'p': 'inverse isa', 'o': 'Genetic Risk', 'similarity': 0.3166471}, {'s': 'smoking', 'p': 'has child relationship in a Metathesaurus source vocabulary', 'o': 'drug administration route', 'similarity': 0.31600726}, {'s': 'Risk', 'p': 'has permuted term', 'o': 'Risks', 'similarity': 0.31525767}, {'s': 'Risk', 'p': 'inverse isa', 'o': 'High Risk', 'similarity': 0.3113226}, {'s': 'Risks', 'p': 'component of', 'o': 'I quite enjoy taking risks:Find:Pt:^Patient:Ord:UPPS-P', 'similarity': 0.311197}, {'s': 'Increase', 'p': 'inverse isa', 'o': 'Increased Thickness', 'similarity': 0.3078792}, {'s': 'Tobacco Smoking', 'p': 'concept in subset', 'o': 'GDC Value Terminology', 'similarity': 0.30745482}, {'s': 'Risk', 'p': 'inverse isa', 'o': 'Attributable Risk', 'similarity': 0.3070753}, {'s': 'Increase', 'p': 'inverse isa', 'o': 'Boost', 'similarity': 0.30655205}, {'s': 'Tobacco Smoking', 'p': 'concept in subset', 'o': 'GDC Terminology', 'similarity': 0.30613297}, {'s': 'Tobacco Smoking', 'p': 'concept in subset', 'o': 'GDC Comorbidity Terminology', 'similarity': 0.3057233}, {'s': 'Risk', 'p': 'has a narrower relationship', 'o': 'Risks and Benefits', 'similarity': 0.30390233}, {'s': 'Smoking', 'p': 'concept in subset', 'o': 'CPTAC Cholangiocarcinoma Baseline Form', 'similarity': 0.3026332}, {'s': 'Smoking', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Nicotania tabacum (essential oil)', 'similarity': 0.3012889}, {'s': 'Risk', 'p': 'inverse isa', 'o': 'Subject Risk', 'similarity': 0.3005608}, {'s': 'Risk', 'p': 'inverse isa', 'o': 'Minimal Risk', 'similarity': 0.30011687}, {'s': 'Increase', 'p': 'inverse isa', 'o': 'Focally Increased', 'similarity': 0.29969302}, {'s': 'Smoking', 'p': 'concept in subset', 'o': 'CTRP Terminology', 'similarity': 0.2993556}, {'s': 'Smoking', 'p': 'concept in subset', 'o': 'CPTAC Baseline Medical Forms Terminology', 'similarity': 0.29883635}, {'s': 'Smoking', 'p': 'concept in subset', 'o': 'CPTAC Terminology', 'similarity': 0.29644194}, {'s': 'Glioblastoma', 'p': 'manifestation of', 'o': 'MISMATCH REPAIR CANCER SYNDROME 1', 'similarity': 0.29610103}, {'s': 'Risks', 'p': 'permuted term of', 'o': 'Risk', 'similarity': 0.29124343}, {'s': 'Risk', 'p': 'inverse isa', 'o': 'Relative Risk', 'similarity': 0.28961116}, {'s': 'Risk', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Risk Reduction Behavior', 'similarity': 0.28824896}, {'s': 'Risk', 'p': 'has a broader relationship', 'o': 'Relative Risk', 'similarity': 0.2871342}, {'s': 'risk', 'p': 'has a broader relationship', 'o': 'relative risk', 'similarity': 0.2871342}, {'s': 'Risk', 'p': 'inverse isa', 'o': 'Low Risk', 'similarity': 0.28687406}, {'s': 'Risk', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Harm Reduction', 'similarity': 0.28538316}, {'s': 'Glioblastoma', 'p': 'manifestation of', 'o': 'MISMATCH REPAIR CANCER SYNDROME 3', 'similarity': 0.28339258}, {'s': 'risk', 'p': 'has a narrower relationship', 'o': 'costs, risks, and benefits', 'similarity': 0.28011996}, {'s': 'Glioblastoma Multiforme', 'p': 'has a narrower relationship', 'o': 'Glioblastoma', 'similarity': 0.2771365}, {'s': 'Glioblastoma Multiforme', 'p': 'has a narrower relationship', 'o': 'Glioblastoma', 'similarity': 0.2771365}, {'s': 'Risk', 'p': 'inverse isa', 'o': 'Serious Risk', 'similarity': 0.2750704}, {'s': 'risk', 'p': 'has a broader relationship', 'o': 'risk analysis', 'similarity': 0.27136236}, {'s': 'Glioblastoma', 'p': 'inverse isa', 'o': 'MGMT-Unmethylated Glioblastoma', 'similarity': 0.2702116}, {'s': 'Risk', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Incidence', 'similarity': 0.2686605}, {'s': 'Subject Risk', 'p': 'isa', 'o': 'Risk', 'similarity': 0.26723433}, {'s': 'Risk', 'p': 'inverse isa', 'o': 'Population Risk', 'similarity': 0.26639938}, {'s': 'Glioblastoma', 'p': 'has a narrower relationship', 'o': 'carcinoma brain', 'similarity': 0.2653435}, {'s': 'Glioblastoma', 'p': 'disease may have finding', 'o': 'Headache', 'similarity': 0.26501825}, {'s': 'Glioblastoma', 'p': 'inverse isa', 'o': 'Metastatic Glioblastoma', 'similarity': 0.26438382}, {'s': 'Glioblastoma', 'p': 'inverse isa', 'o': 'Glioblastoma by Gene Expression Profile', 'similarity': 0.26396394}, {'s': 'Risk', 'p': 'mapped from', 'o': 'Risk', 'similarity': 0.26328388}, {'s': 'glioblastoma', 'p': 'use', 'o': 'glioblastoma multiforme', 'similarity': 0.26312524}, {'s': 'risk', 'p': 'has child relationship in a Metathesaurus source vocabulary', 'o': 'costs, risks, and benefits', 'similarity': 0.26160502}, {'s': 'Risk', 'p': 'inverse isa', 'o': 'Intermediate Risk', 'similarity': 0.26111403}, {'s': 'risk', 'p': 'has a broader relationship', 'o': 'risk assessment', 'similarity': 0.26035243}, {'s': 'risk', 'p': 'has parent relationship in a Metathesaurus source vocabulary', 'o': 'relative risk', 'similarity': 0.26001954}, {'s': 'Glioblastoma', 'p': 'manifestation of', 'o': 'MISMATCH REPAIR CANCER SYNDROME 4', 'similarity': 0.25792018}, {'s': 'Smoking', 'p': 'concept in subset', 'o': 'GDC Terminology', 'similarity': 0.25790048}, {'s': 'risk', 'p': 'has a broader relationship', 'o': 'risk management', 'similarity': 0.2576226}, {'s': 'Smoking', 'p': 'concept in subset', 'o': 'GDC Value Terminology', 'similarity': 0.2562379}, {'s': 'Glioblastoma', 'p': 'inverse isa', 'o': 'Brain Glioblastoma', 'similarity': 0.25580055}, {'s': 'Glioblastoma', 'p': 'disease has finding', 'o': 'Necrotic Change', 'similarity': 0.2547082}, {'s': 'Risk', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Subject Risk', 'similarity': 0.25422338}, {'s': 'Glioblastoma', 'p': 'inverse isa', 'o': 'MGMT-Methylated Glioblastoma', 'similarity': 0.2530179}, {'s': 'Glioblastoma', 'p': 'disease has finding', 'o': 'High Grade Lesion', 'similarity': 0.2529614}, {'s': 'Glioblastoma', 'p': 'inverse isa', 'o': 'Refractory Glioblastoma', 'similarity': 0.25079292}, {'s': 'Glioblastoma', 'p': 'inverse isa', 'o': 'Unresectable Glioblastoma', 'similarity': 0.25025985}, {'s': 'Risk', 'p': 'inverse isa', 'o': 'Unexpected Serious Risk', 'similarity': 0.24823783}, {'s': 'Adult Glioblastoma', 'p': 'disease may have finding', 'o': 'Headache', 'similarity': 0.24818298}, {'s': 'risk', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'risk-taking behavior', 'similarity': 0.24796104}, {'s': 'Glioblastoma', 'p': 'inverse isa', 'o': 'Recurrent Glioblastoma', 'similarity': 0.24792974}, {'s': 'Increase', 'p': 'answer to', 'o': 'Increase or decrease in schoolwork during the COVID-19 outbreak:Find:Pt:^Patient:Ord', 'similarity': 0.2473985}, {'s': 'Risk', 'p': 'mapped to', 'o': 'Risk', 'similarity': 0.24700475}, {'s': 'risk', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'risk factor model', 'similarity': 0.24514478}, {'s': 'Risk', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'High risk of', 'similarity': 0.24411988}, {'s': 'Glioblastoma', 'p': 'manifestation of', 'o': 'MISMATCH REPAIR CANCER SYNDROME 2', 'similarity': 0.24407317}, {'s': 'Risk', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Potential', 'similarity': 0.24351335}, {'s': 'glioblastoma multiforme', 'p': 'used for', 'o': 'glioblastoma', 'similarity': 0.24298967}, {'s': 'Glioblastoma', 'p': 'disease has finding', 'o': 'Infiltrative Growth Pattern', 'similarity': 0.24283355}, {'s': 'Glioblastoma', 'p': 'disease has finding', 'o': 'Nuclear Atypia', 'similarity': 0.24237779}, {'s': 'Smoking', 'p': 'has child relationship in a Metathesaurus source vocabulary', 'o': 'Location characteristic ID', 'similarity': 0.2421619}, {'s': 'Glioblastoma', 'p': 'inverse isa', 'o': 'Resectable Glioblastoma', 'similarity': 0.24201512}, {'s': 'Glioblastoma', 'p': 'inverse isa', 'o': 'Adult Glioblastoma', 'similarity': 0.24120387}, {'s': 'risk', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'disease factor', 'similarity': 0.24038367}, {'s': 'Glioblastoma', 'p': 'disease has finding', 'o': 'Anaplastic Lesion', 'similarity': 0.23961672}, {'s': 'Glioblastoma', 'p': 'may be treated by', 'o': 'temozolomide', 'similarity': 0.23956731}, {'s': 'Adult Glioblastoma', 'p': 'pathogenesis of disease involves gene', 'o': 'TP53 Gene', 'similarity': 0.23822361}, {'s': 'Adult Glioblastoma', 'p': 'disease may have molecular abnormality', 'o': 'EGFR Gene Amplification', 'similarity': 0.23821054}, {'s': 'Glioblastoma', 'p': 'inverse isa', 'o': 'Glioblastoma, IDH-Wildtype', 'similarity': 0.23782662}, {'s': 'Risk', 'p': 'has parent relationship in a Metathesaurus source vocabulary', 'o': 'Risk Factors', 'similarity': 0.2361762}, {'s': 'Glioblastoma', 'p': 'has a narrower relationship', 'o': 'Glioma', 'similarity': 0.236117}, {'s': 'risk', 'p': 'has parent relationship in a Metathesaurus source vocabulary', 'o': 'risk analysis', 'similarity': 0.23560095}, {'s': 'Subject Risk', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Risk', 'similarity': 0.23518884}, {'s': 'Adult Glioblastoma', 'p': 'disease has finding', 'o': 'High Grade Lesion', 'similarity': 0.23374812}, {'s': 'Risks', 'p': 'measured by', 'o': 'Risks:-:-:^FDA package insert:Nar', 'similarity': 0.23339987}, {'s': 'Risk', 'p': 'has child relationship in a Metathesaurus source vocabulary', 'o': 'Probability', 'similarity': 0.23100476}, {'s': 'Adult Glioblastoma', 'p': 'disease has finding', 'o': 'Anaplastic Lesion', 'similarity': 0.22903976}, {'s': 'Glioblastoma', 'p': 'may be treated by', 'o': 'carmustine', 'similarity': 0.22892803}, {'s': 'Glioblastoma', 'p': 'inverse isa', 'o': 'Secondary Glioblastoma', 'similarity': 0.22812958}, {'s': 'Risk', 'p': 'has parent relationship in a Metathesaurus source vocabulary', 'o': 'Risk Assessment', 'similarity': 0.22742599}, {'s': 'risk', 'p': 'has parent relationship in a Metathesaurus source vocabulary', 'o': 'risk management', 'similarity': 0.22508538}, {'s': 'Risks', 'p': 'component of', 'o': 'Risks:-:-:^FDA package insert:Nar', 'similarity': 0.22448118}, {'s': 'Glioblastoma', 'p': 'has a broader relationship', 'o': 'Glioblastoma Multiforme', 'similarity': 0.22343528}, {'s': 'Glioblastoma', 'p': 'has a broader relationship', 'o': 'Glioblastoma Multiforme', 'similarity': 0.22343528}, {'s': 'risk', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'risk factors', 'similarity': 0.22327632}, {'s': 'Adult Glioblastoma', 'p': 'pathogenesis of disease involves gene', 'o': 'MDM2 Gene', 'similarity': 0.22313274}, {'s': 'Increase', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Increased', 'similarity': 0.2227005}, {'s': 'risk', 'p': 'has a broader relationship', 'o': 'risk-benefit analysis', 'similarity': 0.22204433}, {'s': 'Glioblastoma', 'p': 'disease has finding', 'o': 'Diffuse Pattern', 'similarity': 0.22148216}, {'s': 'glioblastoma multiforme', 'p': 'has a narrower relationship', 'o': 'astrocytoma', 'similarity': 0.22041056}, {'s': 'Adult Glioblastoma', 'p': 'disease has finding', 'o': 'Infiltrative Growth Pattern', 'similarity': 0.21977589}, {'s': 'Adult Glioblastoma', 'p': 'has a narrower relationship', 'o': 'Glioblastoma', 'similarity': 0.21925679}, {'s': 'Glioblastoma', 'p': 'disease has associated gene', 'o': 'MIRLET7A1 Gene', 'similarity': 0.21882638}, {'s': 'Glioblastoma', 'p': 'disease has associated gene', 'o': 'MIR21 Gene', 'similarity': 0.21860793}, {'s': 'Risks', 'p': 'component of', 'o': 'Current level of confidence I can recognize risks (for example: handling hot liquids, walking on uneven ground) and take steps to prevent accidents:Find:Pt:^Patient:Ord:PROMIS', 'similarity': 0.2180708}, {'s': 'Glioblastoma', 'p': 'disease is grade', 'o': 'High Grade', 'similarity': 0.21771073}, {'s': 'Glioblastoma', 'p': 'has a narrower relationship', 'o': 'Astrocytoma', 'similarity': 0.21712577}, {'s': 'Increase', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Enlargement procedure', 'similarity': 0.21654873}, {'s': 'Adult Glioblastoma', 'p': 'disease may have molecular abnormality', 'o': 'PDGFRA Gene Mutation', 'similarity': 0.21512723}, {'s': 'Adult Glioblastoma', 'p': 'disease has finding', 'o': 'Necrotic Change', 'similarity': 0.21468514}, {'s': 'Increase', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Blind Loop Syndrome', 'similarity': 0.21382026}, {'s': 'Glioblastoma', 'p': 'inverse isa', 'o': 'Glioblastoma, IDH-Mutant', 'similarity': 0.21368177}, {'s': 'Adult Glioblastoma', 'p': 'disease has finding', 'o': 'Nuclear Atypia', 'similarity': 0.21339628}, {'s': 'Adult Glioblastoma', 'p': 'pathogenesis of disease involves gene', 'o': 'TP53 wt Allele', 'similarity': 0.21317942}, {'s': 'Adult Glioblastoma', 'p': 'inverse isa', 'o': 'Adult Spinal Cord Glioblastoma', 'similarity': 0.2118891}, {'s': 'Glioblastoma', 'p': 'disease has finding', 'o': 'Microvascular Proliferation', 'similarity': 0.21157439}, {'s': 'Glioblastoma', 'p': 'disease has associated gene', 'o': 'MIR124-1 Gene', 'similarity': 0.21048066}, {'s': 'GLIOBLASTOMA MULTIFORME', 'p': 'expanded form of', 'o': 'GBM', 'similarity': 0.21043932}, {'s': 'Glioblastoma', 'p': 'disease has finding', 'o': 'Malignant Cellular Infiltrate', 'similarity': 0.20989858}, {'s': 'Adult Glioblastoma', 'p': 'disease has finding', 'o': 'Microvascular Proliferation', 'similarity': 0.20974013}, {'s': 'Glioblastoma', 'p': 'has a narrower relationship', 'o': 'Malignant neoplasm of brain', 'similarity': 0.20965496}, {'s': 'Adult Glioblastoma', 'p': 'disease has finding', 'o': 'Malignant Cellular Infiltrate', 'similarity': 0.2087125}, {'s': 'Glioblastoma', 'p': 'disease has associated gene', 'o': 'MIRLET7A3 Gene', 'similarity': 0.20733145}, {'s': 'Glioblastoma', 'p': 'disease may have finding', 'o': 'Seizure', 'similarity': 0.20694524}, {'s': 'Childhood Glioblastoma', 'p': 'has a narrower relationship', 'o': 'Glioblastoma', 'similarity': 0.20634744}, {'s': 'Adult Glioblastoma', 'p': 'disease has finding', 'o': 'Diffuse Pattern', 'similarity': 0.20577098}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'radiotherapy', 'similarity': 0.20505565}, {'s': 'Glioblastoma', 'p': 'disease has associated gene', 'o': 'MIR137 Gene', 'similarity': 0.20503493}, {'s': 'risk', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'high-risk group', 'similarity': 0.2047599}, {'s': 'Glioblastoma', 'p': 'disease has associated gene', 'o': 'MIR222 Gene', 'similarity': 0.20454676}, {'s': 'Glioblastoma', 'p': 'source asserted synonymy', 'o': 'Glioblastoma multiforme', 'similarity': 0.20335191}, {'s': 'Childhood Glioblastoma', 'p': 'disease may have molecular abnormality', 'o': 'EGFR Gene Amplification', 'similarity': 0.2027451}, {'s': 'Glioblastoma', 'p': 'disease has associated gene', 'o': 'MIR451A Gene', 'similarity': 0.20181903}, {'s': 'Glioblastoma', 'p': 'inverse isa', 'o': 'Childhood Glioblastoma', 'similarity': 0.20174402}, {'s': 'Glioblastoma', 'p': 'disease has associated gene', 'o': 'ERBB2 Gene', 'similarity': 0.20147459}, {'s': 'Increase', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Heightened', 'similarity': 0.20143972}, {'s': 'Adult Glioblastoma', 'p': 'disease is grade', 'o': 'High Grade', 'similarity': 0.20142248}, {'s': 'Adult Glioblastoma', 'p': 'inverse isa', 'o': 'Adult Brain Glioblastoma', 'similarity': 0.2004455}, {'s': 'Glioblastoma multiforme', 'p': 'mapped to', 'o': 'Glioblastoma', 'similarity': 0.19967252}, {'s': 'Glioblastoma', 'p': 'has a broader relationship', 'o': 'Adult Glioblastoma', 'similarity': 0.19876516}, {'s': 'Glioblastoma Multiforme', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Childhood Glioblastoma', 'similarity': 0.19717479}, {'s': 'Glioblastoma Multiforme', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Adult Glioblastoma', 'similarity': 0.19683829}, {'s': 'Increase', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Increasing (qualifier value)', 'similarity': 0.19621241}, {'s': 'Adult Glioblastoma', 'p': 'disease has finding', 'o': 'Adulthood Lesion', 'similarity': 0.19605553}, {'s': 'Glioblastoma', 'p': 'disease has associated gene', 'o': 'YEATS4 Gene', 'similarity': 0.19574927}, {'s': 'Childhood Glioblastoma', 'p': 'pathogenesis of disease involves gene', 'o': 'TP53 Gene', 'similarity': 0.19558394}, {'s': 'Risks', 'p': 'component of', 'o': \"Protocol for Responding to and Assessing Patients' Assets, Risks, and Experiences:-:Pt:^Patient:-:PRAPARE\", 'similarity': 0.1951578}, {'s': 'Childhood Glioblastoma', 'p': 'disease may have finding', 'o': 'Headache', 'similarity': 0.19452515}, {'s': 'Adult Glioblastoma', 'p': 'disease may have molecular abnormality', 'o': 'PTEN Gene Inactivation', 'similarity': 0.19447564}, {'s': 'Adult Glioblastoma', 'p': 'pathogenesis of disease involves gene', 'o': 'MDM2 wt Allele', 'similarity': 0.19442438}, {'s': 'Glioblastoma', 'p': 'inverse isa', 'o': 'Small Cell Glioblastoma', 'similarity': 0.19435254}, {'s': 'Adult Glioblastoma', 'p': 'disease may have finding', 'o': 'Seizure', 'similarity': 0.19419767}, {'s': 'Glioblastoma', 'p': 'disease may have finding', 'o': 'Unfavorable Clinical Outcome', 'similarity': 0.19361068}, {'s': 'Glioblastoma', 'p': 'disease has associated gene', 'o': 'MIR221 Gene', 'similarity': 0.19279873}, {'s': 'Adult Glioblastoma', 'p': 'disease may have finding', 'o': 'Unfavorable Clinical Outcome', 'similarity': 0.19240203}, {'s': 'Adult Glioblastoma', 'p': 'pathogenesis of disease involves gene', 'o': 'MDM2 SNP309 Allele', 'similarity': 0.19237417}, {'s': 'Adult Glioblastoma', 'p': 'pathogenesis of disease involves gene', 'o': 'TP53*1 Allele', 'similarity': 0.19220194}, {'s': 'Glioblastoma', 'p': 'has permuted term', 'o': 'Glioblastomas', 'similarity': 0.19162457}, {'s': 'Glioblastoma multiforme', 'p': 'source asserted synonymy', 'o': 'Glioblastoma', 'similarity': 0.19147654}, {'s': 'Glioblastoma', 'p': 'isa', 'o': 'High Grade Astrocytic Tumor', 'similarity': 0.18953189}, {'s': 'Glioblastoma', 'p': 'mapped from', 'o': 'Glioblastoma multiforme', 'similarity': 0.18860468}, {'s': 'Glioblastoma', 'p': 'inverse isa', 'o': 'Multifocal Glioblastomas', 'similarity': 0.18812296}, {'s': 'Glioblastoma', 'p': 'may be treated by', 'o': 'bevacizumab-bvzr', 'similarity': 0.18726829}, {'s': 'Glioblastoma', 'p': 'disease has associated gene', 'o': 'MIR222 wt Allele', 'similarity': 0.18609394}, {'s': 'risk', 'p': 'has parent relationship in a Metathesaurus source vocabulary', 'o': 'risk-benefit analysis', 'similarity': 0.18585083}, {'s': 'Device Smoking', 'p': 'concept in subset', 'o': 'CDRH Medical Device Problem Code Terminology', 'similarity': 0.18400839}, {'s': 'Childhood Glioblastoma', 'p': 'disease has finding', 'o': 'Infiltrative Growth Pattern', 'similarity': 0.18162565}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'drug therapy', 'similarity': 0.18138139}, {'s': 'Childhood Glioblastoma', 'p': 'disease has finding', 'o': 'High Grade Lesion', 'similarity': 0.181001}, {'s': 'Glioblastoma multiforme', 'p': 'replaces', 'o': 'obsolete Glioblastoma', 'similarity': 0.1807051}, {'s': 'Glioblastoma', 'p': 'may be treated by', 'o': 'bevacizumab-awwb', 'similarity': 0.18041815}, {'s': 'Increase', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'hyperacidity', 'similarity': 0.18036091}, {'s': 'Glioblastoma', 'p': 'disease has associated gene', 'o': 'MIR21 wt Allele', 'similarity': 0.18016934}, {'s': 'Childhood Glioblastoma', 'p': 'inverse isa', 'o': 'Childhood Brain Glioblastoma', 'similarity': 0.18002136}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'psychology', 'similarity': 0.17910084}, {'s': 'Glioblastoma', 'p': 'has a broader relationship', 'o': 'Giant Cell Glioblastoma', 'similarity': 0.17701101}, {'s': 'Childhood Glioblastoma', 'p': 'disease has finding', 'o': 'Anaplastic Lesion', 'similarity': 0.17548895}, {'s': 'Glioblastoma', 'p': 'disease may have molecular abnormality', 'o': 'PTEN Gene Inactivation', 'similarity': 0.17490573}, {'s': 'Glioblastoma', 'p': 'disease has associated gene', 'o': 'MIRLET7A1 wt Allele', 'similarity': 0.17468593}, {'s': 'Adult Glioblastoma', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Glioblastoma Multiforme', 'similarity': 0.17428002}, {'s': 'Childhood Glioblastoma', 'p': 'pathogenesis of disease involves gene', 'o': 'TP53 wt Allele', 'similarity': 0.1740298}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'surgery', 'similarity': 0.17380127}, {'s': 'Increase', 'p': 'isa', 'o': 'Action', 'similarity': 0.17352208}, {'s': 'Glioblastoma', 'p': 'disease has associated gene', 'o': 'MIRLET7A3 wt Allele', 'similarity': 0.17324828}, {'s': 'Childhood Glioblastoma', 'p': 'disease has finding', 'o': 'Necrotic Change', 'similarity': 0.17141654}, {'s': 'risk', 'p': 'has child relationship in a Metathesaurus source vocabulary', 'o': 'expectation', 'similarity': 0.17112887}, {'s': 'Glioblastoma', 'p': 'disease has associated gene', 'o': 'MIR124-1 wt Allele', 'similarity': 0.17068776}, {'s': 'Childhood Glioblastoma', 'p': 'disease has finding', 'o': 'Nuclear Atypia', 'similarity': 0.16858357}, {'s': 'GBM', 'p': 'has expanded form', 'o': 'GLIOBLASTOMA MULTIFORME', 'similarity': 0.16811216}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'diet therapy', 'similarity': 0.1671304}, {'s': 'Childhood Glioblastoma', 'p': 'disease may have molecular abnormality', 'o': 'PDGFRA Gene Mutation', 'similarity': 0.16668233}, {'s': 'Glioblastoma', 'p': 'disease has associated gene', 'o': 'ERBB2 wt Allele', 'similarity': 0.16619217}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'mortality', 'similarity': 0.1658372}, {'s': 'childhood glioblastoma', 'p': 'inverse isa', 'o': 'untreated childhood glioblastoma', 'similarity': 0.16578461}, {'s': 'obsolete Glioblastoma', 'p': 'replaced by', 'o': 'Glioblastoma multiforme', 'similarity': 0.16553101}, {'s': 'spongioblastoma multiforme', 'p': 'use', 'o': 'glioblastoma multiforme', 'similarity': 0.16531457}, {'s': 'Childhood Glioblastoma', 'p': 'disease is grade', 'o': 'High Grade', 'similarity': 0.16530845}, {'s': 'adult glioblastoma', 'p': 'inverse isa', 'o': 'adult giant cell glioblastoma', 'similarity': 0.16456026}, {'s': 'Adult Glioblastoma', 'p': 'inverse isa', 'o': 'Adult Giant Cell Glioblastoma', 'similarity': 0.16456026}, {'s': 'Glioblastoma', 'p': 'has a broader relationship', 'o': 'Childhood Glioblastoma', 'similarity': 0.16347054}, {'s': 'Glioblastoma', 'p': 'disease has associated gene', 'o': 'MIR451A wt Allele', 'similarity': 0.16221721}, {'s': 'Glioblastoma', 'p': 'disease has associated gene', 'o': 'IDH1 wt Allele', 'similarity': 0.16217947}, {'s': 'Glioblastoma', 'p': 'disease has associated gene', 'o': 'MIR221 wt Allele', 'similarity': 0.16176006}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease may have finding', 'o': 'Headache', 'similarity': 0.16074467}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'urine', 'similarity': 0.16066366}, {'s': 'Glioblastoma', 'p': 'disease has finding', 'o': 'Mitotic Activity', 'similarity': 0.15861623}, {'s': 'Glioblastoma Multiforme', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Glioma of Brain, Familial', 'similarity': 0.15816528}, {'s': 'Risk', 'p': 'isa', 'o': 'Conceptual Entity', 'similarity': 0.15781641}, {'s': 'Childhood Glioblastoma', 'p': 'disease has finding', 'o': 'Malignant Cellular Infiltrate', 'similarity': 0.1573537}, {'s': 'Glioblastoma', 'p': 'inverse isa', 'o': 'Glioblastoma with Primitive Neuronal Component', 'similarity': 0.15715595}, {'s': 'Adult Glioblastoma', 'p': 'disease is grade', 'o': 'Grade 4', 'similarity': 0.15674946}, {'s': 'Adult Glioblastoma', 'p': 'disease has abnormal cell', 'o': 'Neoplastic Astrocyte', 'similarity': 0.1564346}, {'s': 'Glioblastoma', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Mouse Glioblastoma', 'similarity': 0.15576817}, {'s': 'Childhood Glioblastoma', 'p': 'pathogenesis of disease involves gene', 'o': 'TP53*1 Allele', 'similarity': 0.15529892}, {'s': 'Glioblastoma', 'p': 'disease has associated gene', 'o': 'MIR137 wt Allele', 'similarity': 0.15481704}, {'s': 'Childhood Glioblastoma', 'p': 'disease has finding', 'o': 'Childhood Lesion', 'similarity': 0.15311238}, {'s': 'glioblastoma multiforme', 'p': 'used for', 'o': 'giant cell glioblastoma', 'similarity': 0.15295672}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has finding', 'o': 'High Grade Lesion', 'similarity': 0.15246573}, {'s': 'Glioblastoma', 'p': 'is associated disease of', 'o': 'Turcot Syndrome Type 1', 'similarity': 0.15235086}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has finding', 'o': 'Nuclear Atypia', 'similarity': 0.15227866}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has finding', 'o': 'Infiltrative Growth Pattern', 'similarity': 0.15225565}, {'s': 'Risk', 'p': 'has parent relationship in a Metathesaurus source vocabulary', 'o': 'Logistic Models', 'similarity': 0.15128358}, {'s': 'Glioblastoma', 'p': 'isa', 'o': 'Anaplastic Malignant Neoplasm', 'similarity': 0.15113154}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'congenital', 'similarity': 0.14925511}, {'s': 'Device Smoking', 'p': 'concept in subset', 'o': 'FDA Center For Devices and Radiological Health Terminology', 'similarity': 0.14913285}, {'s': 'Childhood Glioblastoma', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Glioblastoma Multiforme', 'similarity': 0.14899823}, {'s': 'Glioblastoma', 'p': 'may be treated by', 'o': 'bevacizumab', 'similarity': 0.1489537}, {'s': 'Increase', 'p': 'concept in subset', 'o': 'CDISC SDTM Tumor Response Result Terminology', 'similarity': 0.14861792}, {'s': 'Adult Glioblastoma', 'p': 'disease excludes finding', 'o': 'Benign Cellular Infiltrate', 'similarity': 0.14817072}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'blood supply', 'similarity': 0.14717555}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'etiology', 'similarity': 0.1469234}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease is grade', 'o': 'High Grade', 'similarity': 0.1467613}, {'s': 'Adult Glioblastoma', 'p': 'disease has associated anatomic site', 'o': 'Nervous System', 'similarity': 0.14655358}, {'s': 'Risk', 'p': 'has parent relationship in a Metathesaurus source vocabulary', 'o': 'Protective Factors', 'similarity': 0.14621514}, {'s': 'Glioblastoma', 'p': 'disease is grade', 'o': 'Grade 4', 'similarity': 0.14547637}, {'s': 'Childhood Glioblastoma', 'p': 'disease may have finding', 'o': 'Seizure', 'similarity': 0.14544134}, {'s': 'Childhood Glioblastoma', 'p': 'disease has finding', 'o': 'Diffuse Pattern', 'similarity': 0.14510712}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'chemically induced', 'similarity': 0.14480361}, {'s': 'Glioblastoma', 'p': 'disease has associated gene', 'o': 'YEATS4 wt Allele', 'similarity': 0.14459163}, {'s': 'Adult Glioblastoma', 'p': 'isa', 'o': 'Glioblastoma', 'similarity': 0.14436798}, {'s': 'Childhood Glioblastoma', 'p': 'disease may have molecular abnormality', 'o': 'PTEN Gene Inactivation', 'similarity': 0.14357209}, {'s': 'glioblastoma multiforme', 'p': 'used for', 'o': 'spongioblastoma multiforme', 'similarity': 0.14268674}, {'s': 'Childhood Glioblastoma', 'p': 'disease has finding', 'o': 'Microvascular Proliferation', 'similarity': 0.1425996}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has finding', 'o': 'Anaplastic Lesion', 'similarity': 0.142529}, {'s': 'Glioblastoma', 'p': 'inverse isa', 'o': 'Glioblastoma, Not Otherwise Specified', 'similarity': 0.14165139}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'genetics', 'similarity': 0.14110053}, {'s': 'glioblastoma multiforme', 'p': 'used for', 'o': 'anaplastic astrocytoma', 'similarity': 0.14023799}, {'s': 'Glioblastoma', 'p': 'associated with malfunction of gene product', 'o': 'Isocitrate Dehydrogenase [NADP] Cytoplasmic', 'similarity': 0.14008611}, {'s': 'Adult Glioblastoma', 'p': 'disease has abnormal cell', 'o': 'Malignant Cell', 'similarity': 0.13918151}, {'s': 'Glioblastoma', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Anaplastic astrocytoma', 'similarity': 0.13915613}, {'s': 'Glioblastoma', 'p': 'disease has associated anatomic site', 'o': 'Nervous System', 'similarity': 0.13893211}, {'s': 'adult glioblastoma', 'p': 'inverse isa', 'o': 'adult gliosarcoma', 'similarity': 0.13831511}, {'s': 'Adult Glioblastoma', 'p': 'inverse isa', 'o': 'Adult Gliosarcoma', 'similarity': 0.13831511}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'rehabilitation', 'similarity': 0.13759868}, {'s': 'Glioblastoma', 'p': 'disease has normal cell origin', 'o': 'Astrocyte', 'similarity': 0.1369407}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'metabolism', 'similarity': 0.13629958}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has finding', 'o': 'Necrotic Change', 'similarity': 0.13627447}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'ultrastructure', 'similarity': 0.13560338}, {'s': 'Adult Glioblastoma', 'p': 'disease has normal cell origin', 'o': 'Astrocyte', 'similarity': 0.13527161}, {'s': 'Glioblastoma', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Dysplastic Lhermitte-Duclos Gangliocytoma of Mouse Cerebellum', 'similarity': 0.1345878}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'prevention & control', 'similarity': 0.13304469}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'nursing', 'similarity': 0.13256761}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'secondary', 'similarity': 0.13196681}, {'s': 'Adult Glioblastoma', 'p': 'disease may have molecular abnormality', 'o': 'EGFR Protein Overexpression', 'similarity': 0.13139552}, {'s': 'Glioblastoma', 'p': 'disease has abnormal cell', 'o': 'Neoplastic Astrocyte', 'similarity': 0.1307731}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'epidemiology', 'similarity': 0.13044392}, {'s': 'Childhood Glioblastoma', 'p': 'disease may have finding', 'o': 'Unfavorable Clinical Outcome', 'similarity': 0.12995762}, {'s': 'Increase', 'p': 'concept in subset', 'o': 'CDISC SDTM Tumor or Lesion Properties Test Result Terminology', 'similarity': 0.12971625}, {'s': 'Adult Glioblastoma', 'p': 'disease has finding', 'o': 'Mitotic Activity', 'similarity': 0.12874486}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'embryology', 'similarity': 0.12855482}, {'s': 'Glioblastoma multiforme', 'p': 'manifestation of', 'o': 'GLIOMA SUSCEPTIBILITY 1', 'similarity': 0.1283993}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'virology', 'similarity': 0.12803274}, {'s': 'Adult Glioblastoma', 'p': 'isa', 'o': 'Adult Infiltrating Astrocytic Tumor', 'similarity': 0.12802012}, {'s': 'Glioblastoma', 'p': 'disease excludes finding', 'o': 'Benign Cellular Infiltrate', 'similarity': 0.12706757}, {'s': 'Glioblastoma', 'p': 'isa', 'o': 'Diffuse Glioma', 'similarity': 0.1252026}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'complications', 'similarity': 0.124911904}, {'s': 'childhood glioblastoma', 'p': 'inverse isa', 'o': 'recurrent childhood glioblastoma', 'similarity': 0.12377827}, {'s': 'Childhood Glioblastoma', 'p': 'inverse isa', 'o': 'Recurrent Childhood Glioblastoma', 'similarity': 0.12377827}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has finding', 'o': 'Malignant Cellular Infiltrate', 'similarity': 0.12157882}, {'s': 'Glioblastoma', 'p': 'manifestation of', 'o': 'GLIOMA SUSCEPTIBILITY 3', 'similarity': 0.121023245}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'therapy', 'similarity': 0.12049237}, {'s': 'adult glioblastoma', 'p': 'isa', 'o': 'adult astrocytic tumors', 'similarity': 0.12002702}, {'s': 'Adult Glioblastoma', 'p': 'disease has abnormal cell', 'o': 'Poorly Differentiated Neoplastic Astrocyte', 'similarity': 0.119722515}, {'s': 'Glioblastomas', 'p': 'permuted term of', 'o': 'Glioblastoma', 'similarity': 0.119301334}, {'s': 'childhood glioblastoma', 'p': 'inverse isa', 'o': 'childhood giant cell glioblastoma', 'similarity': 0.116636455}, {'s': 'Childhood Glioblastoma', 'p': 'inverse isa', 'o': 'Childhood Giant Cell Glioblastoma', 'similarity': 0.116636455}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has finding', 'o': 'Microvascular Proliferation', 'similarity': 0.116599545}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'pathology', 'similarity': 0.115780696}, {'s': 'Glioblastoma', 'p': 'disease has abnormal cell', 'o': 'Malignant Cell', 'similarity': 0.11511637}, {'s': 'Childhood Glioblastoma', 'p': 'isa', 'o': 'Childhood Astrocytic Tumor', 'similarity': 0.11499589}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'enzymology', 'similarity': 0.1125375}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'diagnostic imaging', 'similarity': 0.1122679}, {'s': 'Glioblastoma', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Choriocarcinoma of the Mouse Nervous System', 'similarity': 0.11137014}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has finding', 'o': 'Diffuse Pattern', 'similarity': 0.11109533}, {'s': 'Adult Glioblastoma', 'p': 'disease may have molecular abnormality', 'o': 'PDGFRalpha Protein Overexpression', 'similarity': 0.109009296}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'isa', 'o': 'Glioblastoma', 'similarity': 0.10866016}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'CPTAC Neoplasms Codelist', 'similarity': 0.10831055}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'immunology', 'similarity': 0.10809408}, {'s': 'Adult Glioblastoma', 'p': 'disease has associated anatomic site', 'o': 'Central Nervous System', 'similarity': 0.10792929}, {'s': 'Childhood Glioblastoma', 'p': 'disease has abnormal cell', 'o': 'Neoplastic Astrocyte', 'similarity': 0.107062064}, {'s': 'Adult Glioblastoma', 'p': 'disease has abnormal cell', 'o': 'Neoplastic Cell', 'similarity': 0.10678762}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'ethnology', 'similarity': 0.10608785}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease may have finding', 'o': 'Seizure', 'similarity': 0.10572881}, {'s': 'Glioblastoma', 'p': 'human disease maps to eo disease', 'o': 'Mouse Glioblastoma', 'similarity': 0.10526565}, {'s': 'Glioblastoma', 'p': 'disease has associated anatomic site', 'o': 'Central Nervous System', 'similarity': 0.10419935}, {'s': 'Glioblastoma', 'p': 'disease has abnormal cell', 'o': 'Poorly Differentiated Neoplastic Astrocyte', 'similarity': 0.10409129}, {'s': 'Childhood Glioblastoma', 'p': 'disease is grade', 'o': 'Grade 4', 'similarity': 0.10299781}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'CPTAC Glioblastoma Multiforme Baseline Form', 'similarity': 0.102466404}, {'s': 'Adult Glioblastoma', 'p': 'disease has primary anatomic site', 'o': 'Central Nervous System', 'similarity': 0.102455206}, {'s': 'Glioblastoma', 'p': 'disease has primary anatomic site', 'o': 'Central Nervous System', 'similarity': 0.10076019}, {'s': 'Adult Glioblastoma', 'p': 'disease has normal cell origin', 'o': 'Glial Cell', 'similarity': 0.099532604}, {'s': 'Childhood Glioblastoma', 'p': 'isa', 'o': 'Glioblastoma', 'similarity': 0.0990381}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'CPTAC Glioblastoma Multiforme Follow-Up Form', 'similarity': 0.0985221}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'parasitology', 'similarity': 0.09727659}, {'s': 'Adult Glioblastoma', 'p': 'disease has abnormal cell', 'o': 'Neoplastic Glial Cell', 'similarity': 0.096000955}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'diagnosis', 'similarity': 0.09588881}, {'s': 'Childhood Glioblastoma', 'p': 'disease has abnormal cell', 'o': 'Malignant Cell', 'similarity': 0.095098406}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'economics', 'similarity': 0.09508171}, {'s': 'Childhood Glioblastoma', 'p': 'disease has normal cell origin', 'o': 'Astrocyte', 'similarity': 0.09465862}, {'s': 'Glioblastoma', 'p': 'has relationship other than synonymous, narrower, or broader', 'o': 'Diffuse Melanocytosis of the Mouse Nervous System', 'similarity': 0.09354076}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'microbiology', 'similarity': 0.09265701}, {'s': 'Increase', 'p': 'concept in subset', 'o': 'Clinical Data Interchange Standards Consortium Terminology', 'similarity': 0.092076436}, {'s': 'Glioblastoma', 'p': 'disease has normal cell origin', 'o': 'Glial Cell', 'similarity': 0.091986}, {'s': 'Childhood Glioblastoma', 'p': 'disease has associated anatomic site', 'o': 'Nervous System', 'similarity': 0.09180692}, {'s': 'childhood high-grade cerebral astrocytoma', 'p': 'isa', 'o': 'childhood cerebral astrocytoma/malignant glioma', 'similarity': 0.09134832}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'blood', 'similarity': 0.090898655}, {'s': 'Adult Glioblastoma', 'p': 'disease has abnormal cell', 'o': 'Neoplastic Neuroepithelial Cell', 'similarity': 0.09081814}, {'s': 'Increase', 'p': 'concept in subset', 'o': 'CDISC SDTM Terminology', 'similarity': 0.090775326}, {'s': 'Childhood Glioblastoma', 'p': 'disease has finding', 'o': 'Mitotic Activity', 'similarity': 0.089668676}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease may have finding', 'o': 'Unfavorable Clinical Outcome', 'similarity': 0.08912084}, {'s': 'Glioblastoma multiforme', 'p': 'isa', 'o': 'Glioma', 'similarity': 0.08783825}, {'s': 'childhood glioblastoma', 'p': 'inverse isa', 'o': 'childhood gliosarcoma', 'similarity': 0.08690639}, {'s': 'Childhood Glioblastoma', 'p': 'inverse isa', 'o': 'Childhood Gliosarcoma', 'similarity': 0.08690639}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'physiopathology', 'similarity': 0.08607485}, {'s': 'Glioblastoma', 'p': 'has child relationship in a Metathesaurus source vocabulary', 'o': 'NEOPLASIA', 'similarity': 0.08550161}, {'s': 'Childhood Glioblastoma', 'p': 'disease excludes finding', 'o': 'Benign Cellular Infiltrate', 'similarity': 0.08432542}, {'s': 'Childhood Glioblastoma', 'p': 'disease may have molecular abnormality', 'o': 'EGFR Protein Overexpression', 'similarity': 0.083973065}, {'s': 'Glioblastoma multiforme', 'p': 'has child relationship in a Metathesaurus source vocabulary', 'o': 'NEOPLASIA', 'similarity': 0.08382469}, {'s': 'Childhood Glioblastoma', 'p': 'isa', 'o': 'Malignant Childhood Central Nervous System Neoplasm', 'similarity': 0.08286014}, {'s': 'Glioblastoma', 'p': 'disease has abnormal cell', 'o': 'Neoplastic Cell', 'similarity': 0.08105995}, {'s': 'Adult Glioblastoma', 'p': 'disease has normal tissue origin', 'o': 'Neuroepithelial Tissue', 'similarity': 0.08033319}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'veterinary', 'similarity': 0.07885706}, {'s': 'glioblastoma multiforme', 'p': 'has child relationship in a Metathesaurus source vocabulary', 'o': 'astrocytoma', 'similarity': 0.07715426}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'cerebrospinal fluid', 'similarity': 0.0766484}, {'s': 'glioblastoma multiforme', 'p': 'has child relationship in a Metathesaurus source vocabulary', 'o': 'glioma', 'similarity': 0.07659028}, {'s': 'Glioblastoma', 'p': 'associated with malfunction of gene product', 'o': 'YEATS Domain-Containing Protein 4', 'similarity': 0.07657158}, {'s': 'Glioblastoma', 'p': 'has child relationship in a Metathesaurus source vocabulary', 'o': 'Astrocytoma', 'similarity': 0.07571739}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease may have molecular abnormality', 'o': 'PTEN Gene Inactivation', 'similarity': 0.075076744}, {'s': 'Glioblastoma', 'p': 'associated with malfunction of gene product', 'o': 'Zinc Finger Protein GLI1', 'similarity': 0.07357389}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'CPTAC Baseline Medical Forms Terminology', 'similarity': 0.0731871}, {'s': 'Glioblastoma', 'p': 'disease has abnormal cell', 'o': 'Neoplastic Glial Cell', 'similarity': 0.07196425}, {'s': 'Astrocytoma, Grade IV', 'p': 'has permuted term', 'o': 'Grade IV Astrocytomas', 'similarity': 0.07156852}, {'s': 'Grade IV Astrocytomas', 'p': 'permuted term of', 'o': 'Astrocytoma, Grade IV', 'similarity': 0.07080212}, {'s': 'Subject Risk', 'p': 'concept in subset', 'o': 'Clinical Data Interchange Standards Consortium Terminology', 'similarity': 0.07056165}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'CELLOSAURUS Disease Terminology', 'similarity': 0.07016327}, {'s': 'Adult Glioblastoma', 'p': 'disease has normal cell origin', 'o': 'Neuroepithelial Cell', 'similarity': 0.07011629}, {'s': 'Childhood Glioblastoma', 'p': 'disease has abnormal cell', 'o': 'Poorly Differentiated Neoplastic Astrocyte', 'similarity': 0.07000018}, {'s': 'Glioblastoma', 'p': 'human disease maps to eo disease', 'o': 'Mouse Gliosarcoma', 'similarity': 0.06965941}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'GDC Tumor Code ID Terminology', 'similarity': 0.06840593}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease is grade', 'o': 'Grade 4', 'similarity': 0.06823446}, {'s': 'Glioblastoma', 'p': 'human disease maps to eo disease', 'o': 'Mouse Giant Cell Glioblastoma', 'similarity': 0.068231106}, {'s': 'Astrocytomas, Grade IV', 'p': 'permuted term of', 'o': 'Astrocytoma, Grade IV', 'similarity': 0.06796171}, {'s': 'Adult Glioblastoma', 'p': 'concept in subset', 'o': 'CTRP Disease Terminology', 'similarity': 0.067499384}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'chemistry', 'similarity': 0.06672159}, {'s': 'Glioblastoma', 'p': 'disease has abnormal cell', 'o': 'Neoplastic Neuroepithelial Cell', 'similarity': 0.06356957}, {'s': 'Childhood Glioblastoma', 'p': 'disease has abnormal cell', 'o': 'Neoplastic Cell', 'similarity': 0.06324535}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has finding', 'o': 'Mitotic Activity', 'similarity': 0.0630364}, {'s': 'Childhood Glioblastoma', 'p': 'disease has associated anatomic site', 'o': 'Central Nervous System', 'similarity': 0.062428568}, {'s': 'Subject Risk', 'p': 'concept in subset', 'o': 'CDISC Glossary Terminology', 'similarity': 0.062384732}, {'s': 'Glioblastoma', 'p': 'disease has normal tissue origin', 'o': 'Neuroepithelial Tissue', 'similarity': 0.062180027}, {'s': 'Childhood Glioblastoma', 'p': 'disease has primary anatomic site', 'o': 'Central Nervous System', 'similarity': 0.06194821}, {'s': 'Childhood Glioblastoma', 'p': 'disease has normal cell origin', 'o': 'Glial Cell', 'similarity': 0.061782926}, {'s': 'Childhood Glioblastoma', 'p': 'disease may have molecular abnormality', 'o': 'PDGFRalpha Protein Overexpression', 'similarity': 0.06036353}, {'s': 'childhood high-grade cerebral astrocytoma', 'p': 'isa', 'o': 'childhood high-grade untreated astrocytoma or other tumor of glial origin', 'similarity': 0.0601945}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has abnormal cell', 'o': 'Neoplastic Astrocyte', 'similarity': 0.060099382}, {'s': 'Astrocytoma, Grade IV', 'p': 'has permuted term', 'o': 'Astrocytomas, Grade IV', 'similarity': 0.059706494}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease excludes finding', 'o': 'Benign Cellular Infiltrate', 'similarity': 0.05888644}, {'s': 'Childhood Glioblastoma', 'p': 'disease has abnormal cell', 'o': 'Neoplastic Glial Cell', 'similarity': 0.058617093}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'CPTAC Codelists Terminology', 'similarity': 0.0570456}, {'s': 'Adult Glioblastoma', 'p': 'disease has normal tissue origin', 'o': 'Nerve Tissue, Neuroepithelial Tissue, and Nerve Sheaths', 'similarity': 0.056224138}, {'s': 'Glioblastoma', 'p': 'disease has normal cell origin', 'o': 'Neuroepithelial Cell', 'similarity': 0.05622193}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'GDC Tumor Code Terminology', 'similarity': 0.054584537}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has associated anatomic site', 'o': 'Nervous System', 'similarity': 0.054143194}, {'s': 'Grade IV Astrocytoma', 'p': 'permuted term of', 'o': 'Astrocytoma, Grade IV', 'similarity': 0.05387963}, {'s': 'Astrocytoma, Grade IV', 'p': 'has permuted term', 'o': 'Grade IV Astrocytoma', 'similarity': 0.051734135}, {'s': 'Childhood Glioblastoma', 'p': 'disease has abnormal cell', 'o': 'Neoplastic Neuroepithelial Cell', 'similarity': 0.049707636}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has abnormal cell', 'o': 'Malignant Cell', 'similarity': 0.04908255}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has normal cell origin', 'o': 'Astrocyte', 'similarity': 0.044433087}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'Mapped ICDO3.2 Morphology Terminology', 'similarity': 0.043692917}, {'s': 'Glioblastoma', 'p': 'disease has normal tissue origin', 'o': 'Nerve Tissue, Neuroepithelial Tissue, and Nerve Sheaths', 'similarity': 0.04153563}, {'s': 'Adult Glioblastoma', 'p': 'disease excludes finding', 'o': 'Indolent Clinical Course', 'similarity': 0.04030521}, {'s': 'Childhood Glioblastoma', 'p': 'disease has normal tissue origin', 'o': 'Neuroepithelial Tissue', 'similarity': 0.03907865}, {'s': 'Childhood Glioblastoma', 'p': 'concept in subset', 'o': 'CTRP Disease Terminology', 'similarity': 0.036123693}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'Mapped ICDO3.1 Morphology Terminology', 'similarity': 0.034425274}, {'s': 'Adult Glioblastoma', 'p': 'concept in subset', 'o': 'CTRP Terminology', 'similarity': 0.03279651}, {'s': 'Childhood Glioblastoma', 'p': 'concept in subset', 'o': 'Pediatric Hematology-Oncology Terminology', 'similarity': 0.032628827}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'classification', 'similarity': 0.03210415}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'GDC Value Terminology', 'similarity': 0.03205379}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has primary anatomic site', 'o': 'Central Nervous System', 'similarity': 0.03111623}, {'s': 'Childhood Glioblastoma', 'p': 'disease has normal cell origin', 'o': 'Neuroepithelial Cell', 'similarity': 0.030254368}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'Mapped ICDO3.2 Terminology', 'similarity': 0.030081987}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'Mapped ICDO3.2 Morphology PT Terminology', 'similarity': 0.028577639}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'GDC Relationship Primary Diagnosis Terminology', 'similarity': 0.027904332}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'CPTAC Terminology', 'similarity': 0.027778085}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has associated anatomic site', 'o': 'Central Nervous System', 'similarity': 0.026962679}, {'s': 'Glioblastoma', 'p': 'can be qualified by', 'o': 'history', 'similarity': 0.026908576}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has finding', 'o': 'IDH Gene Family Mutation Status Unknown', 'similarity': 0.026700882}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has abnormal cell', 'o': 'Poorly Differentiated Neoplastic Astrocyte', 'similarity': 0.026667776}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'CPTAC Follow-Up Forms Terminology', 'similarity': 0.026618812}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'CTS-API Disease Main Type Terminology', 'similarity': 0.02651348}, {'s': 'Adult Glioblastoma', 'p': 'disease has abnormal cell', 'o': 'Neoplastic Neuroepithelial Cell and Neoplastic Perineural Cell', 'similarity': 0.025969971}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'Mapped ICDO3.1 Morphology PT Terminology', 'similarity': 0.022543047}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'Mapped ICDO3.1 Terminology', 'similarity': 0.021785025}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'NCI CTEP Simplified Disease Classification Terminology', 'similarity': 0.020934662}, {'s': 'Childhood Glioblastoma', 'p': 'has a broader relationship', 'o': 'Grade III Childhood Astrocytoma', 'similarity': 0.018787509}, {'s': 'Childhood Glioblastoma', 'p': 'disease has normal tissue origin', 'o': 'Nerve Tissue, Neuroepithelial Tissue, and Nerve Sheaths', 'similarity': 0.018128939}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'GDC Terminology', 'similarity': 0.017318469}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'NCIt Neoplasm Core Terminology', 'similarity': 0.017127948}, {'s': 'Glioblastoma', 'p': 'disease excludes finding', 'o': 'Indolent Clinical Course', 'similarity': 0.017063677}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has normal cell origin', 'o': 'Glial Cell', 'similarity': 0.016277572}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has abnormal cell', 'o': 'Neoplastic Cell', 'similarity': 0.013875334}, {'s': 'Childhood Glioblastoma', 'p': 'concept in subset', 'o': 'NICHD Terminology', 'similarity': 0.01125573}, {'s': 'Adult Glioblastoma', 'p': 'disease has normal cell origin', 'o': 'Neuron, Neuroepithelial Cell, and Supporting Cell of the Nervous System', 'similarity': 0.01083208}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has abnormal cell', 'o': 'Neoplastic Glial Cell', 'similarity': 0.005907653}, {'s': 'childhood glioblastoma', 'p': 'isa', 'o': 'childhood astrocytoma', 'similarity': 0.0031168275}, {'s': 'Glioblastoma', 'p': 'disease has abnormal cell', 'o': 'Neoplastic Neuroepithelial Cell and Neoplastic Perineural Cell', 'similarity': 0.0021619787}, {'s': 'Adult Glioblastoma', 'p': 'disease excludes finding', 'o': 'Precise Histogenesis Unknown', 'similarity': 0.001807454}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has normal tissue origin', 'o': 'Neuroepithelial Tissue', 'similarity': 0.0012121573}, {'s': 'Childhood Glioblastoma', 'p': 'concept in subset', 'o': 'CTRP Terminology', 'similarity': -0.0008327924}, {'s': 'Glioblastoma', 'p': 'disease has normal cell origin', 'o': 'Neuron, Neuroepithelial Cell, and Supporting Cell of the Nervous System', 'similarity': -0.0016291961}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has abnormal cell', 'o': 'Neoplastic Neuroepithelial Cell', 'similarity': -0.005253814}, {'s': 'Childhood Glioblastoma', 'p': 'disease has abnormal cell', 'o': 'Neoplastic Neuroepithelial Cell and Neoplastic Perineural Cell', 'similarity': -0.0053508673}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has normal tissue origin', 'o': 'Nerve Tissue, Neuroepithelial Tissue, and Nerve Sheaths', 'similarity': -0.0058569554}, {'s': 'Glioblastoma', 'p': 'disease excludes finding', 'o': 'Precise Histogenesis Unknown', 'similarity': -0.009963891}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has normal cell origin', 'o': 'Neuroepithelial Cell', 'similarity': -0.017195346}, {'s': 'Childhood Glioblastoma', 'p': 'disease has normal cell origin', 'o': 'Neuron, Neuroepithelial Cell, and Supporting Cell of the Nervous System', 'similarity': -0.01725063}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'NCI CTEP SDC Astrocytoma, High Grade Sub-Category Terminology', 'similarity': -0.01752989}, {'s': 'Childhood Glioblastoma', 'p': 'disease excludes finding', 'o': 'Indolent Clinical Course', 'similarity': -0.022627134}, {'s': 'Glioblastoma', 'p': 'concept in subset', 'o': 'Clinical Trials Search-Application Programming Interface Disease Category Terminology', 'similarity': -0.035414048}, {'s': 'Glioblastoma', 'p': 'neoplasm has special category', 'o': 'Solid Neoplasm', 'similarity': -0.04175637}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease excludes finding', 'o': 'Indolent Clinical Course', 'similarity': -0.04210461}, {'s': 'Childhood Glioblastoma', 'p': 'disease excludes finding', 'o': 'Precise Histogenesis Unknown', 'similarity': -0.042461276}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has normal cell origin', 'o': 'Neuron, Neuroepithelial Cell, and Supporting Cell of the Nervous System', 'similarity': -0.04305055}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'concept in subset', 'o': 'NCIt Neoplasm Core Terminology', 'similarity': -0.046920154}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease has abnormal cell', 'o': 'Neoplastic Neuroepithelial Cell and Neoplastic Perineural Cell', 'similarity': -0.05077523}, {'s': 'Glioblastoma, Not Otherwise Specified', 'p': 'disease excludes finding', 'o': 'Precise Histogenesis Unknown', 'similarity': -0.06216338}]}\n"
+     ]
+    }
+   ],
+   "source": [
+    "print(final_questions[0])"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 35,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "for i in range(0,len(final_questions)):\n",
+    "    for j in range(0,len(final_questions[i][\"triples\"])):\n",
+    "        final_questions[i][\"triples\"][j][\"similarity\"] = str(final_questions[i][\"triples\"][j][\"similarity\"])\n",
+    "with open('../data/100each_sorted_triples.json', 'w') as fout:\n",
+    "    json.dump(final_questions, fout)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# load the file that is used in the creation of the model experiments\n",
+    "final_questions = []\n",
+    "with open('../data/100each_sorted_triples.json', 'r') as fin:\n",
+    "    final_questions = json.load(fin)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 31,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# set up environment\n",
+    "from openai import OpenAI\n",
+    "import os\n",
+    "import dotenv\n",
+    "from groq import Groq\n",
+    "dotenv.load_dotenv()\n",
+    "client = Groq(api_key=os.environ.get(\"GROQ_API_KEY\"))\n",
+    "models = [{\"name\":\"llama3-8b-8192\", \"rpm\":\"30\", \"rpd\":\"14400\", \"tpm\":\"30000\"},\n",
+    "           {\"name\":\"llama3-70b-8192\", \"rpm\":\"30\", \"rpd\":\"14400\", \"tpm\":\"6000\"}, \n",
+    "          # {\"name\":\"mixtral-8x7b-32768\", \"rpm\":\"30\", \"rpd\":\"14400\", \"tpm\":\"5000\"},     ### has some problems with generating just yes or no as output when using function calling; removed after baseline is not too good\n",
+    "           {\"name\":\"gemma-7b-it\", \"rpm\":\"30\", \"rpd\":\"14400\", \"tpm\":\"15000\"},           ### has some problems with generating just yes or no as output when using function calling\n",
+    "           ]\n",
+    "# llama has context window of 8192 and mixtral 32768"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 52,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Error code: 400 - {'error': {'message': \"Failed to call a function. Please adjust your prompt. See 'failed_generation' for more details.\", 'type': 'invalid_request_error', 'code': 'tool_use_failed', 'failed_generation': 'Smoking is related to quitting smoking.\\n\\nSmoking increases the risk of lung cancer.\\n\\nSmoking is a form of tobacco use.\\n\\nSmoking is synonymous with tobacco smoking.\\n\\nSmoking is related to smokeless tobacco.\\n\\nSmoking is a behavior that can be harmful to health.\\n\\nSmoking is a type of pipe smoking.\\n\\nSmoking is related to secondhand smoke.\\n\\nTobacco smoking is a type of smoking behavior.\\n\\nSmoking can have adverse effects on health.\\n\\nSmoking is related to ceasing smoking behaviors.\\n\\nSmoking is a habit that can be difficult to break.\\n\\nSmoking is a type of inhalation-based behavior.\\n\\nSmoking can be done without inhalation.\\n\\nSmoking is related to smoking marijuana.\\n\\nSmoking can be related to nicotine.\\n\\nSmoking is a personal behavior that can influence health.\\n\\nSmoking is a behavior that can be influenced by etiological factors.\\n\\nSmoking can be related to freebasing.\\n\\nSmoking is a type of personal behavior that can be influenced by other behaviors.'}}\n",
+      "Error code: 400 - {'error': {'message': \"Failed to call a function. Please adjust your prompt. See 'failed_generation' for more details.\", 'type': 'invalid_request_error', 'code': 'tool_use_failed', 'failed_generation': \"Here are the reformulated sentences:\\n\\nSmoking is related to quitting smoking and can lead to lung cancer.\\n\\nSmoking is associated with tobacco smoking and can have adverse effects.\\n\\nSmokeless tobacco use is a form of smoking similar to chewing tobacco.\\n\\nSmoking can be used to describe both cigarette smoking and other forms of tobacco use.\\n\\nSmoking habits can be influenced by factors such as nicotine addiction and peer pressure.\\n\\nSmoking is a broader behavior that encompasses many types of tobacco use, including chewing and snuff.\\n\\nSmoking without inhalation is not a common practice and may be harmful if done frequently.\\n\\nSmoking can have long-term effects on a person's health and well-being.\\n\\nSmoking is a form of substance abuse that can be difficult to quit.\\n\\nSmoking can be a habit that is hard to break, but there are many resources available to help people quit.\\n\\nSmoking is a major risk factor for lung cancer and many other serious health problems.\"}}\n"
+     ]
+    },
+    {
+     "ename": "KeyboardInterrupt",
+     "evalue": "",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[0;31mBadRequestError\u001b[0m                           Traceback (most recent call last)",
+      "Cell \u001b[0;32mIn[52], line 28\u001b[0m\n\u001b[1;32m     27\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 28\u001b[0m     chat_completion:SentencesExtract \u001b[38;5;241m=\u001b[39m \u001b[43mclient\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mchat\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcompletions\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcreate\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m     29\u001b[0m \u001b[43m        \u001b[49m\u001b[43mmessages\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m[\u001b[49m\n\u001b[1;32m     30\u001b[0m \u001b[43m                \u001b[49m\u001b[43msystem_message\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m     31\u001b[0m \u001b[43m                \u001b[49m\u001b[43mquestion_message\u001b[49m\n\u001b[1;32m     32\u001b[0m \u001b[43m            \u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m     33\u001b[0m \u001b[43m            \u001b[49m\u001b[43mmodel\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mllama3-8b-8192\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m     34\u001b[0m \u001b[43m            \u001b[49m\u001b[43mresponse_model\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mSentencesExtract\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m     35\u001b[0m \u001b[43m            \u001b[49m\u001b[43mmax_tokens\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m6000\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m     36\u001b[0m \u001b[43m    \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m     37\u001b[0m     responses\u001b[38;5;241m.\u001b[39mappend(chat_completion\u001b[38;5;241m.\u001b[39msentences)\n",
+      "File \u001b[0;32m~/.local/lib/python3.10/site-packages/instructor/client.py:93\u001b[0m, in \u001b[0;36mInstructor.create\u001b[0;34m(self, response_model, messages, max_retries, validation_context, strict, **kwargs)\u001b[0m\n\u001b[1;32m     91\u001b[0m kwargs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandle_kwargs(kwargs)\n\u001b[0;32m---> 93\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcreate_fn\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m     94\u001b[0m \u001b[43m    \u001b[49m\u001b[43mresponse_model\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mresponse_model\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m     95\u001b[0m \u001b[43m    \u001b[49m\u001b[43mmessages\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmessages\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m     96\u001b[0m \u001b[43m    \u001b[49m\u001b[43mmax_retries\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmax_retries\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m     97\u001b[0m \u001b[43m    \u001b[49m\u001b[43mvalidation_context\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mvalidation_context\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m     98\u001b[0m \u001b[43m    \u001b[49m\u001b[43mstrict\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstrict\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m     99\u001b[0m \u001b[43m    \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    100\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n",
+      "File \u001b[0;32m~/.local/lib/python3.10/site-packages/instructor/patch.py:149\u001b[0m, in \u001b[0;36mpatch.<locals>.new_create_sync\u001b[0;34m(response_model, validation_context, max_retries, strict, *args, **kwargs)\u001b[0m\n\u001b[1;32m    146\u001b[0m response_model, new_kwargs \u001b[38;5;241m=\u001b[39m handle_response_model(\n\u001b[1;32m    147\u001b[0m     response_model\u001b[38;5;241m=\u001b[39mresponse_model, mode\u001b[38;5;241m=\u001b[39mmode, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs\n\u001b[1;32m    148\u001b[0m )\n\u001b[0;32m--> 149\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[43mretry_sync\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m    150\u001b[0m \u001b[43m    \u001b[49m\u001b[43mfunc\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfunc\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    151\u001b[0m \u001b[43m    \u001b[49m\u001b[43mresponse_model\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mresponse_model\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    152\u001b[0m \u001b[43m    \u001b[49m\u001b[43mvalidation_context\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mvalidation_context\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    153\u001b[0m \u001b[43m    \u001b[49m\u001b[43mmax_retries\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmax_retries\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    154\u001b[0m \u001b[43m    \u001b[49m\u001b[43margs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    155\u001b[0m \u001b[43m    \u001b[49m\u001b[43mstrict\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstrict\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    156\u001b[0m \u001b[43m    \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnew_kwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    157\u001b[0m \u001b[43m    \u001b[49m\u001b[43mmode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmode\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    158\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    159\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m response\n",
+      "File \u001b[0;32m~/.local/lib/python3.10/site-packages/instructor/retry.py:160\u001b[0m, in \u001b[0;36mretry_sync\u001b[0;34m(func, response_model, validation_context, args, kwargs, max_retries, strict, mode)\u001b[0m\n\u001b[1;32m    159\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 160\u001b[0m     \u001b[38;5;28;01mfor\u001b[39;00m attempt \u001b[38;5;129;01min\u001b[39;00m max_retries:\n\u001b[1;32m    161\u001b[0m         \u001b[38;5;28;01mwith\u001b[39;00m attempt:\n",
+      "File \u001b[0;32m~/.local/lib/python3.10/site-packages/tenacity/__init__.py:435\u001b[0m, in \u001b[0;36mBaseRetrying.__iter__\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m    434\u001b[0m \u001b[38;5;28;01mwhile\u001b[39;00m \u001b[38;5;28;01mTrue\u001b[39;00m:\n\u001b[0;32m--> 435\u001b[0m     do \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43miter\u001b[49m\u001b[43m(\u001b[49m\u001b[43mretry_state\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mretry_state\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    436\u001b[0m     \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(do, DoAttempt):\n",
+      "File \u001b[0;32m~/.local/lib/python3.10/site-packages/tenacity/__init__.py:368\u001b[0m, in \u001b[0;36mBaseRetrying.iter\u001b[0;34m(self, retry_state)\u001b[0m\n\u001b[1;32m    367\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m action \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39miter_state\u001b[38;5;241m.\u001b[39mactions:\n\u001b[0;32m--> 368\u001b[0m     result \u001b[38;5;241m=\u001b[39m \u001b[43maction\u001b[49m\u001b[43m(\u001b[49m\u001b[43mretry_state\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    369\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m result\n",
+      "File \u001b[0;32m~/.local/lib/python3.10/site-packages/tenacity/__init__.py:410\u001b[0m, in \u001b[0;36mBaseRetrying._post_stop_check_actions.<locals>.exc_check\u001b[0;34m(rs)\u001b[0m\n\u001b[1;32m    409\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mreraise:\n\u001b[0;32m--> 410\u001b[0m     \u001b[38;5;28;01mraise\u001b[39;00m \u001b[43mretry_exc\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mreraise\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    411\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m retry_exc \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mfut\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mexception\u001b[39;00m()\n",
+      "File \u001b[0;32m~/.local/lib/python3.10/site-packages/tenacity/__init__.py:183\u001b[0m, in \u001b[0;36mRetryError.reraise\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m    182\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mlast_attempt\u001b[38;5;241m.\u001b[39mfailed:\n\u001b[0;32m--> 183\u001b[0m     \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlast_attempt\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mresult\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    184\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;28mself\u001b[39m\n",
+      "File \u001b[0;32m/usr/lib/python3.10/concurrent/futures/_base.py:451\u001b[0m, in \u001b[0;36mFuture.result\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m    450\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_state \u001b[38;5;241m==\u001b[39m FINISHED:\n\u001b[0;32m--> 451\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m__get_result\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    453\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_condition\u001b[38;5;241m.\u001b[39mwait(timeout)\n",
+      "File \u001b[0;32m/usr/lib/python3.10/concurrent/futures/_base.py:403\u001b[0m, in \u001b[0;36mFuture.__get_result\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m    402\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 403\u001b[0m     \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_exception\n\u001b[1;32m    404\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m    405\u001b[0m     \u001b[38;5;66;03m# Break a reference cycle with the exception in self._exception\u001b[39;00m\n",
+      "File \u001b[0;32m~/.local/lib/python3.10/site-packages/instructor/retry.py:163\u001b[0m, in \u001b[0;36mretry_sync\u001b[0;34m(func, response_model, validation_context, args, kwargs, max_retries, strict, mode)\u001b[0m\n\u001b[1;32m    162\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 163\u001b[0m     response \u001b[38;5;241m=\u001b[39m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    164\u001b[0m     stream \u001b[38;5;241m=\u001b[39m kwargs\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mstream\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28;01mFalse\u001b[39;00m)\n",
+      "File \u001b[0;32m~/.local/lib/python3.10/site-packages/groq/resources/chat/completions.py:283\u001b[0m, in \u001b[0;36mCompletions.create\u001b[0;34m(self, messages, model, frequency_penalty, function_call, functions, logit_bias, logprobs, max_tokens, n, presence_penalty, response_format, seed, stop, stream, temperature, tool_choice, tools, top_logprobs, top_p, user, extra_headers, extra_query, extra_body, timeout)\u001b[0m\n\u001b[1;32m    175\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m    176\u001b[0m \u001b[38;5;124;03mCreates a model response for the given chat conversation.\u001b[39;00m\n\u001b[1;32m    177\u001b[0m \n\u001b[0;32m   (...)\u001b[0m\n\u001b[1;32m    281\u001b[0m \u001b[38;5;124;03m  timeout: Override the client-level default timeout for this request, in seconds\u001b[39;00m\n\u001b[1;32m    282\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m--> 283\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_post\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m    284\u001b[0m \u001b[43m    \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m/openai/v1/chat/completions\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m    285\u001b[0m \u001b[43m    \u001b[49m\u001b[43mbody\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmaybe_transform\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m    286\u001b[0m \u001b[43m        \u001b[49m\u001b[43m{\u001b[49m\n\u001b[1;32m    287\u001b[0m \u001b[43m            \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mmessages\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mmessages\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    288\u001b[0m \u001b[43m            \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mmodel\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mmodel\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    289\u001b[0m \u001b[43m            \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mfrequency_penalty\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mfrequency_penalty\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    290\u001b[0m \u001b[43m            \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mfunction_call\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mfunction_call\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    291\u001b[0m \u001b[43m            \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mfunctions\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mfunctions\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    292\u001b[0m \u001b[43m            \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mlogit_bias\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mlogit_bias\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    293\u001b[0m \u001b[43m            \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mlogprobs\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mlogprobs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    294\u001b[0m \u001b[43m            \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mmax_tokens\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mmax_tokens\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    295\u001b[0m \u001b[43m            \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mn\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mn\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    296\u001b[0m \u001b[43m            \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mpresence_penalty\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mpresence_penalty\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    297\u001b[0m \u001b[43m            \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mresponse_format\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mresponse_format\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    298\u001b[0m \u001b[43m            \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mseed\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mseed\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    299\u001b[0m \u001b[43m            \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mstop\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mstop\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    300\u001b[0m \u001b[43m            \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mstream\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mstream\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    301\u001b[0m \u001b[43m            \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtemperature\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mtemperature\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    302\u001b[0m \u001b[43m            \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtool_choice\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mtool_choice\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    303\u001b[0m \u001b[43m            \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtools\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mtools\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    304\u001b[0m \u001b[43m            \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtop_logprobs\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mtop_logprobs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    305\u001b[0m \u001b[43m            \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtop_p\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mtop_p\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    306\u001b[0m \u001b[43m            \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43muser\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43muser\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    307\u001b[0m \u001b[43m        \u001b[49m\u001b[43m}\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    308\u001b[0m \u001b[43m        \u001b[49m\u001b[43mcompletion_create_params\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mCompletionCreateParams\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    309\u001b[0m \u001b[43m    \u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    310\u001b[0m \u001b[43m    \u001b[49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmake_request_options\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m    311\u001b[0m \u001b[43m        \u001b[49m\u001b[43mextra_headers\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mextra_headers\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mextra_query\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mextra_query\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mextra_body\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mextra_body\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtimeout\u001b[49m\n\u001b[1;32m    312\u001b[0m \u001b[43m    \u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    313\u001b[0m \u001b[43m    \u001b[49m\u001b[43mcast_to\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mChatCompletion\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    314\u001b[0m \u001b[43m    \u001b[49m\u001b[43mstream\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstream\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01mor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m    315\u001b[0m \u001b[43m    \u001b[49m\u001b[43mstream_cls\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mStream\u001b[49m\u001b[43m[\u001b[49m\u001b[43mChatCompletionChunk\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    316\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n",
+      "File \u001b[0;32m~/.local/lib/python3.10/site-packages/groq/_base_client.py:1225\u001b[0m, in \u001b[0;36mSyncAPIClient.post\u001b[0;34m(self, path, cast_to, body, options, files, stream, stream_cls)\u001b[0m\n\u001b[1;32m   1222\u001b[0m opts \u001b[38;5;241m=\u001b[39m FinalRequestOptions\u001b[38;5;241m.\u001b[39mconstruct(\n\u001b[1;32m   1223\u001b[0m     method\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mpost\u001b[39m\u001b[38;5;124m\"\u001b[39m, url\u001b[38;5;241m=\u001b[39mpath, json_data\u001b[38;5;241m=\u001b[39mbody, files\u001b[38;5;241m=\u001b[39mto_httpx_files(files), \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39moptions\n\u001b[1;32m   1224\u001b[0m )\n\u001b[0;32m-> 1225\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m cast(ResponseT, \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrequest\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcast_to\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mopts\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstream\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstream\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstream_cls\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstream_cls\u001b[49m\u001b[43m)\u001b[49m)\n",
+      "File \u001b[0;32m~/.local/lib/python3.10/site-packages/groq/_base_client.py:920\u001b[0m, in \u001b[0;36mSyncAPIClient.request\u001b[0;34m(self, cast_to, options, remaining_retries, stream, stream_cls)\u001b[0m\n\u001b[1;32m    911\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mrequest\u001b[39m(\n\u001b[1;32m    912\u001b[0m     \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m    913\u001b[0m     cast_to: Type[ResponseT],\n\u001b[0;32m   (...)\u001b[0m\n\u001b[1;32m    918\u001b[0m     stream_cls: \u001b[38;5;28mtype\u001b[39m[_StreamT] \u001b[38;5;241m|\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[1;32m    919\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m ResponseT \u001b[38;5;241m|\u001b[39m _StreamT:\n\u001b[0;32m--> 920\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_request\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m    921\u001b[0m \u001b[43m        \u001b[49m\u001b[43mcast_to\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcast_to\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    922\u001b[0m \u001b[43m        \u001b[49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    923\u001b[0m \u001b[43m        \u001b[49m\u001b[43mstream\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstream\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    924\u001b[0m \u001b[43m        \u001b[49m\u001b[43mstream_cls\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstream_cls\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    925\u001b[0m \u001b[43m        \u001b[49m\u001b[43mremaining_retries\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mremaining_retries\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    926\u001b[0m \u001b[43m    \u001b[49m\u001b[43m)\u001b[49m\n",
+      "File \u001b[0;32m~/.local/lib/python3.10/site-packages/groq/_base_client.py:1018\u001b[0m, in \u001b[0;36mSyncAPIClient._request\u001b[0;34m(self, cast_to, options, remaining_retries, stream, stream_cls)\u001b[0m\n\u001b[1;32m   1017\u001b[0m     log\u001b[38;5;241m.\u001b[39mdebug(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mRe-raising status error\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m-> 1018\u001b[0m     \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_make_status_error_from_response(err\u001b[38;5;241m.\u001b[39mresponse) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m   1020\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_process_response(\n\u001b[1;32m   1021\u001b[0m     cast_to\u001b[38;5;241m=\u001b[39mcast_to,\n\u001b[1;32m   1022\u001b[0m     options\u001b[38;5;241m=\u001b[39moptions,\n\u001b[0;32m   (...)\u001b[0m\n\u001b[1;32m   1025\u001b[0m     stream_cls\u001b[38;5;241m=\u001b[39mstream_cls,\n\u001b[1;32m   1026\u001b[0m )\n",
+      "\u001b[0;31mBadRequestError\u001b[0m: Error code: 400 - {'error': {'message': \"Failed to call a function. Please adjust your prompt. See 'failed_generation' for more details.\", 'type': 'invalid_request_error', 'code': 'tool_use_failed', 'failed_generation': \"Here are the reformulated sentences:\\n\\nSmoking is related to quitting smoking and can lead to lung cancer.\\n\\nSmoking is associated with tobacco smoking and can have adverse effects.\\n\\nSmokeless tobacco use is a form of smoking similar to chewing tobacco.\\n\\nSmoking can be used to describe both cigarette smoking and other forms of tobacco use.\\n\\nSmoking habits can be influenced by factors such as nicotine addiction and peer pressure.\\n\\nSmoking is a broader behavior that encompasses many types of tobacco use, including chewing and snuff.\\n\\nSmoking without inhalation is not a common practice and may be harmful if done frequently.\\n\\nSmoking can have long-term effects on a person's health and well-being.\\n\\nSmoking is a form of substance abuse that can be difficult to quit.\\n\\nSmoking can be a habit that is hard to break, but there are many resources available to help people quit.\\n\\nSmoking is a major risk factor for lung cancer and many other serious health problems.\"}}",
+      "\nDuring handling of the above exception, another exception occurred:\n",
+      "\u001b[0;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
+      "Cell \u001b[0;32mIn[52], line 43\u001b[0m\n\u001b[1;32m     41\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m     42\u001b[0m     \u001b[38;5;28mprint\u001b[39m(e)\n\u001b[0;32m---> 43\u001b[0m     \u001b[43mtime\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msleep\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m60\u001b[39;49m\u001b[43m)\u001b[49m\n",
+      "\u001b[0;31mKeyboardInterrupt\u001b[0m: "
+     ]
+    }
+   ],
+   "source": [
+    "# send the request to resolve the top 50 together to one nl representation\n",
+    "# might be better to use function calling here, BUT dont know why function calling is failing\n",
+    "system_message = {\n",
+    "    \"role\" : \"system\",\n",
+    "    \"content\" : \"You are a helpful writing assistant that can reformulate triples of subject, relationship and object into naturally sounding sentences. You only answer witht the sentences.\",\n",
+    "}\n",
+    "question_message = {\n",
+    "    \"role\" : \"user\",\n",
+    "    \"content\" : \"Reformulate the following triples into sentences:\\n\"\n",
+    "}\n",
+    "qindex = 0\n",
+    "responses = []\n",
+    "client = Groq(api_key=os.environ.get(\"GROQ_API_KEY\"))\n",
+    "client = instructor.from_groq(client, mode=instructor.Mode.TOOLS)\n",
+    "class SentencesExtract(BaseModel):\n",
+    "    sentences: List[str]\n",
+    "\n",
+    "while qindex < 2:\n",
+    "    question = final_questions[qindex]\n",
+    "    triples_text = \"\"\n",
+    "    for index, triple in enumerate(question[\"triples\"]):\n",
+    "        if index == 50:\n",
+    "            triples_text.rstrip()\n",
+    "            break\n",
+    "        else:\n",
+    "            triples_text = triples_text + triple[\"s\"] + \" \" + triple[\"p\"] + \" \" + triple[\"o\"] + \"\\n\"\n",
+    "    question_message[\"content\"] = question_message[\"content\"] + triples_text # MISTAKE here is a mistake since this way the message keeps on growing and growing\n",
+    "    try:\n",
+    "        chat_completion:SentencesExtract = client.chat.completions.create(\n",
+    "            messages=[\n",
+    "                    system_message,\n",
+    "                    question_message\n",
+    "                ],\n",
+    "                model=\"llama3-8b-8192\",\n",
+    "                response_model=SentencesExtract,\n",
+    "                max_tokens=6000,\n",
+    "        )\n",
+    "        responses.append(chat_completion.sentences)\n",
+    "        #responses.append(chat_completion.choices[0].message.content)\n",
+    "        print(f\"Finished question {qindex}.\")\n",
+    "        qindex += 1\n",
+    "    except Exception as e:\n",
+    "        print(e)\n",
+    "        time.sleep(60)\n",
+    "print(responses[0])"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Number of tokens in my text: 22\n"
+     ]
+    }
+   ],
+   "source": [
+    "#### for future use of estimating the amount of tokens used this is usefull\n",
+    "#from transformers import AutoTokenizer\n",
+    "#tokenizer = AutoTokenizer.from_pretrained(\"mistralai/Mixtral-8x7B-Instruct-v0.1\")\n",
+    "#text = [\n",
+    "#                {\n",
+    "#                    \"role\":\"user\",\n",
+    "#                    \"content\": \"you are a helpful assistant. Explain the importance of fast language models\" \n",
+    "#                }\n",
+    "#            ]\n",
+    "#tokens = tokenizer.apply_chat_template(text)\n",
+    "#num_tokens = len(tokens)\n",
+    "#print(f\"Number of tokens in my text: {num_tokens}\")\n",
+    "### below applies to \n",
+    "### https://huggingface.co/mistralai/Mixtral-8x7B-Instruct-v0.1 does not support role:system, how it is handled idk yet, estimate it by combining both prompts and adding 2"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 19,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Finished 10 questions.\n",
+      "Finished 20 questions.\n",
+      "Finished 30 questions.\n",
+      "Finished 40 questions.\n",
+      "Finished 50 questions.\n",
+      "Finished 60 questions.\n",
+      "Finished 70 questions.\n",
+      "Finished 80 questions.\n",
+      "Finished 90 questions.\n",
+      "Finished 100 questions.\n",
+      "Finished 110 questions.\n",
+      "Finished 120 questions.\n",
+      "Finished 130 questions.\n",
+      "Finished 140 questions.\n",
+      "Finished 150 questions.\n",
+      "Finished 160 questions.\n",
+      "Finished 170 questions.\n",
+      "Finished 180 questions.\n",
+      "Finished 190 questions.\n",
+      "Finished 200 questions.\n"
+     ]
+    }
+   ],
+   "source": [
+    "# send requests/do the experiment for the baseline model\n",
+    "# muss gelten context_window>= inputtoken+maxtokens  ;; by limiting the amount of relations to top 50 this is semi automatically adhered too\n",
+    "client = Groq(api_key=os.environ.get(\"GROQ_API_KEY\"))\n",
+    "#client = instructor.from_groq(client, mode=instructor.Mode.TOOLS)\n",
+    "#class YesNoQuestion(BaseModel):\n",
+    "#    answer: Literal[\"Yes\",\"No\",\"yes\",\"no\"]\n",
+    "system_message = {\n",
+    "    \"role\" : \"system\",\n",
+    "    \"content\" : \"You are a helpful medical expert who can only answers with either yes or no to questions.\",\n",
+    "}\n",
+    "question_message = {\n",
+    "    \"role\" : \"user\",\n",
+    "    \"content\" : \"\"\n",
+    "}\n",
+    "baseline_responses = []\n",
+    "random.shuffle(final_questions)\n",
+    "for mod in models:\n",
+    "    model_responses = []\n",
+    "    index = 0\n",
+    "    while index < len(final_questions):\n",
+    "        question = final_questions[index]\n",
+    "        question_message[\"content\"] = question[\"question\"]\n",
+    "        try:\n",
+    "            chat_completion = client.chat.completions.create(\n",
+    "                messages=[\n",
+    "                    system_message,\n",
+    "                    question_message\n",
+    "                ],\n",
+    "                model=mod[\"name\"],\n",
+    "                #response_model=YesNoQuestion,\n",
+    "                #max_tokens=16, ----> seems to conflict with the function calling but not yet sure why\n",
+    "            )\n",
+    "            model_responses.append(chat_completion.choices[0].message.content)\n",
+    "            #model_responses.append(chat_completion.answer)\n",
+    "            index += 1\n",
+    "            if index % 10 == 0:\n",
+    "                print(f\"Finished {index} questions.\")\n",
+    "                \n",
+    "        except Exception as e:\n",
+    "            print(e)\n",
+    "            time.sleep(60)\n",
+    "    baseline_responses.append(model_responses)\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 95,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#for model_ind,responses in enumerate(baseline_responses):\n",
+    "#    for response in responses:\n",
+    "#        answer = response.lower()\n",
+    "#        if \"yes\" in answer and \"no\" in answer:\n",
+    "#            #print(f\"Model {model_ind}; {answer}\") # does not show any examples where models answer yes and no"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 20,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "No.\n",
+      "\n",
+      "The ALVAC-HIV vaccine was not effective for HIV prevention in the HVTN 702 trial.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "REGN5458 is a chimeric monoclonal antibody that targets PD-L1 with high affinity and predominantly inhibits its interaction with PD-1.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "Monoallelic genes contribute unequally to genetic diversity as they have only one functional allele.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "GRHL2 over-expression has been shown to promote epithelial-mesenchymal transition (EMT).\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Pim-1 is a serine/threonine protein phosphatase involved in various cellular processes, including cell cycle regulation and inflammation.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "**Minocycline is not recommended for the treatment of mild Alzheimer's disease.**\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "TLRs are expressed on various immune cells and play a role in recognizing microbial components and initiating immune responses.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Phospholamban binds to the SERCA Ca ATPase and inhibits its function by blocking the binding of calcium to the SERCA binding site.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "Nintedanib has not been shown to improve response rate in patients with bladder cancer.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "Bcl-2-like protein 1 is an anti-apoptotic protein.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Pds5b has been shown to be involved in cohesion establishment through various mechanisms.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "**Clinical criteria and testing results can be used to differentiate COVID-19 from other respiratory illnesses.**\n",
+      " asdasdasdas\n",
+      "No.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Petrous bones are frequently used in ancient DNA sampling due to their preserved organic material.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No.\n",
+      " asdasdasdas\n",
+      "No\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Twin-twin transfusion syndrome is only found in identical twins.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "Therapeutic levels of Vedolizumab are not detectable in breast milk following treatment for Inflammatory Bow Disease.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "RET mutations are found in approximately 80% of patients with Hirschsprung disease.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Tocilizumab is a monoclonal antibody that targets tumor necrosis factor (TNF), a pro-inflammatory cytokine.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "NOD1 signaling is crucial for various inflammatory responses, including those mediated by cytokines, chemokines, and autophagy.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Thyroid hormone imbalances can influence cardiac remodeling through various mechanisms, including changes in left ventricular function, chamber dimensions, and vascular reactivity.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Amiodarone is a Class I anti-arrhythmic drug.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "MVA85A does not confer immunity against smallpox.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "The 3D structure of the genome undergoes significant changes during cell differentiation.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "TAD boundaries are depleted in highly-expressed genes in Drosophila.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "Selective sweeps reduce genetic variation due to differential selection favoring specific alleles.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "**Omaveloxolone enhances Nrf2 signaling.**\n",
+      " asdasdasdas\n",
+      "No.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "ADP-ribosylation is a post-translational modification involving the covalent attachment of ADP-ribose to proteins or other cellular components.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Psammoma bodies are often seen in meningiomas.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Prevacnar 13 is licensed for use in children starting at 2 months of age.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Thyrotropin releasing hormone stimulates the release of thyroid hormone, which plays a role in regulating energy levels and metabolism.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Transposons are mobile genetic elements that can insert themselves into new locations in the genome. Transposon-free regions are regions of the genome that do not contain any transposable elements.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Erbin (LAP2) and Merlin cooperate to regulate epithelial barrier function and tumor suppression.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Velocardial facial syndrome, also known as Di George syndrome, is primarily caused by a deletion in chromosome 21.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Cancer cells display invasive behavior and have the ability to spread to distant sites through metastasis.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "Epigenetic changes alter gene expression without altering the underlying DNA sequence.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Proteomic techniques allow for single-cell analysis by employing technologies like microfluidics and droplet-based isolation.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "Zolpidem is a sedative and hypnotic medication. It is not an antibiotic.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "Studies have shown no significant association between ACE inhibitors, ARBs or other renin-angiotensin system (RAS) blockers and increased risk of severe COVID-19.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "The Philadelphia chromosome is a translocation between parts of chromosomes 1 and 9.\n",
+      " asdasdasdas\n",
+      "No. Prosopagnosia is not associated with lack of auditory recognition.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Marfan syndrome is associated with an increased risk of chordal rupture.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "Dacomitinib is not indicated for the treatment of glioblastoma.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Clostridium bacteria are facultative anaerobes, meaning they can grow in both the presence and absence of oxygen.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Please note that I am unable to provide medical advice or diagnose any conditions.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "There is no evidence to suggest that SARS-CoV-2 can be transmitted through breast milk.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Studies have shown increased rates of meningiomas in long-term survivors of childhood leukemia.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "LDB1-mediated enhancer looping requires cohesin for stable loop formation and maintenance.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Tocilizumab is a monoclonal antibody that targets interleukin-6 and is commonly used to treat rheumatoid arthritis and other autoimmune diseases. It is classified as a conventional synthetic disease-modifying antirheumatic drug (csDMARD).\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Anaplasma phagocytophilum is an obligate gram-negative, intracellular bacterium.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Low T3 syndrome is independently associated with worse renal outcomes and mortality in patients with renal insufficiency.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "No. Some adenylyl cyclases are soluble enzymes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Fanconi anemia is clinically and genetically diverse, with multiple pathogenic variants identified in different genes associated with the disease.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Cytokeratin is commonly used as a tumor marker to identify cancer cells.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "SMOC2 is upregulated during the wound healing process and plays a role in promoting epithelialization and angiogenesis.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "RNase R is a potent RNase enzyme that can degrade various RNA species, including circRNAs.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "Cinpanemab is not effective for Parkinson's Disease.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "PSA can also be elevated in other conditions, such as benign prostatic hyperplasia and infections.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Tregs are regulatory T cells which play a role in immune balance by suppressing immune responses.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "AGO2 is involved in regulating cytokinesis, the process of cell division.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Nifedipine is a calcium channel blocker that inhibits L-type calcium channels.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "Perampanel is not currently approved for the treatment of amyotrophic lateral sclerosis.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "CNVs are often difficult to detect in regions of low mappability due to challenges in aligning the reads and determining the exact copy number in these regions.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Ovine refers to or characteristic of goats.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Genome-wide techniques like ChIP-seq or RIP-Seq can be used to detect R-loop formation.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "ANE is not typically triggered by exposure to air pollution.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Circular RNAs are generally considered to be untranslated.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "No\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "FND is considered a psychosomatic disorder due to the prominent role of psychological and emotional factors in its manifestation and symptoms.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "Erythropoietin was not effective in the TONE trial for the treatment of optic neuritis.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Stress granules are cytoplasmic inclusions containing mRNA, proteins, and RNA-protein complexes enclosed within a double-membrane.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Fanconi anemia patients frequently experience infertility due to testicular dysfunction and impaired sperm production.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "Erythromycin does not increase the risk of hypertrophic pyloric stenosis.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Microtubules can be modified by glutamylation at specific lysine residues.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "MSCs possess the ability to differentiate into various cell types, showcasing their multipotent nature.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "Saracatinib exhibits anti-tumor effects by inhibiting protein synthesis and inducing cell death in cancer cells.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No. Telomestatin is not a statin drug and is not used to treat high cholesterol.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "Armodafinil is typically used for treatment of narcolepsy and excessive daytime sleepiness.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Plant genomes are known to have a high frequency of CpG islands.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "Ameloblastoma (AB) is a malignant tumor that has the potential to metastasize.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "Semagacestat is not currently approved for the treatment of Alzheimer's disease.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Curcumin is a polyphenol phytochemical found in turmeric.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Wnt16b secretion is increased in response to chemotherapy in various cancer models.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "**POU5F1:**\n",
+      "- Homo sapiens: https://string-db.org/network/9606.ENSP00000379534\n",
+      "- Mouse: https://string-db.org/network/9606.ENSM00000237000\n",
+      "\n",
+      "**SOX2:**\n",
+      "- Homo sapiens: https://string-db.org/network/9606.ENSP00000376385\n",
+      "- Mouse: https://string-db.org/network/9606.ENSM00000230384\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "Celecoxib is not effective for amyotrophic lateral sclerosis.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "RNASeq can detect low-abundance transcripts including nascent transcripts by capturing RNA fragments elongating at the transcription start site.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "Triiodothyronine does not directly stimulate the red blood cell sodium-potassium pump.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "The pRETRO-SUPER vector is an adenoviral vector commonly used for gene delivery in vitro and in vivo.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "RG7112 has shown potential in preclinical and clinical studies as an immunotherapy for various cancers.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "Gas vesicles can be detected by ultrasound due to their acoustic properties, which can differ from surrounding tissues.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      " asdasdasdas\n"
+     ]
+    }
+   ],
+   "source": [
+    "for i in baseline_responses[0]:\n",
+    "    print(f\"{i}\\n asdasdasdas\")#### only model 2 e.g. mixtral shows undesired behaviour"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 96,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "with open(\"../data/baseline_llama8b.txt\", \"w\") as file:\n",
+    "    for index,question in enumerate(final_questions):\n",
+    "        id = question[\"id\"]\n",
+    "        gt = question[\"gt\"]\n",
+    "        answer = \"\"\n",
+    "        if \"yes\" in baseline_responses[0][index].lower():\n",
+    "            answer = \"yes\"\n",
+    "        else:\n",
+    "            answer = \"no\"\n",
+    "        file.write(f\"{id},{gt},{answer} \\n\")\n",
+    "\n",
+    "with open(\"../data/baseline_llama70b.txt\", \"w\") as file:\n",
+    "    for index,question in enumerate(final_questions):\n",
+    "        id = question[\"id\"]\n",
+    "        gt = question[\"gt\"]\n",
+    "        answer = \"\"\n",
+    "        if \"yes\" in baseline_responses[1][index].lower():\n",
+    "            answer = \"yes\"\n",
+    "        else:\n",
+    "            answer = \"no\"\n",
+    "        file.write(f\"{id},{gt},{answer} \\n\")\n",
+    "\n",
+    "#with open(\"../data/baseline_mixtral.txt\", \"w\") as file:\n",
+    "#    for index,question in enumerate(final_questions):\n",
+    "#        id = question[\"id\"]\n",
+    "#        gt = question[\"gt\"]\n",
+    "#        answer = baseline_responses[2][index].lower()\n",
+    "#        file.write(f\"{id},{gt},{answer} \\n\")\n",
+    "\n",
+    "with open(\"../data/baseline_gemma.txt\", \"w\") as file:\n",
+    "    for index,question in enumerate(final_questions):\n",
+    "        id = question[\"id\"]\n",
+    "        gt = question[\"gt\"]\n",
+    "        answer = baseline_responses[3][index].lower().split(\".\")[0]\n",
+    "        if answer != \"yes\" and answer != \"no\":\n",
+    "            print(\"Undefined answer!\")\n",
+    "        file.write(f\"{id},{gt},{answer} \\n\")"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Finished 10 questions.\n",
+      "Finished 20 questions.\n",
+      "Finished 30 questions.\n",
+      "Finished 40 questions.\n",
+      "Finished 50 questions.\n",
+      "Finished 60 questions.\n",
+      "Finished 70 questions.\n",
+      "Finished 80 questions.\n",
+      "Finished 90 questions.\n",
+      "Finished 100 questions.\n",
+      "Finished 110 questions.\n",
+      "Finished 120 questions.\n",
+      "Finished 130 questions.\n",
+      "Finished 140 questions.\n",
+      "Finished 150 questions.\n",
+      "Finished 160 questions.\n",
+      "Finished 170 questions.\n",
+      "Finished 180 questions.\n",
+      "Finished 190 questions.\n",
+      "Finished 200 questions.\n",
+      "Finished 10 questions.\n",
+      "Finished 20 questions.\n",
+      "Finished 30 questions.\n",
+      "Finished 40 questions.\n",
+      "Finished 50 questions.\n",
+      "Finished 60 questions.\n",
+      "Finished 70 questions.\n",
+      "Finished 80 questions.\n",
+      "Finished 90 questions.\n",
+      "Finished 100 questions.\n",
+      "Finished 110 questions.\n",
+      "Finished 120 questions.\n",
+      "Finished 130 questions.\n",
+      "Finished 140 questions.\n",
+      "Finished 150 questions.\n",
+      "Finished 160 questions.\n",
+      "Finished 170 questions.\n",
+      "Finished 180 questions.\n",
+      "Finished 190 questions.\n",
+      "Finished 200 questions.\n",
+      "Finished 10 questions.\n",
+      "Finished 20 questions.\n",
+      "Finished 30 questions.\n",
+      "Finished 40 questions.\n",
+      "Finished 50 questions.\n",
+      "Finished 60 questions.\n",
+      "Finished 70 questions.\n",
+      "Finished 80 questions.\n",
+      "Finished 90 questions.\n",
+      "Finished 100 questions.\n",
+      "Finished 110 questions.\n",
+      "Finished 120 questions.\n",
+      "Finished 130 questions.\n",
+      "Finished 140 questions.\n",
+      "Finished 150 questions.\n",
+      "Finished 160 questions.\n",
+      "Finished 170 questions.\n",
+      "Finished 180 questions.\n",
+      "Finished 190 questions.\n",
+      "Finished 200 questions.\n"
+     ]
+    }
+   ],
+   "source": [
+    "# send requests/do the experiment for the not nl resolved model; aionr\n",
+    "# muss gelten context_window>= inputtoken+maxtokens  ;; by limiting the amount of relations to top 50 this is semi automatically adhered too\n",
+    "client = Groq(api_key=os.environ.get(\"GROQ_API_KEY\"))\n",
+    "#client = instructor.from_groq(client, mode=instructor.Mode.TOOLS)\n",
+    "#class YesNoQuestion(BaseModel):\n",
+    "#    answer: Literal[\"Yes\",\"No\",\"yes\",\"no\"]\n",
+    "system_message = {\n",
+    "    \"role\" : \"system\",\n",
+    "    \"content\" : \"You are a helpful medical expert who can only answers with either yes or no to questions.\",\n",
+    "}\n",
+    "aionr_responses = []\n",
+    "random.shuffle(final_questions)\n",
+    "for mod in models:\n",
+    "    model_responses = []\n",
+    "    index = 0\n",
+    "    while index < len(final_questions):\n",
+    "        question = final_questions[index]\n",
+    "        triples_text = \"\"\n",
+    "        question_message = {\n",
+    "            \"role\" : \"user\",\n",
+    "            \"content\" : (question[\"question\"] + \" Consider the following information:\\n\")\n",
+    "        }\n",
+    "        for ind, triple in enumerate(question[\"triples\"]):\n",
+    "            if ind == 50:\n",
+    "                triples_text.rstrip()\n",
+    "                break\n",
+    "            else:\n",
+    "                triples_text = triples_text + triple[\"s\"] + \" has relationship \" + triple[\"p\"] + \" to \" + triple[\"o\"] + \".\\n\"\n",
+    "        question_message[\"content\"] = question_message[\"content\"] + triples_text\n",
+    "        try:\n",
+    "            chat_completion = client.chat.completions.create(\n",
+    "                messages=[\n",
+    "                    system_message,\n",
+    "                    question_message\n",
+    "                ],\n",
+    "                model=mod[\"name\"],\n",
+    "                #response_model=YesNoQuestion,\n",
+    "                #max_tokens=16, ----> seems to conflict with the function calling but not yet sure why\n",
+    "            )\n",
+    "            model_responses.append(chat_completion.choices[0].message.content)\n",
+    "            #model_responses.append(chat_completion.answer)\n",
+    "            index += 1\n",
+    "            if index % 10 == 0:\n",
+    "                print(f\"Finished {index} questions.\")\n",
+    "                \n",
+    "        except Exception as e:\n",
+    "            print(e)\n",
+    "            time.sleep(60)\n",
+    "    aionr_responses.append(model_responses)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "**Reasoning:**\n",
+      "- Solid tumors have an inverse relationship with metastasis.\n",
+      "- HDAC inhibitors target histone deacetylation, thereby affecting chromatin remodeling and gene regulation.\n",
+      "- Chromatin remodeling plays a role in metastasis.\n",
+      "\n",
+      "Therefore, HDAC inhibitors may be good candidates to control metastasis of solid tumors.\n",
+      " asdasdasdas\n",
+      "No\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No. Zolpidem is not an antibiotic.\n",
+      " asdasdasdas\n",
+      "Yes. Doxycycline has been associated with photosensitivity.\n",
+      " asdasdasdas\n",
+      "Yes. The provided information indicates that REGN5458 is a single-targeted antibody as it is classified as a Monoclonal Antibody.\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding the effectiveness or efficacy of Prasinezumab for Parkinson's Disease.\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding the use of armodafinil for the treatment of insomnia.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "The provided text does not contain any information indicating that echinacea increases anaphylaxis risk.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding the effects of gavestinel on stroke patients.\n",
+      " asdasdasdas\n",
+      "No\n",
+      " asdasdasdas\n",
+      "No. The provided text suggests that GRG5 has a relationship with other genes involved in early development, as well as late development.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information indicating that atenolol is metabolized by CYP2D6.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "The provided text suggests that the TFR1 gene is involved in erythropoiesis, based on its relationships with other genes involved in the process.\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding the effectiveness of dichlorphenamide for periodic paralysis.\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding the association between ERAP2 and birdshot chorioretinopathy.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain information regarding the effectiveness of erythropoietin for optic neuritis in the TONE trial.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding the use of minocycline for mild Alzheimer's disease.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes, Rhamnose has been shown to have an effect on aging.\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information suggesting that Cinpanemab is effective for Parkinson's Disease.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information indicating that Omaveloxolone is a suppressor of Nrf2.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes. The provided text suggests that LDB1-mediated enhancer looping is dependent on cohesins.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes. The provided information suggests that Dexmecamylamine may be effective for depression, as it has relationships mapped to both Depression and Mental Depression.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "The text provided suggests that the 3D structure of the genome can undergo modifications during cell differentiation.\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information suggesting that Cryptococcus neoformans is a frequent cause of isolated skin infections in immunocompromised individuals.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "The provided text does not contain any information regarding the contribution of genes with monoallelic expression to genetic diversity in humans.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding the approval status of the HercepTest companion diagnostic.\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information indicating that lucatumumab binds to CD140.\n",
+      " asdasdasdas\n",
+      "Yes. The provided text suggests that ADP-ribosylation is a post-translational modification (PTM).\n",
+      " asdasdasdas\n",
+      "No\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding nematodes containing architectural proteins like CTCF.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "The provided text does not contain any information suggesting that acupuncture can cause spinal epidural hematomas.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information indicating that macitentan is an ET agonist.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding MammaPrint's FDA clearance status.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes. The provided text suggests that Hunter's disease is associated with the X Chromosome, as it mentions several cytogenetic abnormalities involving the X Chromosome in the context of the disease.\n",
+      " asdasdasdas\n",
+      "Yes. The provided text suggests evidence for de novo genesis of enhancers in vertebrates.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding therapeutic levels of Vedolizumab being found in breast milk of nursing mothers following treatment for Inflammatory bowel disease.\n",
+      " asdasdasdas\n",
+      "Yes. Twin-twin transfusion syndrome is associated with monozygotic twins.\n",
+      " asdasdasdas\n",
+      "No\n",
+      " asdasdasdas\n",
+      "Yes. The provided text indicates that AGO2 is related to cytokinesis.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No. Prosopagnosia is not known as lack of auditory recognition.\n",
+      " asdasdasdas\n",
+      "Yes, there are interactomes available for POU5F1 and SOX2.\n",
+      " asdasdasdas\n",
+      "No. Telomestatin is not a statin drug used to treat high cholesterol.\n",
+      " asdasdasdas\n",
+      "Yes. Segmental duplications are enriched in Ultra-conserved elements (UCEs).\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding the ubiquitous expression of protamines.\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding the effect of silencing SRRM4 on microexon inclusion.\n",
+      " asdasdasdas\n",
+      "Yes, Niraparib has been shown to be effective for ovarian cancer in clinical trials.\n",
+      " asdasdasdas\n",
+      "Yes. The provided text suggests that circular RNAs remain untranslated.\n",
+      " asdasdasdas\n",
+      "Yes. The provided text suggests that ultrasound imaging has the ability to detect gas vesicles.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "The provided text suggests that the RET gene is involved in Hirschsprung Disease, as it is associated with molecular abnormalities, mutations, rearrangements, and mutations related to the RET gene in association with the disease.\n",
+      " asdasdasdas\n",
+      "Yes. The given text suggests that selenium and selenoproteins may play a role in prostate cancer prevention, as evidenced by their presence as an ingredient in the PROSTATE 2.1 CAP/TAB supplement and their association with prostate cancer prevention in various contexts.\n",
+      " asdasdasdas\n",
+      "No, the provided text does not contain any information indicating that marimastat is effective for small-cell lung cancer.\n",
+      " asdasdasdas\n",
+      "Yes. The given information suggests that cohesins have been linked to myeloid differentiation.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding the effect of nintedanib on response rate in patients with bladder cancer.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "The provided text does not contain any information regarding the depletion of TAD boundaries in highly-expressed genes in Drosophila.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "The text provided suggests a relationship between telomere length and chronological age.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information indicating that saracatinib promotes oncogenesis.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes. The provided text suggests that DDX54 plays a role in DNA damage response, as it is involved in histone acetylation and other cellular responses to DNA damage.\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding xaliproden or its effects on the prognosis of amyotrophic lateral sclerosis.\n",
+      " asdasdasdas\n",
+      "Yes. The information provided suggests that an adenovirus vector is an adenovirus-based vector.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes. The provided text suggests that Baricitinib may be effective for Alopecia Areata.\n",
+      " asdasdasdas\n",
+      "No. Triiodothyronine does not stimulate the red blood cell sodium-potassium pump.\n",
+      " asdasdasdas\n",
+      "Yes. The provided text suggests that there are telemedicine applications for chronic pain management, as it mentions various pharmaceutical dosage forms that can be administered through telemedicine technology.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information indicating a relationship between myasthenia gravis and osteoporosis.\n",
+      " asdasdasdas\n",
+      "Yes. The provided text suggests that Velocardial facial syndrome, otherwise known as Di George syndrome, is caused by a deletion in chromosome 21.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "The provided text suggests that Bcl-2-Like Protein 1 is an **Apoptosis inhibitor**.\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding an increased risk of meningiomas in atomic bomb survivors.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "The provided text does not contain any information indicating that deletion at 6q24.2-26 is associated with longer survival in patients with HGSOCs.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "The text provided indicates that regulatory T cells (Tregs) positively regulate the immune response.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "The provided information suggests a relationship between thyrotropin releasing hormone and reduced fatigue in cancer patients.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes. The presence of relationships with various transcription factors suggests the analysis may capture nascent transcripts associated with these factors.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "The text provided indicates that Benign Neoplasm has a broader relationship to Benign tumors of the pancreas which implies that AB may be malignant in some cases.\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding the use of RG7112 as cancer therapy.\n",
+      " asdasdasdas\n",
+      "Yes. The provided text suggests that Toll-like receptors (TLRs) are induced by microbes.\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding the availability of the Apis mellifera genome.\n",
+      " asdasdasdas\n",
+      "1. Yes\n",
+      "2. Yes\n",
+      "3. Yes\n",
+      "4. Yes\n",
+      "5. Yes\n",
+      "6. Yes\n",
+      "7. No\n",
+      "8. Yes\n",
+      "9. Yes\n",
+      "10. Yes\n",
+      "11. Yes\n",
+      "12. Yes\n",
+      "13. Yes\n",
+      "14. Yes\n",
+      "15. Yes\n",
+      "16. Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes, there are current applications of deep learning in genomics.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes. The provided text suggests that Functional Neurological Disorder (FND) is classified as a psychosomatic disorder, as it has a relationship to psychophysiologic disorders, conversion disorder, and other anxiety, somatoform, dissociative, and personality disorders.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding the effectiveness of Semagacestat for treatment of Alzheimer's disease.\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "**Clinical characteristics can be used to distinguish COVID-19 from other respiratory illnesses, including influenza:**\n",
+      "\n",
+      "- Presence of ** anosmia or hyposmia** (loss of smell or altered taste) is highly specific for COVID-19.\n",
+      "- Cough with **bronchial features** and lack of sputum production is suggestive of COVID-19.\n",
+      "- Elevated levels of **inflammatory markers** (e.g., C-reactive protein, interleukin-6) can help differentiate COVID-19 from other respiratory infections.\n",
+      "- Radiological findings, such as **ground-glass opacities** on chest X-rays, are consistent with COVID-19.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "The provided text suggests that the mouse SRY gene locus contains repetitive sequences based on the relationship between repetitive sequences and SRY.\n",
+      " asdasdasdas\n",
+      "1. Yes\n",
+      "2. Yes\n",
+      "3. Yes\n",
+      "4. Yes\n",
+      "5. Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes. The provided text suggests that BNP levels can increase after intensive exercise in athletes.\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding paramyxovirus involvement in human subacute thyroiditis.\n",
+      " asdasdasdas\n",
+      "Yes. \n",
+      "\n",
+      "The provided text suggests that phospholamban is a regulator/inhibitory protein of the Ca ATPase SERCA, as it is mentioned in multiple relationships mapped from proteins that interact with phospholamban to ATPase.\n",
+      " asdasdasdas\n",
+      "No. The provided text suggests that there are no transposon-free regions in mammalian genomes based on the relationship between genomes and the terms \"genome\" and \"mammals.\"\n",
+      " asdasdasdas\n",
+      "Yes, bapineuzumab may be effective for treatment of patients with Alzheimer's disease based on the provided information.\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information indicating that epigenetic changes can alter the DNA sequence.\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information indicating that overexpression of LY6K is associated with better prognosis for non-small cell lung cancer patients.\n",
+      " asdasdasdas\n",
+      "No\n",
+      " asdasdasdas\n",
+      "Yes. Gabapentin has been shown to be effective for chronic pelvic pain.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes.\n",
+      "\n",
+      "The provided text suggests that there is increased recombination rate in human regulatory domains, as it states that \"genetic recombination has a broader relationship to gene rearrangement\" and \"recombination has a broader relationship to gene recombination.\"\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "The provided text suggests that a selective sweep reduces genetic variation.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "The provided text does not contain any information regarding RNA:DNA hybrids or their preference for high or low GC regions.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "The provided text does not contain any information indicating that CNVs are depleted in regions of low mappability.\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding the use of mogamulizumab for the treatment of cutaneous T-cell lymphoma.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "The provided text suggests that degradation is inversely related to material integrity and has a narrower relationship to metabolism.\n",
+      " asdasdasdas\n",
+      "Yes. The provided information indicates that Amiodarone is classified as a Class I anti-arrhythmic drug.\n",
+      " asdasdasdas\n",
+      "Yes. The provided text contains information suggesting that PLK2 is involved in alpha-synuclein phosphorylation in the nervous system.\n",
+      " asdasdasdas\n",
+      "No. The provided text suggests that adenylyl cyclases include both transmembrane and non-transmembrane proteins.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes. The PSA test is relevant not only for prostate cancer but also for other prostate diseases, including benign prostate hyperplasia (BPH).\n",
+      " asdasdasdas\n",
+      "Yes. The provided text suggests that BRAF mutations are common in melanoma.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding overexpression of sirtuins and their effects on lifespan in budding yeast.\n",
+      " asdasdasdas\n",
+      "Yes, tirilazad can be used for treatment of ischemic stroke, as it is considered therapy for the condition.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes. The provided information indicates that \"Tumor marker\" is a tumor marker.\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding the efficacy of celecoxib for amyotrophic lateral sclerosis.\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding the possibility of single-cell analysis (SCA) in proteomics.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "The provided text does not contain any information indicating that proton pump inhibitors affect thyroxine absorption.\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding the relationship between MVA85A and smallpox immunity.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding the efficacy of capmatinib for glioblastoma.\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding the impact of bDMARDs during pregnancy on neonatal development.\n",
+      " asdasdasdas\n",
+      "No. The provided text suggests that GRG5 has relationships other than those related to late embryonic mouse development.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes. The ALVAC-HIV vaccine was effective in preventing HIV infection in the HVTN 702 trial.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No.\n",
+      "\n",
+      "The provided text does not contain any information indicating that erythromycin increases the risk of hypertrophic pyloric stenosis.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes. The provided text contains information suggesting that GRHL2 over-expression can lead to EMT (epithelial to mesenchymal transition).\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding the transmission of SARS-CoV-2 through breast milk.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding whether stress granules are membraneous or not.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding whether Enzastaurin improves survival of glioblastoma patients.\n",
+      " asdasdasdas\n",
+      "Yes\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information suggesting that the word \"ovine\" refers to goats.\n",
+      " asdasdasdas\n",
+      "No. The provided text does not contain any information regarding the use of perampanel for amyotrophic lateral sclerosis.\n",
+      " asdasdasdas\n",
+      "No.\n",
+      " asdasdasdas\n"
+     ]
+    }
+   ],
+   "source": [
+    "for i in aionr_responses[2]:\n",
+    "    print(f\"{i}\\n asdasdasdas\")#### only model 2 e.g. mixtral shows undesired behaviour"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 16,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n"
+     ]
+    }
+   ],
+   "source": [
+    "with open(\"../data/aionr_llama8b.txt\", \"w\") as file:\n",
+    "    for index,question in enumerate(final_questions):\n",
+    "        id = question[\"id\"]\n",
+    "        gt = question[\"gt\"]\n",
+    "        answer = \"\"\n",
+    "        if \"yes\" in aionr_responses[0][index].lower():\n",
+    "            answer = \"yes\"\n",
+    "        else:\n",
+    "            answer = \"no\"\n",
+    "        file.write(f\"{id},{gt},{answer} \\n\")\n",
+    "\n",
+    "with open(\"../data/aionr_llama70b.txt\", \"w\") as file:\n",
+    "    for index,question in enumerate(final_questions):\n",
+    "        id = question[\"id\"]\n",
+    "        gt = question[\"gt\"]\n",
+    "        answer = \"\"\n",
+    "        if \"yes\" in aionr_responses[1][index].lower():\n",
+    "            answer = \"yes\"\n",
+    "        else:\n",
+    "            answer = \"no\"\n",
+    "        file.write(f\"{id},{gt},{answer} \\n\")\n",
+    "\n",
+    "\n",
+    "with open(\"../data/aionr_gemma.txt\", \"w\") as file:\n",
+    "    for index,question in enumerate(final_questions):\n",
+    "        id = question[\"id\"]\n",
+    "        gt = question[\"gt\"]\n",
+    "        answer = aionr_responses[2][index].lower().split(\".\")[0]\n",
+    "        if answer != \"yes\" and answer != \"no\":\n",
+    "            print(\"Undefined answer!\")\n",
+    "            answer=\"undefined\"\n",
+    "        file.write(f\"{id},{gt},{answer} \\n\")"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 17,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Yes, Rhamnose has been shown to have an effect on aging.\n",
+      "Yes, there are interactomes available for POU5F1 and SOX2.\n",
+      "Yes, Niraparib has been shown to be effective for ovarian cancer in clinical trials.\n",
+      "No, the provided text does not contain any information indicating that marimastat is effective for small-cell lung cancer.\n",
+      "1. Yes\n",
+      "2. Yes\n",
+      "3. Yes\n",
+      "4. Yes\n",
+      "5. Yes\n",
+      "6. Yes\n",
+      "7. No\n",
+      "8. Yes\n",
+      "9. Yes\n",
+      "10. Yes\n",
+      "11. Yes\n",
+      "12. Yes\n",
+      "13. Yes\n",
+      "14. Yes\n",
+      "15. Yes\n",
+      "16. Yes\n",
+      "Yes, there are current applications of deep learning in genomics.\n",
+      "1. Yes\n",
+      "2. Yes\n",
+      "3. Yes\n",
+      "4. Yes\n",
+      "5. Yes\n",
+      "Yes, bapineuzumab may be effective for treatment of patients with Alzheimer's disease based on the provided information.\n",
+      "Yes, tirilazad can be used for treatment of ischemic stroke, as it is considered therapy for the condition.\n"
+     ]
+    }
+   ],
+   "source": [
+    "print(aionr_responses[2][30]) # solvable\n",
+    "print(aionr_responses[2][73]) # solvable\n",
+    "print(aionr_responses[2][78]) # solvable\n",
+    "print(aionr_responses[2][83]) # solvable\n",
+    "print(aionr_responses[2][121]) # solvable by majority vote\n",
+    "print(aionr_responses[2][123]) # solvable\n",
+    "print(aionr_responses[2][133]) # solvable\n",
+    "print(aionr_responses[2][144]) # solvable\n",
+    "print(aionr_responses[2][167]) # solvable"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 27,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Finished question 0.\n",
+      "Finished question 1.\n",
+      "Finished question 2.\n",
+      "Finished question 3.\n",
+      "Finished question 4.\n",
+      "Finished question 5.\n",
+      "Finished question 6.\n",
+      "Finished question 7.\n",
+      "Finished question 8.\n",
+      "Finished question 9.\n",
+      "Finished question 10.\n",
+      "Finished question 11.\n",
+      "Finished question 12.\n",
+      "Finished question 13.\n",
+      "Finished question 14.\n",
+      "Finished question 15.\n",
+      "Finished question 16.\n",
+      "Finished question 17.\n",
+      "Finished question 18.\n",
+      "Finished question 19.\n",
+      "Finished question 20.\n",
+      "Finished question 21.\n",
+      "Finished question 22.\n",
+      "Finished question 23.\n",
+      "Finished question 24.\n",
+      "Finished question 25.\n",
+      "Finished question 26.\n",
+      "Finished question 27.\n",
+      "Finished question 28.\n",
+      "Finished question 29.\n",
+      "Finished question 30.\n",
+      "Finished question 31.\n",
+      "Finished question 32.\n",
+      "Finished question 33.\n",
+      "Finished question 34.\n",
+      "Finished question 35.\n",
+      "Finished question 36.\n",
+      "Finished question 37.\n",
+      "Finished question 38.\n",
+      "Finished question 39.\n",
+      "Finished question 40.\n",
+      "Finished question 41.\n",
+      "Finished question 42.\n",
+      "Finished question 43.\n",
+      "Finished question 44.\n",
+      "Finished question 45.\n",
+      "Finished question 46.\n",
+      "Finished question 47.\n",
+      "Finished question 48.\n",
+      "Finished question 49.\n",
+      "Finished question 50.\n",
+      "Finished question 51.\n",
+      "Finished question 52.\n",
+      "Finished question 53.\n",
+      "Finished question 54.\n",
+      "Finished question 55.\n",
+      "Finished question 56.\n",
+      "Finished question 57.\n",
+      "Finished question 58.\n",
+      "Finished question 59.\n",
+      "Finished question 60.\n",
+      "Finished question 61.\n",
+      "Finished question 62.\n",
+      "Finished question 63.\n",
+      "Finished question 64.\n",
+      "Finished question 65.\n",
+      "Finished question 66.\n",
+      "Finished question 67.\n",
+      "Finished question 68.\n",
+      "Finished question 69.\n",
+      "Finished question 70.\n",
+      "Finished question 71.\n",
+      "Finished question 72.\n",
+      "Finished question 73.\n",
+      "Finished question 74.\n",
+      "Finished question 75.\n",
+      "Finished question 76.\n",
+      "Finished question 77.\n",
+      "Finished question 78.\n",
+      "Finished question 79.\n",
+      "Finished question 80.\n",
+      "Finished question 81.\n",
+      "Finished question 82.\n",
+      "Finished question 83.\n",
+      "Finished question 84.\n",
+      "Finished question 85.\n",
+      "Finished question 86.\n",
+      "Finished question 87.\n",
+      "Finished question 88.\n",
+      "Finished question 89.\n",
+      "Finished question 90.\n",
+      "Finished question 91.\n",
+      "Finished question 92.\n",
+      "Finished question 93.\n",
+      "Finished question 94.\n",
+      "Finished question 95.\n",
+      "Finished question 96.\n",
+      "Finished question 97.\n",
+      "Finished question 98.\n",
+      "Finished question 99.\n",
+      "Finished question 100.\n",
+      "Finished question 101.\n",
+      "Finished question 102.\n",
+      "Finished question 103.\n",
+      "Finished question 104.\n",
+      "Finished question 105.\n",
+      "Finished question 106.\n",
+      "Finished question 107.\n",
+      "Finished question 108.\n",
+      "Finished question 109.\n",
+      "Finished question 110.\n",
+      "Finished question 111.\n",
+      "Finished question 112.\n",
+      "Finished question 113.\n",
+      "Finished question 114.\n",
+      "Finished question 115.\n",
+      "Finished question 116.\n",
+      "Finished question 117.\n",
+      "Finished question 118.\n",
+      "Finished question 119.\n",
+      "Finished question 120.\n",
+      "Finished question 121.\n",
+      "Finished question 122.\n",
+      "Finished question 123.\n",
+      "Finished question 124.\n",
+      "Finished question 125.\n",
+      "Finished question 126.\n",
+      "Finished question 127.\n",
+      "Finished question 128.\n",
+      "Finished question 129.\n",
+      "Finished question 130.\n",
+      "Finished question 131.\n",
+      "Finished question 132.\n",
+      "Finished question 133.\n",
+      "Finished question 134.\n",
+      "Finished question 135.\n",
+      "Finished question 136.\n",
+      "Finished question 137.\n",
+      "Finished question 138.\n",
+      "Finished question 139.\n",
+      "Finished question 140.\n",
+      "Finished question 141.\n",
+      "Finished question 142.\n",
+      "Finished question 143.\n",
+      "Finished question 144.\n",
+      "Finished question 145.\n",
+      "Finished question 146.\n",
+      "Finished question 147.\n",
+      "Finished question 148.\n",
+      "Finished question 149.\n",
+      "Finished question 150.\n",
+      "Finished question 151.\n",
+      "Finished question 152.\n",
+      "Finished question 153.\n",
+      "Finished question 154.\n",
+      "Finished question 155.\n",
+      "Finished question 156.\n",
+      "Finished question 157.\n",
+      "Finished question 158.\n",
+      "Finished question 159.\n",
+      "Finished question 160.\n",
+      "Finished question 161.\n",
+      "Finished question 162.\n",
+      "Finished question 163.\n",
+      "Finished question 164.\n",
+      "Finished question 165.\n",
+      "Finished question 166.\n",
+      "Finished question 167.\n",
+      "Finished question 168.\n",
+      "Finished question 169.\n",
+      "Finished question 170.\n",
+      "Finished question 171.\n",
+      "Finished question 172.\n",
+      "Finished question 173.\n",
+      "Finished question 174.\n",
+      "Finished question 175.\n",
+      "Finished question 176.\n",
+      "Finished question 177.\n",
+      "Finished question 178.\n",
+      "Finished question 179.\n",
+      "Finished question 180.\n",
+      "Finished question 181.\n",
+      "Finished question 182.\n",
+      "Finished question 183.\n",
+      "Finished question 184.\n",
+      "Finished question 185.\n",
+      "Finished question 186.\n",
+      "Finished question 187.\n",
+      "Finished question 188.\n",
+      "Finished question 189.\n",
+      "Finished question 190.\n",
+      "Finished question 191.\n",
+      "Finished question 192.\n",
+      "Finished question 193.\n",
+      "Finished question 194.\n",
+      "Finished question 195.\n",
+      "Finished question 196.\n",
+      "Finished question 197.\n",
+      "Finished question 198.\n",
+      "Finished question 199.\n"
+     ]
+    }
+   ],
+   "source": [
+    "# send the request to resolve the top 50 together to one nl representation\n",
+    "# might be better to use function calling here, BUT dont know why function calling is failing\n",
+    "system_message = {\n",
+    "    \"role\" : \"system\",\n",
+    "    \"content\" : \"You are a helpful writing assistant that can reformulate triples of subject, relationship and object into naturally sounding sentences. You only answer witht the sentences.\",\n",
+    "}\n",
+    "\n",
+    "qindex = 0\n",
+    "client = Groq(api_key=os.environ.get(\"GROQ_API_KEY\"))\n",
+    "while qindex < len(final_questions):\n",
+    "    question = final_questions[qindex]\n",
+    "    triples_text = \"\"\n",
+    "    question_message = {\n",
+    "        \"role\" : \"user\",\n",
+    "        \"content\" : \"Reformulate the following triples into sentences:\\n\"\n",
+    "    }\n",
+    "\n",
+    "    for index, triple in enumerate(question[\"triples\"]):\n",
+    "        if index == 50:\n",
+    "            break\n",
+    "        else:\n",
+    "            triples_text = triples_text + triple[\"s\"] + \" \" + triple[\"p\"] + \" \" + triple[\"o\"] + \"\\n\"\n",
+    "\n",
+    "    triples_text=triples_text.rstrip()\n",
+    "    question_message[\"content\"] = question_message[\"content\"] + triples_text\n",
+    "    try:\n",
+    "        chat_completion = client.chat.completions.create(\n",
+    "            messages=[\n",
+    "                    system_message,\n",
+    "                    question_message\n",
+    "                ],\n",
+    "                model=\"llama3-8b-8192\",\n",
+    "                #max_tokens=6000,\n",
+    "        )\n",
+    "        final_questions[qindex][\"nl_sentences\"] = chat_completion.choices[0].message.content    \n",
+    "    except Exception as e:\n",
+    "        print(e)\n",
+    "        time.sleep(60)\n",
+    "        continue\n",
+    "    print(f\"Finished question {qindex}.\")\n",
+    "    qindex += 1"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 30,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Here are the reformulated sentences:\n",
+      "\n",
+      "* The cellular response to DNA damage stimulus involves histone H3-K56 acetylation in response to DNA damage.\n",
+      "* The cellular response to DNA damage stimulus is inversely related to the DNA damage response, and is involved in the detection of DNA damage.\n",
+      "* The terms \"DNA damage response\" and \"cellular response to DNA damage stimulus\" are asserted to be synonymous.\n",
+      "* The DNA damage response is an example or instance of the cellular response to DNA damage stimulus.\n",
+      "* The cellular response to DNA damage stimulus has a broader relationship to the response to DNA damage stimulus.\n",
+      "* The terms \"cellular response to DNA damage stimulus\" and \"cellular DNA damage response\" are asserted to be synonymous.\n",
+      "* The cellular response to DNA damage stimulus is inversely related to DNA damage-induced protein phosphorylation.\n",
+      "* The cellular response to DNA damage stimulus is involved in, and has part, histone H4 acetylation in response to DNA damage stimulus.\n",
+      "* The cellular response to DNA damage stimulus is inversely related to DNA repair.\n",
+      "* The cellular DNA damage response is an example or instance of the cellular response to DNA damage stimulus.\n",
+      "* The cellular response to DNA damage stimulus is inversely related to signal transduction in response to DNA damage.\n",
+      "* The cellular response to DNA damage stimulus has a narrower relationship to the response to DNA damage stimulus.\n",
+      "* The cellular response to DNA damage stimulus is inversely related to the intrinsic apoptotic signaling pathway in response to DNA damage.\n",
+      "* The cellular response to DNA damage stimulus is inversely related to the SOS response.\n",
+      "* The terms \"response to genotoxic stress\" and \"cellular response to DNA damage stimulus\" are asserted to be synonymous.\n",
+      "* The cellular response to DNA damage stimulus is regulated by the regulation of response to DNA damage stimulus.\n",
+      "* The cellular response to DNA damage stimulus is regulated by the regulation of response to DNA damage stimulus.\n",
+      "* The cellular response to DNA damage stimulus is considered to be inversely related to negative regulation of transcription from RNA polymerase II promoter in response to DNA damage.\n",
+      "* The cellular response to DNA damage stimulus is negatively regulated by the negative regulation of response to DNA damage stimulus.\n",
+      "* The cellular response to DNA damage stimulus is inversely related to regulation of transcription from RNA polymerase II promoter in response to DNA damage.\n",
+      "* The cellular response to DNA damage stimulus is inversely related to the regulation of transcription from RNA polymerase II promoter in response to UV-induced DNA damage.\n",
+      "* DEAD-BOX HELICASE 54 is also known as DEAD BOX RNA HELICASE, 97-KD.\n",
+      "* DDX54 is an expanded form of the DDX54 gene.\n",
+      "* The DDX54 gene is an expanded form of DDX54.\n",
+      "* DP97 is also known as DEAD BOX RNA HELICASE, 97-KD.\n",
+      "* DEAD-BOX HELICASE 54 is an expanded form of DDX54.\n",
+      "* DEAD-box helicase 54 has the previous name DEAD (Asp-Glu-Ala-Asp) box polypeptide 54.\n",
+      "* DEAD BOX RNA HELICASE, 97-KD is an expanded form of DP97.\n",
+      "* DEAD-BOX HELICASE 54 has the previous name DEAD (Asp-Glu-Ala-Asp) box polypeptide 54.\n",
+      "* DEAD-box helicase 54 has the alias APR-5.\n",
+      "* DEAD-box helicase 54 has the alias MGC2835.\n",
+      "* DDX54 has the alias DEAD-BOX HELICASE 54.\n",
+      "* APR-5 is an alias of DEAD-box helicase 54.\n",
+      "* DEAD/H-BOX 54 is an alias of DEAD-BOX HELICASE 54.\n",
+      "* DP97 is an alias of DEAD-box helicase 54.\n",
+      "* MGC2835 is an alias of DEAD-box helicase 54.\n",
+      "* DEAD/H-BOX 54 is an alias of DEAD-BOX HELICASE 54.\n"
+     ]
+    }
+   ],
+   "source": [
+    "print(final_questions[3][\"nl_sentences\"])"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 32,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Finished 10 questions.\n",
+      "Finished 20 questions.\n",
+      "Finished 30 questions.\n",
+      "Finished 40 questions.\n",
+      "Finished 50 questions.\n",
+      "Finished 60 questions.\n",
+      "Finished 70 questions.\n",
+      "Finished 80 questions.\n",
+      "Finished 90 questions.\n",
+      "Finished 100 questions.\n",
+      "Finished 110 questions.\n",
+      "Finished 120 questions.\n",
+      "Finished 130 questions.\n",
+      "Finished 140 questions.\n",
+      "Finished 150 questions.\n",
+      "Finished 160 questions.\n",
+      "Finished 170 questions.\n",
+      "Finished 180 questions.\n",
+      "Finished 190 questions.\n",
+      "Finished 200 questions.\n",
+      "Finished 10 questions.\n",
+      "Finished 20 questions.\n",
+      "Finished 30 questions.\n",
+      "Finished 40 questions.\n",
+      "Finished 50 questions.\n",
+      "Finished 60 questions.\n",
+      "Finished 70 questions.\n",
+      "Finished 80 questions.\n",
+      "Finished 90 questions.\n",
+      "Finished 100 questions.\n",
+      "Finished 110 questions.\n",
+      "Finished 120 questions.\n",
+      "Finished 130 questions.\n",
+      "Finished 140 questions.\n",
+      "Finished 150 questions.\n",
+      "Finished 160 questions.\n",
+      "Finished 170 questions.\n",
+      "Finished 180 questions.\n",
+      "Finished 190 questions.\n",
+      "Finished 200 questions.\n",
+      "Finished 10 questions.\n",
+      "Finished 20 questions.\n",
+      "Finished 30 questions.\n",
+      "Finished 40 questions.\n",
+      "Finished 50 questions.\n",
+      "Finished 60 questions.\n",
+      "Finished 70 questions.\n",
+      "Finished 80 questions.\n",
+      "Finished 90 questions.\n",
+      "Finished 100 questions.\n",
+      "Finished 110 questions.\n",
+      "Finished 120 questions.\n",
+      "Finished 130 questions.\n",
+      "Finished 140 questions.\n",
+      "Finished 150 questions.\n",
+      "Finished 160 questions.\n",
+      "Finished 170 questions.\n",
+      "Finished 180 questions.\n",
+      "Finished 190 questions.\n",
+      "Finished 200 questions.\n"
+     ]
+    }
+   ],
+   "source": [
+    "# send requests/do the experiment for the aionlr model\n",
+    "# muss gelten context_window>= inputtoken+maxtokens  ;; by limiting the amount of relations to top 50 this is semi automatically adhered too\n",
+    "client = Groq(api_key=os.environ.get(\"GROQ_API_KEY\"))\n",
+    "#client = instructor.from_groq(client, mode=instructor.Mode.TOOLS)\n",
+    "#class YesNoQuestion(BaseModel):\n",
+    "#    answer: Literal[\"Yes\",\"No\",\"yes\",\"no\"]\n",
+    "system_message = {\n",
+    "    \"role\" : \"system\",\n",
+    "    \"content\" : \"You are a helpful medical expert who can only answers with either yes or no to questions.\",\n",
+    "}\n",
+    "aionlr_responses = []\n",
+    "random.shuffle(final_questions)\n",
+    "for mod in models:\n",
+    "    model_responses = []\n",
+    "    index = 0\n",
+    "    while index < len(final_questions):\n",
+    "        question = final_questions[index]\n",
+    "        question_message = {\n",
+    "            \"role\" : \"user\",\n",
+    "            \"content\" : (question[\"question\"] + \" Consider the following information:\\n\" + question[\"nl_sentences\"])\n",
+    "        }\n",
+    "\n",
+    "        try:\n",
+    "            chat_completion = client.chat.completions.create(\n",
+    "                messages=[\n",
+    "                    system_message,\n",
+    "                    question_message\n",
+    "                ],\n",
+    "                model=mod[\"name\"],\n",
+    "                #response_model=YesNoQuestion,\n",
+    "                #max_tokens=16, ----> seems to conflict with the function calling but not yet sure why\n",
+    "            )\n",
+    "            model_responses.append(chat_completion.choices[0].message.content)\n",
+    "            #model_responses.append(chat_completion.answer)\n",
+    "            index += 1\n",
+    "            if index % 10 == 0:\n",
+    "                print(f\"Finished {index} questions.\")\n",
+    "                \n",
+    "        except Exception as e:\n",
+    "            print(e)\n",
+    "            time.sleep(60)\n",
+    "    aionlr_responses.append(model_responses)\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 48,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n",
+      "Undefined answer!\n"
+     ]
+    }
+   ],
+   "source": [
+    "with open(\"../data/aionlr_llama8b.txt\", \"w\") as file:\n",
+    "    for index,question in enumerate(final_questions):\n",
+    "        id = question[\"id\"]\n",
+    "        gt = question[\"gt\"]\n",
+    "        answer = \"\"\n",
+    "        if \"yes\" in aionlr_responses[0][index].lower():\n",
+    "            answer = \"yes\"\n",
+    "        else:\n",
+    "            answer = \"no\"\n",
+    "        file.write(f\"{id},{gt},{answer} \\n\")\n",
+    "\n",
+    "with open(\"../data/aionlr_llama70b.txt\", \"w\") as file:\n",
+    "    for index,question in enumerate(final_questions):\n",
+    "        id = question[\"id\"]\n",
+    "        gt = question[\"gt\"]\n",
+    "        answer = \"\"\n",
+    "        if \"yes\" in aionlr_responses[1][index].lower():\n",
+    "            answer = \"yes\"\n",
+    "        else:\n",
+    "            answer = \"no\"\n",
+    "        file.write(f\"{id},{gt},{answer} \\n\")\n",
+    "\n",
+    "\n",
+    "with open(\"../data/aionlr_gemma.txt\", \"w\") as file:\n",
+    "    for index,question in enumerate(final_questions):\n",
+    "        id = question[\"id\"]\n",
+    "        gt = question[\"gt\"]\n",
+    "        answer = aionlr_responses[2][index].lower().split(\".\")[0]\n",
+    "        if answer != \"yes\" and answer != \"no\":\n",
+    "            print(\"Undefined answer!\")\n",
+    "            answer=\"undefined\"\n",
+    "        file.write(f\"{id},{gt},{answer} \\n\")"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 46,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1. Yes\n",
+      "2. No\n",
+      "3. No\n",
+      "4. No\n",
+      "5. No\n",
+      "6. Yes\n",
+      "7. Yes\n",
+      "8. Yes\n",
+      "9. No\n",
+      "10. Yes\n",
+      "11. Yes\n",
+      "12. No\n",
+      "13. Yes\n",
+      "14. Yes\n",
+      "15. Yes\n",
+      "16. No\n",
+      "17. No\n",
+      "18. Yes\n",
+      "19. Yes\n",
+      "20. No\n",
+      "21. Yes\n",
+      "22. No\n",
+      "23. No\n",
+      "24. Yes\n",
+      "25. Yes\n",
+      "26. Yes\n",
+      "27. Yes\n",
+      "28. Yes\n",
+      "29. Yes\n",
+      "30. Yes\n",
+      "\n",
+      " New Question\n",
+      "1. Yes\n",
+      "2. Yes\n",
+      "3. No\n",
+      "4. Yes\n",
+      "5. Yes\n",
+      "6. No\n",
+      "7. Yes\n",
+      "8. Yes\n",
+      "9. Yes\n",
+      "10. No\n",
+      "11. Yes\n",
+      "12. No\n",
+      "13. No\n",
+      "14. Yes\n",
+      "15. No\n",
+      "16. Yes\n",
+      "17. Yes\n",
+      "18. Yes\n",
+      "19. Yes\n",
+      "20. No\n",
+      "\n",
+      " New Question\n",
+      "1. Yes\n",
+      "2. Yes\n",
+      "3. Yes\n",
+      "4. Yes\n",
+      "5. No\n",
+      "6. Yes\n",
+      "7. Yes\n",
+      "8. No\n",
+      "9. No\n",
+      "10. Yes\n",
+      "11. Yes\n",
+      "12. Yes\n",
+      "13. Yes\n",
+      "14. Yes\n",
+      "15. No\n",
+      "\n",
+      " New Question\n",
+      "1. Yes\n",
+      "2. Yes\n",
+      "3. Yes\n",
+      "4. Yes\n",
+      "5. Yes\n",
+      "6. Yes\n",
+      "7. Yes\n",
+      "8. Yes\n",
+      "9. Yes\n",
+      "10. Yes\n",
+      "11. Yes\n",
+      "12. Yes\n",
+      "13. Yes\n",
+      "14. Yes\n",
+      "15. Yes\n",
+      "16. Yes\n",
+      "17. Yes\n",
+      "18. Yes\n",
+      "19. Yes\n",
+      "20. Yes\n",
+      "21. Yes\n",
+      "22. Yes\n",
+      "23. No\n",
+      "24. Yes\n",
+      "25. Yes\n",
+      "26. Yes\n",
+      "27. Yes\n",
+      "28. Yes\n",
+      "29. Yes\n",
+      "30. Yes\n",
+      "31. Yes\n",
+      "32. Yes\n",
+      "33. Yes\n",
+      "34. No\n",
+      "35. Yes\n",
+      "36. No\n",
+      "37. Yes\n",
+      "38. No\n",
+      "39. Yes\n",
+      "40. Yes\n",
+      "41. Yes\n",
+      "42. Yes\n",
+      "43. Yes\n",
+      "\n",
+      " New Question\n",
+      "Yes, there is an increased risk for meningiomas in childhood leukemia survivors.\n",
+      "\n",
+      " New Question\n",
+      "No, there is no conclusive evidence to suggest that ACE inhibitors or ARBs increase the likelihood of severe COVID-19.\n",
+      "\n",
+      " New Question\n",
+      "1. Yes\n",
+      "2. Yes\n",
+      "3. Yes\n",
+      "4. Yes\n",
+      "5. Yes\n",
+      "6. No\n",
+      "7. Yes\n",
+      "8. No\n",
+      "9. Yes\n",
+      "10. Yes\n",
+      "11. No\n",
+      "12. No\n",
+      "13. Yes\n",
+      "14. Yes\n",
+      "15. No\n",
+      "16. Yes\n",
+      "17. Yes\n",
+      "18. Yes\n",
+      "19. Yes\n",
+      "20. Yes\n",
+      "21. Yes\n",
+      "22. Yes\n",
+      "23. Yes\n",
+      "24. Yes\n",
+      "25. No\n",
+      "26. Yes\n",
+      "27. Yes\n",
+      "\n",
+      " New Question\n",
+      "No, the provided text does not contain any information indicating that omaveloxolone is a suppressor of Nrf2.\n",
+      "\n",
+      " New Question\n",
+      "No information regarding the protective effects of trimetazidine on myocardial injury after percutaneous coronary intervention is provided in the given text.\n",
+      "\n",
+      " New Question\n",
+      "1. Yes\n",
+      "2. Yes\n",
+      "3. Yes\n",
+      "4. Yes\n",
+      "5. No\n",
+      "6. Yes\n",
+      "7. Yes\n",
+      "8. Yes\n",
+      "9. Yes\n",
+      "10. Yes\n",
+      "11. Yes\n",
+      "12. This information is not relevant to the question about TERT promoter mutation and survival of glioblastoma patients.\n",
+      "\n",
+      " New Question\n",
+      "Yes, the provided text suggests that intepirdine has been evaluated in clinical trials.\n",
+      "\n",
+      " New Question\n",
+      "Yes, interactomes are available for both POU5F1 and SOX2. The provided text does not contain information regarding the specific interactomes.\n",
+      "\n",
+      " New Question\n",
+      "No, the provided text does not contain any information regarding the efficacy of sacituzumab govitecan for breast cancer.\n",
+      "\n",
+      " New Question\n",
+      "Yes, twin-twin transfusion syndrome typically involves monozygotic twins.\n",
+      "\n",
+      " New Question\n",
+      "1. Yes\n",
+      "2. No\n",
+      "3. No\n",
+      "4. Yes\n",
+      "5. No\n",
+      "6. Yes\n",
+      "7. No\n",
+      "8. Yes\n",
+      "9. Yes\n",
+      "10. Yes\n",
+      "11. No\n",
+      "12. Yes\n",
+      "13. No\n",
+      "14. No\n",
+      "15. Yes\n",
+      "16. Yes\n",
+      "17. Yes\n",
+      "18. Yes\n",
+      "19. Yes\n",
+      "20. Yes\n",
+      "21. Yes\n",
+      "22. Yes\n",
+      "23. Yes\n",
+      "24. Yes\n",
+      "25. No\n",
+      "26. Yes\n",
+      "27. Yes\n",
+      "28. Yes\n",
+      "29. Yes\n",
+      "30. Yes\n",
+      "31. Yes\n",
+      "32. Yes\n",
+      "33. Yes\n",
+      "34. Yes\n",
+      "35. Yes\n",
+      "36. Yes\n",
+      "\n",
+      " New Question\n",
+      "No relevant information regarding the effect of gavestinel on stroke patient outcomes was found within the provided context.\n",
+      "\n",
+      " New Question\n",
+      "Yes, there is evidence for de novo genesis of enhancers in vertebrates.\n",
+      "\n",
+      " New Question\n",
+      "Yes, protein is a broader category of royal jelly. (question 21, 22, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36)\n",
+      "\n",
+      " New Question\n",
+      "No data regarding the impact of xaliproden on the prognosis of Amyotrophic Lateral Sclerosis (ALS) is provided in the given context.\n",
+      "\n",
+      " New Question\n",
+      "Yes, ADP-ribosylation is a post-translational modification (PTM).\n",
+      "\n",
+      " New Question\n",
+      "Yes, ultrasound can be used to detect gas vesicles.\n",
+      "\n",
+      " New Question\n",
+      "Yes, tocilizumab is considered a csDMARD.\n",
+      "\n",
+      " New Question\n",
+      "1. Yes\n",
+      "2. Yes\n",
+      "3. Yes\n",
+      "4. Yes\n",
+      "5. Yes\n",
+      "6. Yes\n",
+      "7. Yes\n",
+      "8. Yes\n",
+      "9. Yes\n",
+      "10. Yes\n",
+      "11. Yes\n",
+      "12. Yes\n",
+      "13. Yes\n",
+      "14. Yes\n",
+      "15. Yes\n",
+      "16. Yes\n",
+      "17. Yes\n",
+      "18. Yes\n",
+      "19. Yes\n",
+      "20. Yes\n",
+      "21. Yes\n",
+      "22. Yes\n",
+      "23. Yes\n",
+      "24. Yes\n",
+      "25. Yes\n",
+      "26. Yes\n",
+      "27. Yes\n",
+      "28. Yes\n",
+      "\n",
+      " New Question\n",
+      "Yes, gabapentin has been shown to be effective for chronic pelvic pain.\n",
+      "\n",
+      " New Question\n",
+      "1. Yes\n",
+      "2. Yes\n",
+      "3. Yes\n",
+      "4. Yes\n",
+      "5. False\n",
+      "6. False\n",
+      "7. True\n",
+      "8. Yes\n",
+      "9. True\n",
+      "10. True\n",
+      "11. True\n",
+      "12. False\n",
+      "13. True\n",
+      "14. False\n",
+      "15. True\n",
+      "16. True\n",
+      "17. True\n",
+      "18. True\n",
+      "19. False\n",
+      "20. True\n",
+      "21. True\n",
+      "22. True\n",
+      "23. True\n",
+      "24. False\n",
+      "25. True\n",
+      "26. True\n",
+      "27. True\n",
+      "28. True\n",
+      "29. True\n",
+      "30. True\n",
+      "31. True\n",
+      "32. True\n",
+      "33. False\n",
+      "34. True\n",
+      "35. True\n",
+      "\n",
+      " New Question\n",
+      "Yes, NADPH oxidase 5 requires a subunit for function. The provided text suggests that multiple terms are aliases for NADPH oxidase 5, indicating it's a complex with multiple subunits.\n",
+      "\n",
+      " New Question\n",
+      "1. Yes\n",
+      "2. No\n",
+      "3. No\n",
+      "4. Yes\n",
+      "5. Yes\n",
+      "6. Yes\n",
+      "7. Yes\n",
+      "8. Yes\n",
+      "9. No\n",
+      "10. No\n",
+      "11. No\n",
+      "12. No\n",
+      "13. No\n",
+      "14. No\n",
+      "15. Yes\n",
+      "16. Yes\n",
+      "17. Yes\n",
+      "18. No\n",
+      "19. No\n",
+      "20. No\n",
+      "21. Yes\n",
+      "22. Yes\n",
+      "23. Yes\n",
+      "24. No\n",
+      "25. No\n",
+      "26. No\n",
+      "27. No\n",
+      "28. Yes\n",
+      "29. Yes\n",
+      "30. Yes\n",
+      "31. Yes\n",
+      "32. Yes\n",
+      "33. Yes\n",
+      "34. Yes\n",
+      "35. Yes\n",
+      "36. Yes\n",
+      "37. Yes\n",
+      "38. Yes\n",
+      "39. Yes\n",
+      "40. Yes\n",
+      "41. Yes\n",
+      "42. Yes\n",
+      "43. Yes\n",
+      "44. Yes\n",
+      "45. Yes\n",
+      "46. Yes\n",
+      "47. Yes\n",
+      "48. Yes\n",
+      "\n",
+      " New Question\n",
+      "1. Yes\n",
+      "2. Yes\n",
+      "3. Yes\n",
+      "4. Yes\n",
+      "5. Yes\n",
+      "6. Yes\n",
+      "7. Yes\n",
+      "8. Yes\n",
+      "9. Yes\n",
+      "10. Yes\n",
+      "11. No\n",
+      "12. Yes\n",
+      "13. No\n",
+      "14. No\n",
+      "15. Yes\n",
+      "16. Yes\n",
+      "17. Yes\n",
+      "18. Yes\n",
+      "\n",
+      " New Question\n",
+      "The provided text contains no information regarding lucatumumab binding to CD140, so I am unable to answer this question from the given context.\n",
+      "\n",
+      " New Question\n",
+      "1. Yes\n",
+      "2. No\n",
+      "3. Yes\n",
+      "4. Yes\n",
+      "5. Yes\n",
+      "6. No\n",
+      "7. Yes\n",
+      "8. Yes\n",
+      "9. Yes\n",
+      "10. Yes\n",
+      "11. Yes\n",
+      "12. Yes\n",
+      "13. Yes\n",
+      "14. Yes\n",
+      "15. Yes\n",
+      "16. Yes\n",
+      "17. No\n",
+      "18. No\n",
+      "19. No\n",
+      "20. Yes\n",
+      "21. No\n",
+      "22. No\n",
+      "23. No\n",
+      "24. No\n",
+      "25. Yes\n",
+      "26. No\n",
+      "27. Yes\n",
+      "28. No\n",
+      "29. Yes\n",
+      "30. No\n",
+      "\n",
+      " New Question\n",
+      "Yes, based on the provided information, atenolol is metabolized by CYP2D6.\n",
+      "\n",
+      " New Question\n",
+      "No, ALVAC-HIV was not effective for HIV prevention in the HVTN 702 trial.\n",
+      "\n",
+      " New Question\n",
+      "Yes, proton pump inhibitors can affect thyroxine absorption.\n",
+      "\n",
+      " New Question\n",
+      "The provided text does not contain any information regarding the use of mogamulizumab for the treatment of cutaneous T-cell lymphoma, so I cannot answer this question from the given context.\n",
+      "\n",
+      " New Question\n",
+      "8. Yes\n",
+      "\n",
+      " New Question\n",
+      "1. Yes\n",
+      "2. Yes\n",
+      "3. No\n",
+      "4. Yes\n",
+      "5. Yes\n",
+      "6. Yes\n",
+      "7. Yes\n",
+      "8. Yes\n",
+      "9. Yes\n",
+      "10. Yes\n",
+      "11. No\n",
+      "12. No\n",
+      "13. Yes\n",
+      "14. Yes\n",
+      "15. Yes\n",
+      "16. Yes\n",
+      "17. Yes\n",
+      "18. Yes\n",
+      "19. Yes\n",
+      "20. Yes\n",
+      "21. Yes\n",
+      "22. No\n",
+      "\n",
+      " New Question\n",
+      "No, therapeutic levels of Vedolizumab have not been detected in breast milk following treatment for Inflammatory Bow Disease.\n",
+      "\n",
+      " New Question\n",
+      "1. Yes\n",
+      "2. Yes\n",
+      "3. Yes\n",
+      "4. No\n",
+      "5. Yes\n",
+      "6. No\n",
+      "7. Yes\n",
+      "8. Yes\n",
+      "9. Yes\n",
+      "10. Yes\n",
+      "11. Yes\n",
+      "\n",
+      " New Question\n",
+      "No relevant information regarding the effectiveness of Enzastaurin for glioblastoma survival is provided in the given text.\n",
+      "\n",
+      " New Question\n",
+      "1. Yes\n",
+      "2. Yes\n",
+      "3. No\n",
+      "4. No\n",
+      "5. No\n",
+      "6. Yes\n",
+      "7. Yes\n",
+      "\n",
+      " New Question\n"
+     ]
+    }
+   ],
+   "source": [
+    "for i in [2,13,16,25,30,40,44,49,50,51,60,62,67,68,69,82,93,94,97,107,111,113,125,129,133,137,138,141,142,144,165,172,178,182,184,185,189,191,193,194]:\n",
+    "    print(f\"{aionlr_responses[2][i]}\\n\\n New Question\")"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# take all yesno questions and extract the medical entities for each one\n",
+    "# check for each entity whether it exists in the db in the field STR of mrconso and note all CUIs\n",
+    "### might have to do some lemmatizing/stemming etc to find the correct form in the db\n",
+    "### also should check against all lower case \n",
+    "#-> only take those where entities were found;;;; might also be interesting to take those where nothing found and say that for relations\n",
+    "# filter out 100 questions yes and 100 no questions\n",
+    "# take the cui to extract all relations\n",
+    "### check if in max token range\n",
+    "### check for direction of relation\n",
+    "### check if stype is not aui or cui\n",
+    "### use RELA but if it does not exist use REL\n",
+    "### check RG for whether the relationship should only be looked at in the context of a relationship group\n",
+    "### check DIR for Y or N \n",
+    "### for multiple CUI options 1. take all 2. take CUI that is most similare to question? \n",
+    "####### checking for \"farther\" relationshipd might be promising as well\n",
+    "#-----> if above maxtoken size filter out relationships/triples that are least similare to the question\n",
+    "# generate NL sentences from triples\n",
+    "# send request to models\n",
+    "\n",
+    "# should check for typical errors with reaching the rate limit and implement waiting\n",
+    "\n",
+    "# statistical test for results\n"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.10.12"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}