derek-thomas HF staff commited on
Commit
2b1afca
·
1 Parent(s): 4b6931c

Updating for falcon

Browse files
00-poe-generate-falcon-reasoning.ipynb CHANGED
@@ -26,7 +26,10 @@
26
  "INPUT_DATASET = 'layoric/labeled-multiple-choice-explained'\n",
27
  "REVISION = '536f3b8'\n",
28
  "OUTPUT_DATASET = 'derek-thomas/labeled-multiple-choice-explained-falcon-reasoning'\n",
29
- "NAMESPACE = 'HF-test-lab' # Use your username or wherever you have the ability to deploy inference endpoints"
 
 
 
30
  ]
31
  },
32
  {
@@ -38,7 +41,7 @@
38
  {
39
  "data": {
40
  "application/vnd.jupyter.widget-view+json": {
41
- "model_id": "aed670be03f741699118c33316dce7ec",
42
  "version_major": 2,
43
  "version_minor": 0
44
  },
@@ -64,7 +67,6 @@
64
  "metadata": {},
65
  "outputs": [],
66
  "source": [
67
- "BASE_MODEL = 'tiiuae/Falcon3-7B-Instruct'\n",
68
  "tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL, token=get_token())"
69
  ]
70
  },
@@ -72,7 +74,9 @@
72
  "cell_type": "markdown",
73
  "id": "ef2d177e-3651-4747-be3c-648be3a9b5ff",
74
  "metadata": {},
75
- "source": "# Falcon Prompt Creation"
 
 
76
  },
77
  {
78
  "cell_type": "code",
@@ -383,7 +387,7 @@
383
  " <tr style=\"text-align: right;\">\n",
384
  " <th></th>\n",
385
  " <th>formatted_question</th>\n",
386
- " <th>combinedfact</th>\n",
387
  " <th>answer_key</th>\n",
388
  " <th>topic</th>\n",
389
  " <th>explanation</th>\n",
@@ -497,7 +501,7 @@
497
  "8411 what is essential for cellular respiration for... \n",
498
  "8412 what helps insulate and protect the body? (a) ... \n",
499
  "\n",
500
- " combinedfact answer_key \\\n",
501
  "0 satellite technology is used for predicting wh... c \n",
502
  "1 irradiated food improves food safety. c \n",
503
  "2 fiber follicles protect mammal skin a \n",
@@ -609,7 +613,7 @@
609
  " <tr style=\"text-align: right;\">\n",
610
  " <th></th>\n",
611
  " <th>formatted_question</th>\n",
612
- " <th>combinedfact</th>\n",
613
  " <th>answer_key</th>\n",
614
  " <th>topic</th>\n",
615
  " <th>explanation</th>\n",
@@ -747,7 +751,7 @@
747
  "8411 what is essential for cellular respiration for... \n",
748
  "8412 what helps insulate and protect the body? (a) ... \n",
749
  "\n",
750
- " combinedfact answer_key \\\n",
751
  "0 satellite technology is used for predicting wh... c \n",
752
  "1 irradiated food improves food safety. c \n",
753
  "2 fiber follicles protect mammal skin a \n",
@@ -868,21 +872,22 @@
868
  "system_prompt = \"\"\"You are an AI assistant that helps people find information. User will give you a question. Your task is to answer as faithfully as you can, and most importantly, provide explanation why incorrect answers are not correct. While answering think step-by-step and justify your answer.\"\"\"\n",
869
  "\n",
870
  "def create_reasoning_prompt(row):\n",
871
- " reasoning_instructions = f\"\"\"\n",
872
- "Topic: {row['topic']}\n",
873
  "Question: {row['question_text']}\n",
 
874
  "\n",
875
  "### Answer\n",
876
- "The correct answer is:\n",
877
- "{row['answer_key']}). {row['answer']}\n",
878
  "\n",
879
- "### Explanation:\n",
880
  "Let's break it down step by step.\n",
881
  "\n",
882
  "1. Read the question and options carefully.\n",
883
  "2. Identify the differences between the options.\n",
884
  "3. Determine which options are not logical based on the difference.\n",
885
  "4. Go through each incorrect answer providing an explanation why it is incorrect.\n",
 
 
886
  "\"\"\"\n",
887
  "\n",
888
  " return [{\"role\": \"system\", \"content\": system_prompt}, {\"role\": \"user\", \"content\": reasoning_instructions}]\n"
@@ -906,25 +911,11 @@
906
  "name": "stdout",
907
  "output_type": "stream",
908
  "text": [
909
- "[{'role': 'user', 'content': \"You are an AI assistant that helps people find information. User will give you a question and an answer. Your task is to explain your reasoning of the correct answer and provide explanation why incorrect answers are not correct. While answering, think step-by-step and justify your answer.\\n\\nTopic: Technology\\nQuestion: What is satellite technology used for predicting?\\nAnswer Choices: (a) Seconds and minutes (b) The strength and magnitude of an earthquake (c) What it's like outside each day (d) 70-75 degrees fahrenheit (e) Rapid changes occur (f) Dead-ends and false starts. (g) Snow, ice, and rock (h) Around 5 to 27 degrees celsius\\n\\nThe correct answer is: (c)\\n\\n### Reasoning:\\nLet's break it down step by step.\\n\\n1. Read the question and options carefully.\\n2. Identify the differences between the options.\\n3. Determine which options are not logical based on the difference.\\n4. Go through each incorrect answer providing an explanation why it is incorrect.\"}]\n",
910
  "\n",
911
  "---\n",
912
  "\n",
913
- "You are an AI assistant that helps people find information. User will give you a question and an answer. Your task is to explain your reasoning of the correct answer and provide explanation why incorrect answers are not correct. While answering, think step-by-step and justify your answer.\n",
914
- "\n",
915
- "Topic: Technology\n",
916
- "Question: What is satellite technology used for predicting?\n",
917
- "Answer Choices: (a) Seconds and minutes (b) The strength and magnitude of an earthquake (c) What it's like outside each day (d) 70-75 degrees fahrenheit (e) Rapid changes occur (f) Dead-ends and false starts. (g) Snow, ice, and rock (h) Around 5 to 27 degrees celsius\n",
918
- "\n",
919
- "The correct answer is: (c)\n",
920
- "\n",
921
- "### Reasoning:\n",
922
- "Let's break it down step by step.\n",
923
- "\n",
924
- "1. Read the question and options carefully.\n",
925
- "2. Identify the differences between the options.\n",
926
- "3. Determine which options are not logical based on the difference.\n",
927
- "4. Go through each incorrect answer providing an explanation why it is incorrect.\n"
928
  ]
929
  }
930
  ],
@@ -943,7 +934,7 @@
943
  "outputs": [
944
  {
945
  "data": {
946
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAHHCAYAAABeLEexAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABDaElEQVR4nO3deVxV1d7H8e9BmRwAEQG5Kmqa83AzB3JOE6dyqnudUsuyATTTrLx5U7OyNIcG03zK6TZodrN8nBJnU7M0yRmHLCxBQwUEFRHW80cv9tMRVMTDoPvzfr32q/baa6/z2yuFb3s422GMMQIAALAxt8IuAAAAoLARiAAAgO0RiAAAgO0RiAAAgO0RiAAAgO0RiAAAgO0RiAAAgO0RiAAAgO0RiAAAgO0RiIBCVrlyZQ0aNKiwy7jtTZ48WVWrVlWxYsXUsGHDfP2sDRs2yOFw6IsvvsjXzwHgOgQiwIXmzZsnh8OhHTt25Li9TZs2qlu37k1/zooVKzRu3LibHscuVq9ereeff17NmzfX3Llz9frrr2frkxVicrPcii5evKhp06apadOm8vX1lZeXl+68805FRkbq0KFDhV2eJGnr1q0aN26cEhMTC7sU2FDxwi4AsLuYmBi5ud3Y/5usWLFCM2bMIBTl0rp16+Tm5qaPPvpIHh4eOfapVauW/vOf/zi1jR49WqVKldJLL71UEGXmm4SEBHXs2FE7d+5U165d1bdvX5UqVUoxMTFauHChZs+erUuXLhV2mdq6davGjx+vQYMGyc/Pr7DLgc0QiIBC5unpWdgl3LDU1FSVLFmysMvItVOnTsnb2/uqYUiSgoKC1L9/f6e2N954QwEBAdnabzWDBg3Srl279MUXX6hXr15O2yZMmHDLBz7AFbhkBhSyK+8hSk9P1/jx41W9enV5eXmpbNmyatGihaKioiT9+cttxowZkpTjZZzU1FSNHDlSFStWlKenp2rUqKG33npLxhinz71w4YKGDRumgIAAlS5dWg888IB+//13ORwOpzNP48aNk8Ph0P79+9W3b1+VKVNGLVq0kCTt3r1bgwYNUtWqVeXl5aXg4GA9+uijOn36tNNnZY1x6NAh9e/fX76+vipXrpz+/e9/yxij48ePq1u3bvLx8VFwcLCmTJmSq7m7fPmyJkyYoDvuuEOenp6qXLmy/vWvfyktLc3q43A4NHfuXKWmplpzNW/evFyNn5Off/5ZDz30kPz9/VWiRAk1a9ZMy5cvv+5+aWlp6tq1q3x9fbV161ZJUmZmpqZPn646derIy8tLQUFBeuKJJ3T27FmnfStXrqyuXbvq22+/VZMmTeTl5aWqVatqwYIF1/3c7du3a/ny5Ro8eHC2MCT9Gcjfeustp7Z169apZcuWKlmypPz8/NStWzcdOHDAqc+gQYNUuXLlbONl/bf+K4fDocjISH311VeqW7euPD09VadOHa1atcppv1GjRkmSqlSpYv23+uWXXyRJUVFRatGihfz8/FSqVCnVqFFD//rXv657/EBucYYIyAdJSUlKSEjI1p6enn7dfceNG6eJEyfqscceU5MmTZScnKwdO3boxx9/1H333acnnnhCJ06cUFRUVLZLPMYYPfDAA1q/fr0GDx6shg0b6ptvvtGoUaP0+++/a9q0aVbfQYMG6fPPP9fDDz+sZs2aaePGjerSpctV63rooYdUvXp1vf7661a4ioqK0s8//6xHHnlEwcHB2rdvn2bPnq19+/bpu+++y/aL8Z///Kdq1aqlN954Q8uXL9err74qf39/ffDBB7r33nv15ptv6pNPPtFzzz2nxo0bq1WrVtecq8cee0zz58/Xgw8+qJEjR2r79u2aOHGiDhw4oCVLlkiS/vOf/2j27Nn6/vvv9eGHH0qS7rnnnuv+d8jJyZMndc899+j8+fMaNmyYypYtq/nz5+uBBx7QF198oR49euS434ULF9StWzft2LFDa9asUePGjSVJTzzxhObNm6dHHnlEw4YN07Fjx/Tee+9p165d2rJli9zd3a0xjhw5ogcffFCDBw/WwIEDNWfOHA0aNEiNGjVSnTp1rlrz0qVLJUkPP/xwro5xzZo16tSpk6pWrapx48bpwoULevfdd9W8eXP9+OOPOYag3Pj222/15Zdf6umnn1bp0qX1zjvvqFevXoqNjVXZsmXVs2dPHTp0SJ999pmmTZumgIAASVK5cuW0b98+de3aVfXr19crr7wiT09PHTlyRFu2bMlTLUCODACXmTt3rpF0zaVOnTpO+4SGhpqBAwda6w0aNDBdunS55udERESYnP76fvXVV0aSefXVV53aH3zwQeNwOMyRI0eMMcbs3LnTSDLDhw936jdo0CAjyYwdO9ZqGzt2rJFk+vTpk+3zzp8/n63ts88+M5LM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d911lzw9PVWtWjXNmzcvvw8PAADcIgo1EG3cuFERERH67rvvFBUVpfT0dHXo0EGpqalO/R5//HHFxcVZy6RJk6xtGRkZ6tKliy5duqStW7dq/vz5mjdvnl5++WWrz7Fjx9SlSxe1bdtW0dHRGj58uB577DF98803BXasAACg6CpSb7v/448/FBgYqI0bN6pVq1aS/jxD1LBhQ02fPj3HfVauXKmuXbvqxIkTCgoKkiTNmjVLL7zwgv744w95eHjohRde0PLly7V3715rv969eysxMVGrVq26bl3Jycny9fVVUlIS30MEAMAt4kZ+fxepe4iSkpIkSf7+/k7tn3zyiQICAlS3bl2NHj1a58+ft7Zt27ZN9erVs8KQJIWHhys5OVn79u2z+rRv395pzPDwcG3bti3HOtLS0pScnOy0AACA21eR+abqzMxMDR8+XM2bN1fdunWt9r59+yo0NFQhISHavXu3XnjhBcXExOjLL7+UJMXHxzuFIUnWenx8/DX7JCcn68KFC/L29nbaNnHiRI0fP97lxwgAAIqmIhOIIiIitHfvXn377bdO7UOGDLH+vV69eipfvrzatWuno0eP6o477siXWkaPHq0RI0ZY61nvQgEAALenInHJLDIyUsuWLdP69euv+zbapk2bSpKOHDkiSQoODtbJkyed+mStBwcHX7OPj49PtrNDkuTp6Wm9t4z3lwEAcPsr1EBkjFFkZKSWLFmidevWqUqVKtfdJzo6WpJUvnx5SVJYWJj27NmjU6dOWX2ioqLk4+Oj2rVrW33Wrl3rNE5UVJTCwsJcdCQAAOBWVqiBKCIiQh9//LE+/fRTlS5dWvHx8YqPj9eFCxckSUePHtWECRO0c+dO/fLLL1q6dKkGDBigVq1aqX79+pKkDh06qHbt2nr44Yf1008/6ZtvvtGYMWMUEREhT09PSdKTTz6pn3/+Wc8//7wOHjyo999/X59//rmeffbZQjt2AABQdBTqY/cOhyPH9rlz52rQoEE6fvy4+vfvr7179yo1NVUVK1ZUjx49NGbMGKfLWL/++queeuopbdiwQSVLltTAgQP1xhtvqHjx/79FasOGDXr22We1f/9+VahQQf/+9781aNCgXNXJY/fZxcbGKiEhIV/GDggIUKVKlfJlbACAfdzI7+8i9T1ERRWByFlsbKxq1KylixfOX79zHnh5l1DM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AgAAtkcgAgAAtkcgAgAAtkcgAgAAtkcgAgAAtkcgAgAAtkcgAgAAtleogWjTpk26//77FRISIofDoa+++spp+6BBg+RwOJyWjh07OvU5c+aM+vXrJx8fH/n5+Wnw4MFKSUlx6rN79261bNlSXl5eqlixoiZNmpTfhwYAAG4heQpEP//8s0s+PDU1VQ0aNNCMGTOu2qdjx46Ki4uzls8++8xpe79+/bRv3z5FRUVp2bJl2rRpk4YMGWJtT05OVocOHRQaGqqdO3dq8uTJGjdunGbPnu2SYwAAALe+4nnZqVq1amrdurUGDx6sBx98UF5eXnn68E6dOqlTp07X7OPp6ang4OActx04cECrVq3SDz/8oLvvvluS9O6776pz58566623FBISok8++USXLl3SnDlz5OHhoTp16ig6OlpTp051Ck4AAMC+8nSG6Mcff1T9+vU1YsQIBQcH64knntD333/v6tokSRs2bFBgYKBq1Kihp556SqdPn7a2bdu2TX5+flYYkqT27dvLzc1N27dvt/q0atVKHh4eVp/w8HDFxMTo7NmzOX5mWlqakpOTnRYAAHD7ylMgatiwod5++22dOHFCc+bMUVxcnFq0aKG6detq6tSp+uOPP1xSXMeOHbVgwQKtXbtWb775pjZu3KhOnTopIyNDkhQfH6/AwECnfYoXLy5/f3/Fx8dbfYKCgpz6ZK1n9bnSxIkT5evray0VK1Z0yfEAAICi6aZuqi5evLh69uypxYsX680339SRI0f03HPPqWLFihowYIDi4uJuqrjevXvrgQceUL169dS9e3ctW7ZMP/zwgzZs2HBT417P6NGjlZSUZC3Hjx/P188DAACF66YC0Y4dO/T000+rfPnymjp1qp577jkdPXpUUVFROnHihLp16+aqOiVJVatWVUBAgI4cOSJJCg4O1qlTp5z6XL58WWfOnLHuOwoODtbJkyed+mStX+3eJE9PT/n4+DgtAADg9pWnQDR16lTVq1dP99xzj06cOKEFCxbo119/1auvvqoqVaqoZcuWmjdvnn788UeXFvvbb7/p9OnTKl++vCQpLCxMiYmJ2rlzp9Vn3bp1yszMVNOmTa0+mzZtUnp6utUnKipKNWrUUJkyZVxaHwAAuDXlKRDNnDlTffv21a+//qqvvvpKXbt2lZub81CBgYH66KOPrjlOSkqKoqOjFR0dLUk6duyYoqOjFRsbq5SUFI0aNUrfffedfvnlF61du1bdunVTtWrVFB4eLkmqVauWOnbsqMcff1zff/+9tmzZosjISPXu3VshISGSpL59+8rDw0ODBw/Wvn37tGjRIr399tsaMWJEXg4dAADchvL02P3hw4ev28fDw0MDBw68Zp8dO3aobdu21npWSBk4cKBmzpyp3bt3a/78+UpMTFRISIg6dOigCRMmyNPT09rnk08+UWRkpNq1ayc3Nzf16tVL77zzjrXd19dXq1evVkREhBo1aqSAgAC9/PLLPHIPAAAseQpEc+fOValSpfTQQw85tS9evFjnz5+/bhDK0qZNGxljrrr9m2++ue4Y/v7++vTTT6/Zp379+tq8eXOuagIAAPaTp0tmEydOVEBAQLb2wMBAvf766zddFAAAQEHKUyCKjY1VlSpVsrWHhoYqNjb2posCAAAoSHkKRIGBgdq9e3e29p9++klly5a96aIAAAAKUp4CUZ8+fTRs2DCtX79eGRkZysjI0Lp16/TMM8+od+/erq4RAAAgX+XppuoJEybol19+Ubt27VS8+J9DZGZmasCAAdxDBAAAbjl5CkQeHh5atGiRJkyYoJ9++kne3t6qV6+eQkNDXV0fAABAvstTIMpy55136s4773RVLQAAAIUiT4EoIyND8+bN09q1a3Xq1CllZmY6bV+3bp1LigMAACgIeQpEzzzzjObNm6cuXbqobt26cjgcrq4LAACgwOQpEC1cuFCff/65Onfu7Op64EKxsbFKSEhw+bgHDhxw+ZgAABSmPN9UXa1aNVfXAheKjY1VjZq1dPHC+cIuBQCAIi9PgWjkyJF6++239d5773G5rIhKSEjQxQvnVbbrSLmXrejSsS/8vENJmz926ZgAABSmPAWib7/9VuvXr9fKlStVp04dubu7O23/8ssvXVIcbp572YryDHbt2bz008ddOh4AAIUtT4HIz89PPXr0cHUtAAAAhSJPgWju3LmurgMAAKDQ5OldZpJ0+fJlrVmzRh988IHOnTsnSTpx4oRSUlJcVhwAAEBByNMZol9//VUdO3ZUbGys0tLSdN9996l06dJ68803lZaWplmzZrm6TgAAgHyTpzNEzzzzjO6++26dPXtW3t7eVnuPHj20du1alxUHAABQEPJ0hmjz5s3aunWrPDw8nNorV66s33//3SWFAQAA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VaooODhYa9eutdqSk5O1fft2hYWFSZLCwsKUmJionTt3Wn3WrVunzMxMNW3a1OqzadMmpaenW32ioqJUo0aNHC+XSZKnp6d8fHycFgAAcPsq1ECUkpKi6OhoRUdHS/rzRuro6GjFxsbK4XBo+PDhevXVV7V06VLt2bNHAwYMUEhIiPVdRbVq1VLHjh31+OOP6/vvv9eWLVsUGRmp3r17KyQkRJLUt29feXh4aPDgwdq3b58WLVqkt99+WyNGjCikowYAAEVNod5UvWPHDrVt29ZazwopAwcO1Lx58/T8888rNTVVQ4YMUWJiolq0aKFVq1bJy8vL2ueTTz5RZGSk2rVrZ30x4zvvvGNt9/X11erVqxUREaFGjRopICBAL7/8Mo/cAwAAS6EGojZt2sgYc9XtDodDr7zyil555ZWr9vH399enn356zc+pX7++Nm/enOc6AQDA7a3I3kMEAABQUAhEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ghEAADA9ooXdgHA7eLAgQMuHzMgIECVKlVy+bgAAGcEIuAmZaSclRwO9e/f3+Vje3mXUMzBA4QiAMhnBCLgJmWmpUjGqGzXkXIvW9Fl46afPq7Ty6YoISGBQAQA+YxABLiIe9mK8gyuVthlAADygJuqAQCA7RGIAACA7RGIAACA7RGIAACA7RGIAACA7RGIAACA7RGIAACA7RGIAACA7RGIAACA7RGIAACA7RGIAACA7RGIAACA7RGIAACA7RGIAACA7RGIAACA7RGIAACA7RXpQDRu3Dg5HA6npWbNmtb2ixcvKiIiQmXLllWpUqXUq1cvnTx50mmM2NhYdenSRSVKlFBgYKBGjRqly5cvF/ShAACAIqx4YRdwPXXq1NGaNWus9eLF/7/kZ599VsuXL9fixYvl6+uryMhI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505r+7p165SZmammTZvm/0EUkOvN1fnz5yVJbm7Ov5qKFStmnWmzy1zlJDMzU2lpafxszy+Feks3bspTTz1lfH19zYYNG0xcXJy1nD9/3urz5JNPmkqVKpl169aZHTt2mLCwMBMWFmZtz3o0s0OHDiY6OtqsWrXKlCtX7rZ7NPN6c5WUlGSaNm1q6tWrZ44cOeLU5/Lly8YY5uqvf66upKs8dn+7z5UxuZuvadOmGR8fH7N48WJz+PBhM2bMGOPl5WWOHDli9enYsaP5+9//brZv326+/fZbU7169dvuUfLrzdWlS5dMtWrVTMuWLc327dvNkSNHzFtvvWUcDodZvny5NY4d5urFF180GzduNMeOHTO7d+82L774onE4HGb16tXGGH625wcC0S1MUo7L3LlzrT4XLlwwTz/9tClTpowpUaKE6dGjh4mLi3Ma55dffjGdOnUy3t7eJiAgwIwcOdJ61Px2cb25Wr9+/VX7HDt2zBqHubr6Pn8NRMbYY66Myf18TZw40VSoUMGUKFHChIWFmc2bNzttP336tOnTp48pVaqU8fHxMY888og5d+5cAR5J/svNXB06dMj07NnTBAYGmhIlSpj69etnewzfDnP16KOPmtDQUOPh4WHKlStn2rVrZ4UhY/jZnh8cxhiTn2egAAAAijruIQIAALZHIAIAALZHIAIAALZHIAIAALZHIAIAALZHIAIAALZHIAIAALZHIAJQJP3yyy9yOBzWq0EAID8RiADkG4fDcc1l3LhxhV1ijo4cOaJHHnlEFSpUkKenp6pUqaI+ffpox44dBVoHoRAoOMULuwAAt6+4uDjr3xctWqSXX37Z6SWnpUqVKoyyrmnHjh1q166d6tatqw8++EA1a9bUuXPn9PXXX2vkyJHauHFjYZcIIB9whghAvgkODrYWX19fORwOaz0wMFBTp061zsI0bNhQq1atuupYGRkZevTRR1WzZk3FxsZKkr7++mvddddd8vLyUtWqVTV+/HhdvnzZ2sfhcOjDDz9Ujx49VKJECVWvXl1Lly696mcYYzRo0CBVr15dmzdvVpcuXXTHHXeoYcOGGjt2rL7++mur7549e3TvvffK29tbZcuW1ZAhQ5SSkmJtb9OmjYYPH+40fvfu3TVo0CBrvXLlynr99df16KOPqnTp0qpUqZJmz55tbc96G/zf//53ORwOtWnT5przDSDvCEQACsXbb7+tKVOm6K233tLu3bsVHh6uBx54QIcPH87WNy0tTQ899JCio6O1efNmVapUSZs3b9aAAQP0zDPPaP/+/frggw80b948vfbaa077jh8/Xv/4xz+0e/dude7cWf369dOZM2dyrCk6Olr79u3TyJEj5eaW/cejn5+fJCk1NVXh4eEqU6aMfvjhBy1evFhr1qxRZGTkDc/DlClTdPfdd2vXrl16+umn9dRTT1ln0b7//ntJ0po1axQXF6cvv/zyhscHkEuF/HJZADYxd+5c4+vra62HhISY1157zalP48aNzdNPP22MMebYsWNGktm8ebNp166dadGihUlMTLT6tmvXzrz++utO+//nP/8x5cuXt9YlmTFjxljrKSkpRpJZuXJljjUuWrTISDI//vjjNY9l9uzZpkyZMiYlJcVqW758uXFzczPx8fHGGGNat25tnnnmGaf9unXrZgYOHGith4aGmv79+1vrmZmZJjAw0MycOdNpDnbt2nXNegDcPO4hAlDgkpOTdeLECTVv3typvXnz5vrpp5+c2vr06aMKFSpo3bp18vb2ttp/+uknbdmyxemMUEZGhi5evKjz58+rRIkSkqT69etb20uWLCkfHx+dOnUqx7qMMbmq/8CBA2rQoIFKlizpVHtmZqZiYmIUFBSUq3GurC/rkuLV6gOQf7hkBqBI69y5s3bv3q1t27Y5taekpGj8+PGKjo62lj179ujw4cPy8vKy+rm7uzvt53A4lJmZmeNn3XnnnZKkgwcP3nTdbm5u2QJWenp6tn43Uh+A/EMgAlDgfHx8FBISoi1btji1b9myRbVr13Zqe+qpp/TGG2/ogQcecHrC66677lJMTIyqVauWbcnp/p/caNiwoWrXrq0pU6bkGEoSExMlSbVq1dJPP/2k1NRUp9rd3NxUo0YNSVK5cuWcnrLLyMjQ3r17b6geDw8Pa18A+YtABKBQjBo1Sm+++aYWLVqkmJgYvfjii4qOjtYzzzyTre/QoUP16quvqmvXrvr2228lSS+//LIWLFig8ePHa9++fTpw4IAWLlyoMWPG5Lkmh8OhuXPn6tChQ2rZsqVWrFihn3/+Wbt379Zrr72mbt26SZL69esnLy8vDRw4UHv37tX69es1dOhQPfzww9blsnvvvVfLly/X8uXLdfDgQT311FNWoMqtwMBAeXt7a9WqVTp58qSSkpLyfGwAro1ABKBQDBs2TCNGjNDIkSNVr149rVq1SkuXLlX16tVz7D98+HCNHz9enTt31tatWxUeHq5ly5Zp9erVaty4sZo1a6Zp06YpNDT0pupq0qSJduzYoWrVqunxxx9XrVq19MADD2jfvn2aPn26JKlEiRL65ptvdObMGTVu3FgPPvig2rVrp/fee88a59FHH9XAgQM1YMAAtW7dWlWrVlXbtm1vqJbixYvrnXfe0QcffKCQkBArkAFwPYfJ7V2EAAAAtynOEAEAANsjEAEAANsjEAEAANsjEAEAANsjEAEAANsjEAEAANsjEAEAANsjEAEAANsjEAEAANsjEAEAANsjEAEAANsjEAEAANv7P02mbcQUBh7zAAAAAElFTkSuQmCC",
947
  "text/plain": [
948
  "<Figure size 640x480 with 1 Axes>"
949
  ]
@@ -955,7 +946,7 @@
955
  "name": "stdout",
956
  "output_type": "stream",
957
  "text": [
958
- "313 193\n"
959
  ]
960
  }
961
  ],
@@ -1002,13 +993,8 @@
1002
  " # Custom Docker image details\n",
1003
  " custom_image = {\n",
1004
  " \"health_route\": \"/health\",\n",
1005
- " \"url\": \"ghcr.io/huggingface/text-generation-inference:2.4.1\", # This is the min version\n",
1006
  " \"env\": {\n",
1007
- " \"MAX_BATCH_PREFILL_TOKENS\": \"8192\",\n",
1008
- " \"MAX_INPUT_TOKENS\": \"320\", # Set according to your needs\n",
1009
- " \"MAX_TOTAL_TOKENS\": \"2000\", # Set according to your needs\n",
1010
- " \"DISABLE_CUSTOM_KERNELS\": 'false',\n",
1011
- " \"MODEL_ID\": \"/repository\"\n",
1012
  " },\n",
1013
  " }\n",
1014
  " \n",
@@ -1027,16 +1013,16 @@
1027
  " instance_type=\"nvidia-l4\",\n",
1028
  " region=\"us-east-1\",\n",
1029
  " vendor=\"aws\",\n",
1030
- " min_replica=4,\n",
1031
- " max_replica=4,\n",
1032
  " task=\"text-generation\",\n",
1033
  " custom_image=custom_image,\n",
1034
  " secrets=secrets\n",
1035
  " )\n",
1036
  " # endpoint.wait()\n",
1037
  " \n",
1038
- " print(\"Your model is ready to use!\")\n",
1039
  " endpoint.wait()\n",
 
1040
  " return endpoint"
1041
  ]
1042
  },
@@ -1050,11 +1036,14 @@
1050
  "name": "stdout",
1051
  "output_type": "stream",
1052
  "text": [
1053
- "Your model is ready to use!\n"
 
 
1054
  ]
1055
  }
1056
  ],
1057
  "source": [
 
1058
  "endpoint = get_my_endpoint()"
1059
  ]
1060
  },
@@ -1065,31 +1054,46 @@
1065
  "metadata": {},
1066
  "outputs": [
1067
  {
1068
- "data": {
1069
- "text/plain": [
1070
- "'(a) Seconds and minutes: Satellite technology is not used for predicting seconds or minutes with precision. While atomic clocks on satellites help keep time for GPS, they are not used for predicting seconds or minutes in the general sense.\\n\\n(b) The strength and magnitude of an earthquake: While satellite technology can detect earthquakes based on changes in ground motion, it is not used to predict earthquakes accurately. The movements of tectonic plates are not predictable with sufficient certainty to allow for accurate earthquake prediction.\\n\\n(d) 70-75 degrees fahrenheit: Satellite technology is not used to predict temperature in this specific range. Satellites can help monitor and predict temperature variations globally, but they cannot target a specific temperature range, especially one as narrow as 70-75°F.\\n\\n(e) Rapid changes occur: Satellite technology is not applicable to predict rapid changes in general, as they may refer to various phenomena, not just those related to satellite-monitored data.\\n\\n(f) Dead-ends and false starts: Satellite technology does not provide information on dead-ends and false starts. These concepts are related to navigation or decision-making processes, not satellite observations.\\n\\n(h) Around 5 to 27 degrees celsius: Just as with the Fahrenheit example, satellites are not used to predict a specific temperature range like this. Satellite technology can help predict temperature variations, but it does not target a specific range of temperatures.\\n\\nNow, we are left with option (c) \"What it\\'s like outside each day.\"\\n\\nSatellite technology is extensively used in monitoring and predicting weather patterns and providing us with up-to-date information about our weather conditions. This includes cloud cover, rainfall, temperature, and wind speeds. In this way, we can understand what it\\'s like outside on any given day.'"
1071
- ]
1072
- },
1073
- "execution_count": 16,
1074
- "metadata": {},
1075
- "output_type": "execute_result"
 
 
 
 
 
 
 
 
 
 
 
 
 
1076
  }
1077
  ],
1078
  "source": [
1079
- "response = endpoint.client.chat_completion(df['falcon_reasoning_prompt'].iloc[0], max_tokens=1650)\n",
1080
- "response.choices[0].message.content"
1081
  ]
1082
  },
1083
  {
1084
  "cell_type": "code",
1085
  "execution_count": 17,
1086
- "id": "7d3f0277-8b3a-4171-bcb5-b8bda5d5f242",
1087
- "metadata": {},
 
 
1088
  "outputs": [
1089
  {
1090
  "data": {
1091
  "application/vnd.jupyter.widget-view+json": {
1092
- "model_id": "8e2aee49e93d4df492e32706b9a0b6f4",
1093
  "version_major": 2,
1094
  "version_minor": 0
1095
  },
@@ -1099,52 +1103,141 @@
1099
  },
1100
  "metadata": {},
1101
  "output_type": "display_data"
 
 
 
 
 
 
 
 
1102
  }
1103
  ],
1104
  "source": [
 
 
1105
  "import nest_asyncio\n",
1106
  "import asyncio\n",
1107
  "import pandas as pd\n",
1108
  "from concurrent.futures import ThreadPoolExecutor\n",
1109
  "from tqdm.notebook import tqdm\n",
1110
  "\n",
1111
- "# Assuming 'endpoint' and 'df' are already defined\n",
1112
- "\n",
1113
  "nest_asyncio.apply()\n",
1114
  "\n",
1115
- "async def async_chat_completion(prompt, max_tokens=1650):\n",
1116
  " response = await endpoint.async_client.chat_completion(prompt, max_tokens=max_tokens)\n",
1117
  " return response.choices[0].message.content\n",
1118
  "\n",
1119
- "async def generate_falcon_reasoning(prompts, max_tokens=1650, num_workers=64):\n",
1120
  " loop = asyncio.get_event_loop()\n",
1121
  " with ThreadPoolExecutor(max_workers=num_workers) as executor:\n",
1122
- " tasks = [loop.run_in_executor(executor, lambda p=prompt: asyncio.run(async_chat_completion(p, max_tokens))) for prompt in prompts]\n",
1123
- " results = []\n",
 
 
 
1124
  " with tqdm(total=len(tasks), desc=\"Processing Prompts\") as pbar:\n",
1125
- " for result in asyncio.as_completed(tasks):\n",
1126
- " results.append(await result)\n",
 
1127
  " pbar.update(1)\n",
1128
  " return results\n",
 
 
 
 
 
1129
  "\n",
1130
- "prompts = df['falcon_reasoning_prompt'].tolist()\n",
1131
- "falcon_reasonings = await generate_falcon_reasoning(prompts)\n",
1132
- "df['falcon_reasoning'] = falcon_reasonings\n"
1133
  ]
1134
  },
1135
  {
1136
  "cell_type": "code",
1137
- "execution_count": 18,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1138
  "id": "573008db-78aa-4ca9-992b-3bdebcfd5fc9",
1139
  "metadata": {},
1140
  "outputs": [
1141
  {
1142
  "data": {
1143
  "text/plain": [
1144
- "InferenceEndpoint(name='poe-reasoning', namespace='HF-test-lab', repository='mistralai/Mistral-7B-Instruct-v0.3', status='paused', url=None)"
1145
  ]
1146
  },
1147
- "execution_count": 18,
1148
  "metadata": {},
1149
  "output_type": "execute_result"
1150
  }
@@ -1155,37 +1248,39 @@
1155
  },
1156
  {
1157
  "cell_type": "code",
1158
- "execution_count": 19,
1159
  "id": "0a31bb96-66cd-4f03-83b4-25b64c58a591",
1160
  "metadata": {},
1161
  "outputs": [
1162
  {
1163
  "data": {
1164
  "text/plain": [
1165
- "0 Incorrect answers and explanations:\\n\\n1. Elec...\n",
1166
- "1 Sure, let's examine each answer and justify wh...\n",
1167
- "2 Sure, let's go through each of the provided an...\n",
1168
- "3 1. Reading the question carefully, we can see ...\n",
1169
- "4 1. Food: While essential for the growth and he...\n",
1170
  " ... \n",
1171
- "8408 1. Read the question and options carefully: Th...\n",
1172
- "8409 1. Read the question and options carefully: Th...\n",
1173
- "8410 1. Read the question and options carefully: Th...\n",
1174
- "8411 1. First, let's read the question and options ...\n",
1175
- "8412 1. Read the question and options carefully: Th...\n",
1176
- "Name: mistral_reasoning, Length: 8413, dtype: object"
1177
  ]
1178
  },
1179
- "execution_count": 19,
1180
  "metadata": {},
1181
  "output_type": "execute_result"
1182
  }
1183
  ],
1184
- "source": "df.falcon_reasoning"
 
 
1185
  },
1186
  {
1187
  "cell_type": "code",
1188
- "execution_count": 25,
1189
  "id": "27542a33-187e-4b3f-aa20-4177f778312d",
1190
  "metadata": {},
1191
  "outputs": [
@@ -1217,8 +1312,8 @@
1217
  " <th>explanation</th>\n",
1218
  " <th>question_text</th>\n",
1219
  " <th>answer_choices</th>\n",
1220
- " <th>mistral_reasoning_prompt</th>\n",
1221
- " <th>mistral_reasoning</th>\n",
1222
  " </tr>\n",
1223
  " </thead>\n",
1224
  " <tbody>\n",
@@ -1231,8 +1326,8 @@
1231
  " <td>a) Seconds and minutes: This option is incorre...</td>\n",
1232
  " <td>What is satellite technology used for predicting?</td>\n",
1233
  " <td>(a) Seconds and minutes (b) The strength and m...</td>\n",
1234
- " <td>[{'role': 'user', 'content': 'You are an AI as...</td>\n",
1235
- " <td>Incorrect answers and explanations:\\n\\n1. Elec...</td>\n",
1236
  " </tr>\n",
1237
  " <tr>\n",
1238
  " <th>1</th>\n",
@@ -1243,8 +1338,8 @@
1243
  " <td>(a) Relieve pain: This option is not correct b...</td>\n",
1244
  " <td>What does irradiating food do?</td>\n",
1245
  " <td>(a) Relieve pain (b) Enhance food's nutrients ...</td>\n",
1246
- " <td>[{'role': 'user', 'content': 'You are an AI as...</td>\n",
1247
- " <td>Sure, let's examine each answer and justify wh...</td>\n",
1248
  " </tr>\n",
1249
  " <tr>\n",
1250
  " <th>2</th>\n",
@@ -1255,8 +1350,8 @@
1255
  " <td>b) Exfoliation: Exfoliation is the process of ...</td>\n",
1256
  " <td>What protects a mammal's skin?</td>\n",
1257
  " <td>(a) Fiber follicles (b) Exfoliation (c) Resist...</td>\n",
1258
- " <td>[{'role': 'user', 'content': 'You are an AI as...</td>\n",
1259
- " <td>Sure, let's go through each of the provided an...</td>\n",
1260
  " </tr>\n",
1261
  " <tr>\n",
1262
  " <th>3</th>\n",
@@ -1267,8 +1362,8 @@
1267
  " <td>a) Dies: This option is not correct because ea...</td>\n",
1268
  " <td>What do earthworms do when a segment breaks off?</td>\n",
1269
  " <td>(a) Dies (b) Regrows it (c) Reproduces (d) Sed...</td>\n",
1270
- " <td>[{'role': 'user', 'content': 'You are an AI as...</td>\n",
1271
- " <td>1. Reading the question carefully, we can see ...</td>\n",
1272
  " </tr>\n",
1273
  " <tr>\n",
1274
  " <th>4</th>\n",
@@ -1279,8 +1374,8 @@
1279
  " <td>b) Rainstorms: Lightning is actually a natural...</td>\n",
1280
  " <td>Lightning can be bad for what?</td>\n",
1281
  " <td>(a) The environment (b) Rainstorms (c) Destruc...</td>\n",
1282
- " <td>[{'role': 'user', 'content': 'You are an AI as...</td>\n",
1283
- " <td>1. Food: While essential for the growth and he...</td>\n",
1284
  " </tr>\n",
1285
  " <tr>\n",
1286
  " <th>...</th>\n",
@@ -1303,8 +1398,8 @@
1303
  " <td>a) Bandaging open sores is not the correct ans...</td>\n",
1304
  " <td>Organisms that can cause infection do what?</td>\n",
1305
  " <td>(a) Bandage open sores (b) Keep flesh clean (c...</td>\n",
1306
- " <td>[{'role': 'user', 'content': 'You are an AI as...</td>\n",
1307
- " <td>1. Read the question and options carefully: Th...</td>\n",
1308
  " </tr>\n",
1309
  " <tr>\n",
1310
  " <th>8409</th>\n",
@@ -1315,8 +1410,8 @@
1315
  " <td>b) Fungi are living things that can make their...</td>\n",
1316
  " <td>Fungi are living things that cannot make their...</td>\n",
1317
  " <td>(a) Food (b) Cells (c) Energy (d) Fruits (e) H...</td>\n",
1318
- " <td>[{'role': 'user', 'content': 'You are an AI as...</td>\n",
1319
- " <td>1. Read the question and options carefully: Th...</td>\n",
1320
  " </tr>\n",
1321
  " <tr>\n",
1322
  " <th>8410</th>\n",
@@ -1327,8 +1422,8 @@
1327
  " <td>a) Metabolic reaction: This option is incorrec...</td>\n",
1328
  " <td>An overheated body can use water for:?</td>\n",
1329
  " <td>(a) Metabolic reaction (b) Dehydrating (c) Rai...</td>\n",
1330
- " <td>[{'role': 'user', 'content': 'You are an AI as...</td>\n",
1331
- " <td>1. Read the question and options carefully: Th...</td>\n",
1332
  " </tr>\n",
1333
  " <tr>\n",
1334
  " <th>8411</th>\n",
@@ -1339,8 +1434,8 @@
1339
  " <td>a) Electrons are involved in cellular respirat...</td>\n",
1340
  " <td>What is essential for cellular respiration for...</td>\n",
1341
  " <td>(a) Electron (b) Glucose (c) Energy (d) Energy...</td>\n",
1342
- " <td>[{'role': 'user', 'content': 'You are an AI as...</td>\n",
1343
- " <td>1. First, let's read the question and options ...</td>\n",
1344
  " </tr>\n",
1345
  " <tr>\n",
1346
  " <th>8412</th>\n",
@@ -1351,8 +1446,8 @@
1351
  " <td>a) H2O: Water is essential for life, but it do...</td>\n",
1352
  " <td>What helps insulate and protect the body?</td>\n",
1353
  " <td>(a) H2o (b) Living cells in follicles (c) Laye...</td>\n",
1354
- " <td>[{'role': 'user', 'content': 'You are an AI as...</td>\n",
1355
- " <td>1. Read the question and options carefully: Th...</td>\n",
1356
  " </tr>\n",
1357
  " </tbody>\n",
1358
  "</table>\n",
@@ -1425,36 +1520,36 @@
1425
  "8411 (a) Electron (b) Glucose (c) Energy (d) Energy... \n",
1426
  "8412 (a) H2o (b) Living cells in follicles (c) Laye... \n",
1427
  "\n",
1428
- " mistral_reasoning_prompt \\\n",
1429
- "0 [{'role': 'user', 'content': 'You are an AI as... \n",
1430
- "1 [{'role': 'user', 'content': 'You are an AI as... \n",
1431
- "2 [{'role': 'user', 'content': 'You are an AI as... \n",
1432
- "3 [{'role': 'user', 'content': 'You are an AI as... \n",
1433
- "4 [{'role': 'user', 'content': 'You are an AI as... \n",
1434
  "... ... \n",
1435
- "8408 [{'role': 'user', 'content': 'You are an AI as... \n",
1436
- "8409 [{'role': 'user', 'content': 'You are an AI as... \n",
1437
- "8410 [{'role': 'user', 'content': 'You are an AI as... \n",
1438
- "8411 [{'role': 'user', 'content': 'You are an AI as... \n",
1439
- "8412 [{'role': 'user', 'content': 'You are an AI as... \n",
1440
  "\n",
1441
- " mistral_reasoning \n",
1442
- "0 Incorrect answers and explanations:\\n\\n1. Elec... \n",
1443
- "1 Sure, let's examine each answer and justify wh... \n",
1444
- "2 Sure, let's go through each of the provided an... \n",
1445
- "3 1. Reading the question carefully, we can see ... \n",
1446
- "4 1. Food: While essential for the growth and he... \n",
1447
  "... ... \n",
1448
- "8408 1. Read the question and options carefully: Th... \n",
1449
- "8409 1. Read the question and options carefully: Th... \n",
1450
- "8410 1. Read the question and options carefully: Th... \n",
1451
- "8411 1. First, let's read the question and options ... \n",
1452
- "8412 1. Read the question and options carefully: Th... \n",
1453
  "\n",
1454
  "[8413 rows x 9 columns]"
1455
  ]
1456
  },
1457
- "execution_count": 25,
1458
  "metadata": {},
1459
  "output_type": "execute_result"
1460
  }
@@ -1465,14 +1560,14 @@
1465
  },
1466
  {
1467
  "cell_type": "code",
1468
- "execution_count": 26,
1469
  "id": "55bc6940-07e4-402f-9c56-fb830a35290f",
1470
  "metadata": {},
1471
  "outputs": [
1472
  {
1473
  "data": {
1474
  "application/vnd.jupyter.widget-view+json": {
1475
- "model_id": "b9047ef7088b4eaa83916017c17c0bbc",
1476
  "version_major": 2,
1477
  "version_minor": 0
1478
  },
@@ -1486,7 +1581,7 @@
1486
  {
1487
  "data": {
1488
  "application/vnd.jupyter.widget-view+json": {
1489
- "model_id": "2bc167b9d94d4b8588f71c5f7f82722e",
1490
  "version_major": 2,
1491
  "version_minor": 0
1492
  },
@@ -1500,10 +1595,10 @@
1500
  {
1501
  "data": {
1502
  "text/plain": [
1503
- "CommitInfo(commit_url='https://huggingface.co/datasets/derek-thomas/labeled-multiple-choice-explained-mistral-reasoning/commit/f6554f7b3e0671558956eed6a42453b281b6f7e8', commit_message='Upload dataset', commit_description='', oid='f6554f7b3e0671558956eed6a42453b281b6f7e8', pr_url=None, repo_url=RepoUrl('https://huggingface.co/datasets/derek-thomas/labeled-multiple-choice-explained-mistral-reasoning', endpoint='https://huggingface.co', repo_type='dataset', repo_id='derek-thomas/labeled-multiple-choice-explained-mistral-reasoning'), pr_revision=None, pr_num=None)"
1504
  ]
1505
  },
1506
- "execution_count": 26,
1507
  "metadata": {},
1508
  "output_type": "execute_result"
1509
  }
@@ -1540,7 +1635,7 @@
1540
  "name": "python",
1541
  "nbconvert_exporter": "python",
1542
  "pygments_lexer": "ipython3",
1543
- "version": "3.11.10"
1544
  }
1545
  },
1546
  "nbformat": 4,
 
26
  "INPUT_DATASET = 'layoric/labeled-multiple-choice-explained'\n",
27
  "REVISION = '536f3b8'\n",
28
  "OUTPUT_DATASET = 'derek-thomas/labeled-multiple-choice-explained-falcon-reasoning'\n",
29
+ "NAMESPACE = 'HF-test-lab' # Use your username or wherever you have the ability to deploy inference endpoints\n",
30
+ "BASE_MODEL = 'tiiuae/Falcon3-7B-Instruct'\n",
31
+ "MAX_WORKERS = 16\n",
32
+ "MAX_TOKENS = 1650"
33
  ]
34
  },
35
  {
 
41
  {
42
  "data": {
43
  "application/vnd.jupyter.widget-view+json": {
44
+ "model_id": "4439ab58168e4bbcbf4da1051b8f9ada",
45
  "version_major": 2,
46
  "version_minor": 0
47
  },
 
67
  "metadata": {},
68
  "outputs": [],
69
  "source": [
 
70
  "tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL, token=get_token())"
71
  ]
72
  },
 
74
  "cell_type": "markdown",
75
  "id": "ef2d177e-3651-4747-be3c-648be3a9b5ff",
76
  "metadata": {},
77
+ "source": [
78
+ "# Falcon Prompt Creation"
79
+ ]
80
  },
81
  {
82
  "cell_type": "code",
 
387
  " <tr style=\"text-align: right;\">\n",
388
  " <th></th>\n",
389
  " <th>formatted_question</th>\n",
390
+ " <th>combined_fact</th>\n",
391
  " <th>answer_key</th>\n",
392
  " <th>topic</th>\n",
393
  " <th>explanation</th>\n",
 
501
  "8411 what is essential for cellular respiration for... \n",
502
  "8412 what helps insulate and protect the body? (a) ... \n",
503
  "\n",
504
+ " combined_fact answer_key \\\n",
505
  "0 satellite technology is used for predicting wh... c \n",
506
  "1 irradiated food improves food safety. c \n",
507
  "2 fiber follicles protect mammal skin a \n",
 
613
  " <tr style=\"text-align: right;\">\n",
614
  " <th></th>\n",
615
  " <th>formatted_question</th>\n",
616
+ " <th>combined_fact</th>\n",
617
  " <th>answer_key</th>\n",
618
  " <th>topic</th>\n",
619
  " <th>explanation</th>\n",
 
751
  "8411 what is essential for cellular respiration for... \n",
752
  "8412 what helps insulate and protect the body? (a) ... \n",
753
  "\n",
754
+ " combined_fact answer_key \\\n",
755
  "0 satellite technology is used for predicting wh... c \n",
756
  "1 irradiated food improves food safety. c \n",
757
  "2 fiber follicles protect mammal skin a \n",
 
872
  "system_prompt = \"\"\"You are an AI assistant that helps people find information. User will give you a question. Your task is to answer as faithfully as you can, and most importantly, provide explanation why incorrect answers are not correct. While answering think step-by-step and justify your answer.\"\"\"\n",
873
  "\n",
874
  "def create_reasoning_prompt(row):\n",
875
+ " reasoning_instructions = f\"\"\"Topic: {row['topic']}\n",
 
876
  "Question: {row['question_text']}\n",
877
+ "Answer Choices: {row['answer_choices']}\n",
878
  "\n",
879
  "### Answer\n",
880
+ "The correct answer is: ({row['answer_key']})\n",
 
881
  "\n",
882
+ "### Explanation Instructions:\n",
883
  "Let's break it down step by step.\n",
884
  "\n",
885
  "1. Read the question and options carefully.\n",
886
  "2. Identify the differences between the options.\n",
887
  "3. Determine which options are not logical based on the difference.\n",
888
  "4. Go through each incorrect answer providing an explanation why it is incorrect.\n",
889
+ "\n",
890
+ "### Explanation\n",
891
  "\"\"\"\n",
892
  "\n",
893
  " return [{\"role\": \"system\", \"content\": system_prompt}, {\"role\": \"user\", \"content\": reasoning_instructions}]\n"
 
911
  "name": "stdout",
912
  "output_type": "stream",
913
  "text": [
914
+ "[{'role': 'system', 'content': 'You are an AI assistant that helps people find information. User will give you a question. Your task is to answer as faithfully as you can, and most importantly, provide explanation why incorrect answers are not correct. While answering think step-by-step and justify your answer.'}, {'role': 'user', 'content': \"Topic: Technology\\nQuestion: What is satellite technology used for predicting?\\nAnswer Choices: (a) Seconds and minutes (b) The strength and magnitude of an earthquake (c) What it's like outside each day (d) 70-75 degrees fahrenheit (e) Rapid changes occur (f) Dead-ends and false starts. (g) Snow, ice, and rock (h) Around 5 to 27 degrees celsius\\n\\n### Answer\\nThe correct answer is: (c)\\n\\n### Explanation Instructions:\\nLet's break it down step by step.\\n\\n1. Read the question and options carefully.\\n2. Identify the differences between the options.\\n3. Determine which options are not logical based on the difference.\\n4. Go through each incorrect answer providing an explanation why it is incorrect.\\n\\n### Explanation\\n\"}]\n",
915
  "\n",
916
  "---\n",
917
  "\n",
918
+ "You are an AI assistant that helps people find information. User will give you a question. Your task is to answer as faithfully as you can, and most importantly, provide explanation why incorrect answers are not correct. While answering think step-by-step and justify your answer.\n"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
919
  ]
920
  }
921
  ],
 
934
  "outputs": [
935
  {
936
  "data": {
937
+ "image/png": "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unTpku1fViVKlMhVm6QsD4HnpDh/LlCvXr20YsUKvfbaa1q+fLnDxytkZGTIz89PH330Ubb7li9f3mE9r/NUu3ZtSdL+/fsdrjDdrJzmPT09Pdv2m/l9dnd317Zt27RlyxatW7dO4eHhWrlypTp06KCNGzfmODZwI7hCBBRD3t7eGj58uD755BMdO3ZMDRs2dHjzK6e/jIKCghQfH5/lasDPP/9s357534yMDB09etSh35EjR3Jd45kzZ7R582Y999xzmjZtmvr06aN7771X1apVy/UYNyPzHK6+tXjixAmdPXvWfq75fczY2Ngs7VfPb6bevXtr8eLF+vjjjzVq1CiHbXfccYdOnTqlVq1aZXs1sVGjRvlSc8+ePSVJH3744XX7Ztaf0zn6+vraP26hXLly2X6A4s1cmbtWuHVyclLHjh01d+5cHThwQK+88ooiIyOz3FoE8opABBQzV7+yXqZMGVWvXt3hVfLMv5Su/gupW7duSk9P19tvv+3QPm/ePNlsNnXt2lWSFBISIkl65513HPq99dZbua4z81/lV/8Lf/78+bke42Z069Yt2+PNnTtXkq75xtzNHPO7775TVFSUvS0lJUWLFi1SlSpVVLdu3Sz7DBkyRG+++aYWLlyoZ5991t7+4IMPKj09XdOnT8+yz5UrV/Lt05qDg4PVpUsXvf/++1q9enWW7ZcvX9bTTz8tSapQoYIaN26sZcuWORz/p59+0saNG+1zLv0d6M6dO+dwO/f48eP2t/vyIqc/16dPn87SN/N5rH/+fwHcDG6ZAcVM3bp11b59ezVp0kTe3t7avXu3PvvsM4WFhdn7NGnSRJI0ZswYhYSEqESJEurfv7969uype+65Ry+88IJ+++03NWrUSBs3btSXX36pcePG2R9qbdKkifr166f58+fr1KlT9tfuM7/CITe3oTw8PNS2bVvNnDlTaWlp+te//qWNGzdmuepUUBo1aqShQ4dq0aJFOnv2rNq1a6fvvvtOy5YtU+/evXXPPffk+zGfe+45ffLJJ+ratavGjBkjb29vLVu2TEePHtV///vfHD9xPCwsTElJSXrhhRfk6emp559/Xu3atdNjjz2mGTNmKDo6Wp07d5azs7MOHz6sVatW6Y033tD999+fL3UvX75cnTt3Vt++fdWzZ0917NhRpUuX1uHDh7VixQodP37c/llEs2bNUteuXRUcHKzQ0FD7a/eenp4OVyn79++vZ599Vn369NGYMWN04cIFvfvuu6pZs2a2D9TnRuaf6xdeeEH9+/eXs7OzevbsqZdeeknbtm1T9+7dFRQUpJMnT+qdd95RxYoVHR5wB25KUb7iBtxuMl+7//7777Pd3q5du+u+dv/yyy+b5s2bGy8vL+Pu7m5q165tXnnlFXP58mV7nytXrpjRo0eb8uXLG5vN5vCa8/nz581TTz1lAgMDjbOzs6lRo4aZNWuWycjIcDhuSkqKGTVqlPH29jZlypQxvXv3NrGxsUaSw2vwma9RZ/fK8x9//GH69OljvLy8jKenp3nggQdMfHx8jq/uXz1GTq/DZzdP2UlLSzPTpk0zVatWNc7OzqZSpUpm0qRJ5tKlS7k6zvVc/dq9Mcb88ssv5v777zdeXl7Gzc3NNG/e3Kxdu9ahzz9fu/+nZ555xkgyb7/9tr1t0aJFpkmTJsbd3d2ULVvWNGjQwDzzzDMmPj7e3icoKCjbj2Jo165dlvpycuHCBTN79mzTrFkzU6ZMGePi4mJq1KhhRo8e7fA6vDHGbNq0ybRq1cq4u7sbDw8P07NnT3PgwIEsY27cuNHUr1/fuLi4mFq1apkPP/wwx9fuR40alWX/q//sG2PM9OnTzb/+9S/j5ORkfwV/8+bNplevXiYwMNC4uLiYwMBAM2DAAHPo0KFcnTuQGzZjcvnkIoDbXnR0tO688059+OGHGjhwYFGXAwCFhmeIAIu6ePFilrb58+fLycnpup8QDQC3G54hAixq5syZ2rNnj+655x6VLFlSGzZs0IYNGzRy5EhVqlSpqMsDgELFLTPAoiIiIjRt2jQdOHBAycnJqly5sgYPHqwXXnhBJUvybyUA1kIgAgAAlsczRAAAwPIIRAAAwPJ4UCAXMjIyFB8fr7Jlyxbr700CAAD/xxij8+fPKzAwMMcPTs1EIMqF+Ph43roBAOAWdezYMVWsWPGafQhEuVC2bFlJf0+oh4dHEVcDAAByIykpSZUqVbL/PX4tBKJcyLxN5uHhQSACAOAWk5vHXXioGgAAWB6BCAAAWB6BCAAAWB6BCAAAWB6BCAAAWB6BCAAAWB6BCAAAWB6BCAAAWB6BCAAAWB6BCAAAWB6BCAAAWB6BCAAAWB6BCAAAWB6BCAAAWF7Joi4ABScuLk6JiYkFMnZqaqpcXV0LZGxfX19Vrly5QMYGACA7BKLbVFxcnGrVrqNLFy8UzAFsTpLJKJCh3dxLKfbng4QiAEChIRDdphITE3Xp4gX59JggZ59K+Tr2xV9369z2Dwtk7LRTx3Rq7RwlJiYSiAAAhYZAdJtz9qkk14Dq+Tpm2qljBTY2AABFgYeqAQCA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RGIAACA5RVpIJoxY4aaNWumsmXLys/PT71791ZsbKxDn0uXLmnUqFHy8fFRmTJl1K9fP504ccKhT1xcnLp3765SpUrJz89PEydO1JUrVxz6fP3117rrrrvk6uqq6tWra+nSpQV9egAA4BZRpIFo69atGjVqlL799ltFREQoLS1NnTt3VkpKir3PU089pf/9739atWqVtm7dqvj4ePXt29e+PT09Xd27d9fly5e1c+dOLVu2TEuXLtXkyZPtfY4eParu3bvrnnvuUXR0tMaNG6dHHnlEX331VaGeLwAAKJ5KFuXBw8PDHdaXLl0qPz8/7dmzR23bttW5c+f0wQcf6OOPP1aHDh0kSUuWLFGdOnX07bffqmXLltq4caMOHDigTZs2yd/fX40bN9b06dP17LPPaurUqXJxcdHChQtVtWpVzZkzR5JUp04dffPNN5o3b55CQkIK/bwBAEDxUqyeITp37pwkydvbW5K0Z88epaWlqVOnTvY+tWvXVuXKlRUVFSVJioqKUoMGDeTv72/vExISoqSkJMXExNj7/HOMzD6ZYwAAAGsr0itE/5SRkaFx48apVatWql+/viQpISFBLi4u8vLycujr7++vhIQEe59/hqHM7ZnbrtUnKSlJFy9elLu7u8O21NRUpaam2teTkpJu/gQBAECxVWyuEI0a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S5cuevTRR/Xdd99px44dCgsLU//+/RUYGChJevjhh+Xi4qLQ0FDFxMRo5cqVeuONNxyuAAEAAGu7qdfub9bu3bt1zz332NczQ8rQoUO1dOlSPfPMM0pJSdHIkSN19uxZtW7dWuHh4XJzc7Pv89FHHyksLEwdO3aUk5OT+vXrpzfffNO+3dPTUxs3btSoUaPUpEkT+fr6avLkybxyDwAA7Io0ELVv3/6an2Vks9n00ksv6aWXXsqxj7e3tz7++ONrHqdhw4bavn17nusEAAC3t2L7DBEAAEBhIRABAADLIxABAADLIxABAADLIxABAADLIxABAADLIxABAADLIxABAADLIxABAADLIxABAADLIxABAADLIxABAADLIxABAADLIxABAADLIxABAADLIxABAADLIxABAADLIxABAADLIxABAADLIxABAADLIxABAADLIxABAADLIxABAADLIxABAADLK1nUBQCF6eDBgwUyrq+vrypXrlwgYwMACh6BCJaQnnxGstk0aNCgAhnfzb2UYn8+SCgCgFsUgQiWkJGaLBkjnx4T5OxTKV/HTjt1TKfWzlFiYiKBCABuUQQiWIqzTyW5BlQv6jIAAMUMgagYiIuLU2JiYr6OWVDPygAAcDsiEBWxuLg41apdR5cuXijqUgAAsCwCURFLTEzUpYsX8v3Zlou/7ta57R/m23gAANzOCETFRH4/25J26li+jQUAwO2OD2YEAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWRyACAACWV6wD0dSpU2Wz2RyW2rVr27dfunRJo0aNko+Pj8qUKaN+/frpxIkTDmPExcWpe/fuKlWqlPz8/DRx4kRduXKlsE8FAAAUYyWLuoDrqVevnjZt2mRfL1ny/0p+6qmntG7dOq1atUqenp4KCwtT3759tWPHDklSenq6unfvroCAAO3cuVPHjx/XkCFD5OzsrFdffbXQzwUAABRPxT4QlSxZUgEBAVnaz507pw8++EAff/yxOnToIElasmSJ6tSpo2+//VYtW7bUxo0bdeDAAW3atEn+/v5q3Lixpk+frmeffVZTp06Vi4tLYZ8OAAAohor1LTNJOnz4sAIDA1WtWjUNHDhQcXFxkqQ9e/YoLS1NnTp1svetXbu2KleurKioKElSVFSUGjRoIH9/f3ufkJAQJSUlKSYmJsdjpqamKikpyWEBAAC3r2IdiFq0aKGlS5cqPDxc7777ro4ePao2bdro/PnzSkhIkIuLi7y8vBz28ff3V0JCgiQpISHBIQxlbs/clpMZM2bI09PTvlSqVCl/TwwAABQrxfqWWdeuXe2/btiwoVq0aKGgoCB9+umncnd3L7DjTpo0SePHj7evJyUlEYoAALiNFesrRFfz8vJSzZo1deTIEQUEBOjy5cs6e/asQ58TJ07YnzkKCAjI8tZZ5np2zyVlcnV1lYeHh8MCAABuX7dUIEpOTtYvv/yiChUqqEmTJnJ2dtbmzZvt22NjYxUXF6fg4GBJUnBwsPbv36+TJ0/a+0RERMjDw0N169Yt9PoBAEDxVKxvmT399NPq2bOngoKCFB8frylTpqhEiRIaMGCAPD09FRoaqvHjx8vb21seHh4aPXq0goOD1bJlS0lS586dVbduXQ0ePFgzZ85UQkKCXnzxRY0aNUqurq5FfHYAAKC4KNaB6I8//tCAAQN06tQplS9fXq1bt9a3336r8uXLS5LmzZsnJycn9evXT6mpqQoJCdE777xj379EiRJau3atnnjiCQUHB6t06dIaOnSoXnrppaI6JQAAUAwV60C0YsWKa253c3PTggULtGDBghz7BAUFaf369fldGgAAuI3cUs8QAQAAFAQCEQAAsDwCEQAAsDwCEQAAsDwCEQAAsDwCEQAAsDwCEQAAsLxi/TlEwK3k4MGD+T6mr6+vKleunO/jAgAcEYiAm5SefEay2TRo0KB8H9vNvZRifz5IKAKAAkYgAm5SRmqyZIx8ekyQs0+lfBs37dQxnVo7R4mJiQQiAChgBCIgnzj7VJJrQPWiLgMAkAc8VA0AACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyPQAQAACyvZFEXAODaDh48WCDj+vr6qnLlygUyNgDcaghEQDGVnnxGstk0aNCgAhnfzb2UYn8+SCgCABGIgGIrIzVZMkY+PSbI2adSvo6dduqYTq2do8TERAIRAIhABBR7zj6V5BpQvajLAIDbGg9VAwAAyyMQAQAAyyMQAQAAyyMQAQAAyyMQAQAAyyMQAQAAyyMQAQAAyyMQAQAAyyMQAQAAyyMQAQAAyyMQAQAAyyMQAQAAyyMQAQAAy+Pb7gELO3jwYL6P6evrq8qVK+f7uABQkAhEgAWlJ5+RbDYNGjQo38d2cy+l2J8PEooA3FIIRIAFZaQmS8bIp8cEOftUyrdx004d06m1c5SYmEggAnBLIRABFubsU0muAdWLugwAKHI8VA0AACyPQAQAACyPW2YA8l1BvL0m8QYbgIJjqUC0YMECzZo1SwkJCWrUqJHeeustNW/evKjLAm4bBfn2msQbbAAKjmUC0cqVKzV+/HgtXLhQLVq00Pz58xUSEqLY2Fj5+fkVdXnAbaGg3l6TeIMNQMGyTCCaO3euHn30UQ0fPlyStHDhQq1bt06LFy/Wc889V8TVAbeXgnx7jQ+TBFAQLBGILl++rD179mjSpEn2NicnJ3Xq1ElRUVFFWBmA3OLDJAEUJEsEosTERKWnp8vf39+h3d/fXz///HOW/qmpqUpNTbWvnzt3TpKUlJSU77UlJyf/fcyEI8q4fCnfxk07daxAxr1Vx6bmwhm7IGtOjT8oGSOPZn1VwrN8vo2bfu4vJX3/ub766ivVqlUr38bN5OTkpIyMjFtm3Ft1bGounLELsuaAgAAFBATk65iZf28bY67f2VjAn3/+aSSZnTt3OrRPnDjRNG/ePEv/KVOmGEksLCwsLCwst8Fy7Nix62YFS1wh8vX1VYkSJXTixAmH9hMnTmSbRidNmqTx48fb1zMyMnT69Gn5+PjIZrMVeL23uqSkJFWqVEnHjh2Th4dHUZdz22F+Cx5zXLCY34LHHP/NGKPz588rMDDwun0tEYhcXFzUpEkTbd68Wb1795b0d8jZvHmzwsLCsvR3dXWVq6urQ5uXl1chVHp78fDwsPT/iAWN+S14zHHBYn4LHnMseXp65qqfJQKRJI0fP15Dhw5V06ZN1bx5c82fP18pKSn2t84AAIB1WSYQPfTQQ/rrr780efJkJSQkqHHjxgoPD8/yoDUAALAeywQiSQoLC8v2Fhnyl6urq6ZMmZLltiPyB/Nb8JjjgsX8Fjzm+MbZjMnNu2gAAAC3L77tHgAAWB6BCAAAWB6BCAAAWB6BCAAAWB6BCLkyY8YMNWvWTGXLlpWfn5969+6t2NhY+/bTp09r9OjRqlWrltzd3VW5cmWNGTPG/j1wmeLi4tS9e3eVKlVKfn5+mjhxoq5cuVLYp1PsXG9+/8kYo65du8pms2n16tUO25jfnOV2jqOiotShQweVLl1aHh4eatu2rS5evGjffvr0aQ0cOFAeHh7y8vJSaGio/TsJrSw385uQkKDBgwcrICBApUuX1l133aX//ve/Dn2Y35y9++67atiwof3DFoODg7Vhwwb79kuXLmnUqFHy8fFRmTJl1K9fvyzf0MDPiJwRiJArW7du1ahRo/Ttt98qIiJCaWlp6ty5s1JSUiRJ8fHxio+P1+zZs/XTTz9p6dKlCg8PV2hoqH2M9PR0de/eXZcvX9bOnTu1bNkyLV26VJMnTy6q0yo2rje//zR//vxsv0KG+b223MxxVFSUunTpos6dO+u7777T999/r7CwMDk5/d+PyoEDByomJkYRERFau3attm3bppEjRxbFKRUruZnfIUOGKDY2VmvWrNH+/fvVt29fPfjgg9q7d6+9D/Obs4oVK+q1117Tnj17tHv3bnXo0EG9evVSTEyMJOmpp57S//73P61atUpbt25VfHy8+vbta9+fnxHXkS/fngrLOXnypJFktm7dmmOfTz/91Li4uJi0tDRjjDHr1683Tk5OJiEhwd7n3XffNR4eHiY1NbXAa76V5DS/e/fuNf/617/M8ePHjSTzxRdf2Lcxvzcmuzlu0aKFefHFF3Pc58CBA0aS+f777+1tGzZsMDabzfz5558FWu+tJrv5LV26tFm+fLlDP29vb/P//t//M8Ywv3lRrlw58/7775uzZ88aZ2dns2rVKvu2gwcPGkkmKirKGMPPiOvhChHyJPNWmLe39zX7eHh4qGTJvz//MyoqSg0aNHD4dPCQkBAlJSXZ/4WDv2U3vxcuXNDDDz+sBQsWZPulxMzvjbl6jk+ePKldu3bJz89Pd999t/z9/dWuXTt988039n2ioqLk5eWlpk2b2ts6deokJycn7dq1q3BPoJjL7s/w3XffrZUrV+r06dPKyMjQihUrdOnSJbVv314S83sj0tPTtWLFCqWkpCg4OFh79uxRWlqaOnXqZO9Tu3ZtVa5cWVFRUZL4GXE9BCLcsIyMDI0bN06tWrVS/fr1s+2TmJio6dOnO1zqTkhIyPJVKZnrCQkJBVfwLSan+X3qqad09913q1evXtnux/zmXnZz/Ouvv0qSpk6dqkcffVTh4eG666671LFjRx0+fFjS3/Po5+fnMFbJkiXl7e3NHP9DTn+GP/30U6WlpcnHx0eurq567LHH9MUXX6h69eqSmN/c2L9/v8qUKSNXV1c9/vjj+uKLL1S3bl0lJCTIxcUlyxeR+/v72+eOnxHXZqmv7kD+GDVqlH766SeHfzn/U1JSkrp37666detq6tSphVvcbSC7+V2zZo0iIyMdnrVA3mU3xxkZGZKkxx57zP6lz3feeac2b96sxYsXa8aMGUVS660op58R//73v3X27Flt2rRJvr6+Wr16tR588EFt375dDRo0KKJqby21atVSdHS0zp07p88++0xDhw7V1q1bi7qs2wJXiHBDwsLCtHbtWm3ZskUVK1bMsv38+fPq0qWLypYtqy+++ELOzs72bQEBAVneeMhcz+4WkBXlNL+RkZH65Zdf5OXlpZIlS9pvQ/br189+u4H5zZ2c5rhChQqSpLp16zr0r1OnjuLi4iT9PY8nT5502H7lyhWdPn2aOf7/5TS/v/zyi95++20tXrxYHTt2VKNGjTRlyhQ1bdpUCxYskMT85oaLi4uqV6+uJk2aaMaMGWrUqJHeeOMNBQQE6PLlyzp79qxD/xMnTtjnjp8R10YgQq4YYxQWFqYvvvhCkZGRqlq1apY+SUlJ6ty5s1xcXLRmzRq5ubk5bA8ODtb+/fsdfuBFRETIw8Mjy19CVnO9+X3uuee0b98+RUdH2xdJmjdvnpYsWSKJ+b2e681xlSpVFBgYmOVV8UOHDikoKEjS33N89uxZ7dmzx749MjJSGRkZatGiRcGfRDF2vfm9cOGCJDm8sSdJJUqUsF+dY35vXEZGhlJTU9WkSRM5Oztr8+bN9m2xsbGKi4tTcHCwJH5GXFfRPtONW8UTTzxhPD09zddff22OHz9uXy5cuGCMMebcuXOmRYsWpkGDBubIkSMOfa5cuWKMMebKlSumfv36pnPnziY6OtqEh4eb8uXLm0mTJhXlqRUL15vf7Oiqt8yY32vLzRzPmzfPeHh4mFWrVpnDhw+bF1980bi5uZkjR47Y+3Tp0sXceeedZteuXeabb74xNWrUMAMGDCiKUypWrje/ly9fNtWrVzdt2rQxu3btMkeOHDGzZ882NpvNrFu3zj4O85uz5557zmzdutUcPXrU7Nu3zzz33HPGZrOZjRs3GmOMefzxx03lypVNZGSk2b17twkODjbBwcH2/fkZcW0EIuSKpGyXJUuWGGOM2bJlS459jh49ah/nt99+M127djXu7u7G19fXTJgwwf5avpVdb35z2uefgcgY5vdacjvHM2bMMBUrVjSlSpUywcHBZvv27Q7bT506ZQYMGGDKlCljPDw8zPDhw8358+cL8UyKp9zM76FDh0zfvn2Nn5+fKVWqlGnYsGGW1/CZ35yNGDHCBAUFGRcXF1O+fHnTsWNHexgyxpiLFy+aJ5980pQrV86UKlXK9OnTxxw/ftxhDH5G5MxmjDEFfx0KAACg+OIZIgAAYHkEIgAAYHkEIgAAYHkEIgAAYHkEIgAAYHkEIgAAYHkEIgAAYHkEIgDF0m+//SabzWb/mhIAKEgEIgAFxmazXXOZOnVqUZeYrSNHjmj48OGqWLGiXF1dVbVqVQ0YMEC7d+8u1DoIhUDhKVnUBQC4fR0/ftz+65UrV2ry5MkOX55apkyZoijrmnbv3q2OHTuqfv36eu+991S7dm2dP39eX375pSZMmKCtW7cWdYkACgBXiAAUmICAAPvi6ekpm81mX/fz89PcuXPtV2EaN26s8PDwHMdKT0/XiBEjVLt2bcXFxUmSvvzyS911111yc3NTtWrVNG3aNF25csW+j81m0/vvv68+ffqoVKlSqlGjhtasWZPjMYwxGjZsmGrUqKHt27ere/fuuuOOO9S4cWNNmTJFX375pb3v/v371aFDB7m7u8vHx0cjR45UcnKyfXv79u01btw4h/F79+6tYcOG2derVKmiV199VSNGjFDZsmVVuXJlLVq0yL498xvj77zzTtlsNrVv3/6a8w0g7whEAIrEG2+8oTlz5mj27Nnat2+fQkJCdN999+nw4cNZ+qampuqBBx5QdHS0tm/frsqVK2v79u0aMmSIxo4dqwMHDui9997T0qVL9corrzjsO23aND344IPat2+funXrpoEDB+r06dPZ1hQdHa2YmBhNmDBBTk5Zfzx6eXlJklJSUhQSEqJy5crp+++/16pVq7Rp0yaFhYXd8DzMmTNHTZs21d69e/Xkk0/qiSeesF9F++677yRJmzZt0vHjx/X555/f8PgAcqmIv1wWgEUsWbLEeHp62tcDAwPNK6+84tCnWbNm5sknnzTGGHP06FEjyWzfvt107NjRtG7d2pw9e9bet2PHjubVV1912P8///mPqVChgn1dknnxxRft68nJyUaS2bBhQ7Y1rly50kgyP/zwwzXPZdGiRaZcuXImOTnZ3rZu3Trj5ORkEhISjDHGtGvXzowdO9Zhv169epmhQ4fa14OCgsygQYPs6xkZGcbPz8+8++67DnOwd+/ea9YD4ObxDBGAQpeUlKT4+Hi1atXKob1Vq1b68ccfHdoGDBigihUrKjIyUu7u7vb2H3/8UTt27HC4IpSenq5Lly7pwoULKlWqlCSpYcOG9u2lS5eWh4eHTp48mW1dxphc1X/w4EE1atRIpUuXdqg9IyNDsbGx8vf3z9U4V9eXeUsxp/oAFBxumQEo1rp166Z9+/YpKirKoT05OVnTpk1TdHS0fdm/f78OHz4sNzc3ez9nZ2eH/Ww2mzIyMrI9Vs2aNSVJP//8803X7eTklCVgpaWlZel3I/UBKDgEIgCFzsPDQ4GBgdqxY4dD+44dO1S3bl2HtieeeEKvvfaa7rvvPoc3vO666y7FxsaqevXqWZbsnv/JjcaNG6tu3bqaM2dOtqHk7NmzkqQ6deroxx9/VEpKikPtTk5OqlWrliSpfPnyDm/Zpaen66effrqhelxcXOz7AihYBCIARWLixIl6/fXXtXLlSsXGxuq5555TdHS0xo4dm6Xv6NGj9fLLL6tHjx765ptvJEmTJ0/W8uXLNW3aNMXExOjgwYNasWKFXnzxxTzXZLPZtGTJEh06dEht2rTR+vXr9euvv2rfvn165ZVX1KtXL0nSwIED5ebmpqFDh+qnn37Sli1bNHr0aA0ePNh+u6xDhw5at26d1q1bp59//llPPPGEPVDllp+fn9zd3RUeHq4TJ07o3LlzeT43ANdGIAJQJMaMGaPx48drwoQJatCggcLDw7VmzRrVqFEj2/7jxo3TtGnT1K1bN+3cuVMhISFau3atNm7cqGbNmqlly5aaN2+egoKCbqqu5s2ba/fu3apevboeffRR1alTR/fdd59iYmI0f/58SVKpUqX01Vdf6fTp02rWrJnuv/9+dezYUW+//bZ9nBEjRmjo0KEaMmSI2rVrp2rVqumee+65oVpKliypN998U++9954CAwPtgQxA/rOZ3D5FCAAAcJviChEAALA8AhEAALA8AhEAALA8AhEAALA8AhEAALA8AhEAALA8AhEAALA8AhEAALA8AhEAALA8AhEAALA8AhEAALA8AhEAALC8/w9hWt3cJjgEkgAAAABJRU5ErkJggg==",
938
  "text/plain": [
939
  "<Figure size 640x480 with 1 Axes>"
940
  ]
 
946
  "name": "stdout",
947
  "output_type": "stream",
948
  "text": [
949
+ "310 208\n"
950
  ]
951
  }
952
  ],
 
993
  " # Custom Docker image details\n",
994
  " custom_image = {\n",
995
  " \"health_route\": \"/health\",\n",
996
+ " \"url\": \"ghcr.io/huggingface/text-generation-inference:3.0.1\", # This is the min version\n",
997
  " \"env\": {\n",
 
 
 
 
 
998
  " },\n",
999
  " }\n",
1000
  " \n",
 
1013
  " instance_type=\"nvidia-l4\",\n",
1014
  " region=\"us-east-1\",\n",
1015
  " vendor=\"aws\",\n",
1016
+ " min_replica=8,\n",
1017
+ " max_replica=8,\n",
1018
  " task=\"text-generation\",\n",
1019
  " custom_image=custom_image,\n",
1020
  " secrets=secrets\n",
1021
  " )\n",
1022
  " # endpoint.wait()\n",
1023
  " \n",
 
1024
  " endpoint.wait()\n",
1025
+ " print(\"Your model is ready to use!\")\n",
1026
  " return endpoint"
1027
  ]
1028
  },
 
1036
  "name": "stdout",
1037
  "output_type": "stream",
1038
  "text": [
1039
+ "Your model is ready to use!\n",
1040
+ "CPU times: user 420 ms, sys: 831 ms, total: 1.25 s\n",
1041
+ "Wall time: 54.3 s\n"
1042
  ]
1043
  }
1044
  ],
1045
  "source": [
1046
+ "%%time\n",
1047
  "endpoint = get_my_endpoint()"
1048
  ]
1049
  },
 
1054
  "metadata": {},
1055
  "outputs": [
1056
  {
1057
+ "name": "stdout",
1058
+ "output_type": "stream",
1059
+ "text": [
1060
+ "(a) Seconds and minutes: This option is incorrect because satellite technology doesn't predict specific moments like seconds and minutes.\n",
1061
+ "\n",
1062
+ "(b) The strength and magnitude of an earthquake: While satellites can detect seismic activity, they primarily support research after an earthquake to analyze the data rather than predict the specific strength or magnitude beforehand in real-time.\n",
1063
+ "\n",
1064
+ "(c) What it's like outside each day: This is the correct answer. Satellites, including weather satellites, monitor and predict weather patterns, snowfall, temperature, etc., to give us an idea of what it's like outside each day.\n",
1065
+ "\n",
1066
+ "(d) 70-75 degrees fahrenheit: This option is not correct because while satellites can certainly help in predicting temperature, the phrase \"70-75 degrees fahrenheit\" is too specific. Temperature predictions can vary widely and are not confined to a narrow range like this without context about a specific location and time.\n",
1067
+ "\n",
1068
+ "(e) Rapid changes occur: Satellites are used to monitor changes over time, but they don't predict if changes will be rapid. They provide data on changes, and it's interpreted by meteorologists or other scientists to understand the nature of the change.\n",
1069
+ "\n",
1070
+ "(f) Dead-ends and false starts: This option is not relevant to satellite technology as it pertains to screen captions or subtitles in media content, not technology used for prediction.\n",
1071
+ "\n",
1072
+ "(g) Snow, ice, and rock: While satellites can monitor snow cover, ice conditions, and potentially detect rock falls or movements, this phrase is a bit vague. They're used for prediction but the full range of prediction they cover is broader and not limited just to these elements.\n",
1073
+ "\n",
1074
+ "(h) Around 5 to 27 degrees celsius: Similar to (d), this is too specific for a general prediction about temperatures over a wide area. Temperatures can vary greatly and satellites help predict a range of temperatures, but stating a specific narrow range without context is incorrect.\n",
1075
+ "\n",
1076
+ "In conclusion, the correct answer is (c) because satellite technology, specifically remote sensing from satellites, is extensively used for creating weather forecasts and predictions about atmospheric conditions, which includes what it's like outside each day in terms of weather patterns such as temperature, humidity, cloud cover, and precipitation.\n"
1077
+ ]
1078
  }
1079
  ],
1080
  "source": [
1081
+ "response = endpoint.client.chat_completion(df['falcon_reasoning_prompt'].iloc[0], max_tokens=MAX_TOKENS)\n",
1082
+ "print(response.choices[0].message.content)"
1083
  ]
1084
  },
1085
  {
1086
  "cell_type": "code",
1087
  "execution_count": 17,
1088
+ "id": "9ebd6503-35e4-4805-8603-65aea2947ab8",
1089
+ "metadata": {
1090
+ "scrolled": true
1091
+ },
1092
  "outputs": [
1093
  {
1094
  "data": {
1095
  "application/vnd.jupyter.widget-view+json": {
1096
+ "model_id": "0fbdeab8c90e4cc98f51ee520f4aff27",
1097
  "version_major": 2,
1098
  "version_minor": 0
1099
  },
 
1103
  },
1104
  "metadata": {},
1105
  "output_type": "display_data"
1106
+ },
1107
+ {
1108
+ "name": "stdout",
1109
+ "output_type": "stream",
1110
+ "text": [
1111
+ "CPU times: user 1min 30s, sys: 34.3 s, total: 2min 4s\n",
1112
+ "Wall time: 4h 36min 7s\n"
1113
+ ]
1114
  }
1115
  ],
1116
  "source": [
1117
+ "%%time\n",
1118
+ "\n",
1119
  "import nest_asyncio\n",
1120
  "import asyncio\n",
1121
  "import pandas as pd\n",
1122
  "from concurrent.futures import ThreadPoolExecutor\n",
1123
  "from tqdm.notebook import tqdm\n",
1124
  "\n",
 
 
1125
  "nest_asyncio.apply()\n",
1126
  "\n",
1127
+ "async def async_chat_completion(prompt, max_tokens=MAX_TOKENS):\n",
1128
  " response = await endpoint.async_client.chat_completion(prompt, max_tokens=max_tokens)\n",
1129
  " return response.choices[0].message.content\n",
1130
  "\n",
1131
+ "async def generate_falcon_reasoning(prompts, max_tokens=MAX_TOKENS, num_workers=MAX_WORKERS):\n",
1132
  " loop = asyncio.get_event_loop()\n",
1133
  " with ThreadPoolExecutor(max_workers=num_workers) as executor:\n",
1134
+ " tasks = [loop.run_in_executor(executor, lambda p=p: asyncio.run(async_chat_completion(p, max_tokens))) for p in prompts]\n",
1135
+ " indexed_tasks = list(enumerate(tasks))\n",
1136
+ " \n",
1137
+ " results = [None] * len(prompts)\n",
1138
+ "\n",
1139
  " with tqdm(total=len(tasks), desc=\"Processing Prompts\") as pbar:\n",
1140
+ " for i, result in enumerate(asyncio.as_completed([task for _, task in indexed_tasks])):\n",
1141
+ " index = indexed_tasks[i][0]\n",
1142
+ " results[index] = await result\n",
1143
  " pbar.update(1)\n",
1144
  " return results\n",
1145
+ " \n",
1146
+ "async def main():\n",
1147
+ " prompts = df['falcon_reasoning_prompt'].tolist()\n",
1148
+ " falcon_reasonings = await generate_falcon_reasoning(prompts)\n",
1149
+ " df['falcon_reasoning'] = falcon_reasonings\n",
1150
  "\n",
1151
+ "# Run the main function\n",
1152
+ "asyncio.run(main())"
 
1153
  ]
1154
  },
1155
  {
1156
  "cell_type": "code",
1157
+ "execution_count": 17,
1158
+ "id": "ce144640-34f6-42ad-96e9-cdeada5db647",
1159
+ "metadata": {},
1160
+ "outputs": [
1161
+ {
1162
+ "name": "stdout",
1163
+ "output_type": "stream",
1164
+ "text": [
1165
+ "CPU times: user 1.56 ms, sys: 4.26 ms, total: 5.83 ms\n",
1166
+ "Wall time: 6.33 ms\n"
1167
+ ]
1168
+ }
1169
+ ],
1170
+ "source": [
1171
+ "%%time\n",
1172
+ "\n",
1173
+ "import asyncio\n",
1174
+ "import pandas as pd\n",
1175
+ "from aiohttp import ClientSession\n",
1176
+ "from tqdm.asyncio import tqdm\n",
1177
+ "import nest_asyncio\n",
1178
+ "\n",
1179
+ "nest_asyncio.apply() # Patches the event loop to allow nested async calls\n",
1180
+ "\n",
1181
+ "# Example async chat completion function\n",
1182
+ "async def async_chat_completion(prompt, max_tokens=MAX_TOKENS):\n",
1183
+ " response = await endpoint.async_client.chat_completion(prompt, max_tokens=max_tokens)\n",
1184
+ " return response.choices[0].message.content\n",
1185
+ "\n",
1186
+ "# Semaphore wrapper for concurrency control\n",
1187
+ "async def fetch_with_semaphore(semaphore, prompt, max_tokens=MAX_TOKENS):\n",
1188
+ " async with semaphore:\n",
1189
+ " return await async_chat_completion(prompt, max_tokens)\n",
1190
+ "\n",
1191
+ "# Process dataframe asynchronously\n",
1192
+ "async def process_dataframe_async(df, max_tokens=MAX_TOKENS, workers=16):\n",
1193
+ " semaphore = asyncio.Semaphore(workers)\n",
1194
+ " tasks = []\n",
1195
+ " \n",
1196
+ " for prompt in df['falcon_reasoning_prompt']:\n",
1197
+ " task = fetch_with_semaphore(semaphore, prompt, max_tokens)\n",
1198
+ " tasks.append(task)\n",
1199
+ " \n",
1200
+ " results = await tqdm.gather(*tasks)\n",
1201
+ " df['falcon_reasoning'] = results\n",
1202
+ " return df\n",
1203
+ "\n",
1204
+ "# Run async process with nest_asyncio\n",
1205
+ "def run_async_process(df):\n",
1206
+ " loop = asyncio.get_event_loop()\n",
1207
+ " return loop.run_until_complete(process_dataframe_async(df))\n"
1208
+ ]
1209
+ },
1210
+ {
1211
+ "cell_type": "code",
1212
+ "execution_count": 19,
1213
+ "id": "14080408-1fb1-42c7-9427-acd2006e33f0",
1214
+ "metadata": {},
1215
+ "outputs": [
1216
+ {
1217
+ "name": "stderr",
1218
+ "output_type": "stream",
1219
+ "text": [
1220
+ "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████���██████| 8413/8413 [4:24:10<00:00, 1.88s/it]\n"
1221
+ ]
1222
+ }
1223
+ ],
1224
+ "source": [
1225
+ "df = run_async_process(df)"
1226
+ ]
1227
+ },
1228
+ {
1229
+ "cell_type": "code",
1230
+ "execution_count": 20,
1231
  "id": "573008db-78aa-4ca9-992b-3bdebcfd5fc9",
1232
  "metadata": {},
1233
  "outputs": [
1234
  {
1235
  "data": {
1236
  "text/plain": [
1237
+ "InferenceEndpoint(name='poe-reasoning', namespace='HF-test-lab', repository='tiiuae/Falcon3-7B-Instruct', status='paused', url=None)"
1238
  ]
1239
  },
1240
+ "execution_count": 20,
1241
  "metadata": {},
1242
  "output_type": "execute_result"
1243
  }
 
1248
  },
1249
  {
1250
  "cell_type": "code",
1251
+ "execution_count": 21,
1252
  "id": "0a31bb96-66cd-4f03-83b4-25b64c58a591",
1253
  "metadata": {},
1254
  "outputs": [
1255
  {
1256
  "data": {
1257
  "text/plain": [
1258
+ "0 - (a) Seconds and minutes: Satellite technolog...\n",
1259
+ "1 (a) Relieve pain: Irradiating food does not ha...\n",
1260
+ "2 (a) **Fiber follicles**: This is the correct a...\n",
1261
+ "3 1. **Option (a): Dies**\\n - Earthworms are s...\n",
1262
+ "4 (a) The environment: Lightning can release lar...\n",
1263
  " ... \n",
1264
+ "8408 (a) Bandage open sores: This action is typical...\n",
1265
+ "8409 1. **Read the question and options carefully.*...\n",
1266
+ "8410 - (a) Metabolic reaction: This is incorrect be...\n",
1267
+ "8411 1. **Glucose (b)**: Glucose is one of the reac...\n",
1268
+ "8412 1. **Read the question and options carefully.*...\n",
1269
+ "Name: falcon_reasoning, Length: 8413, dtype: object"
1270
  ]
1271
  },
1272
+ "execution_count": 21,
1273
  "metadata": {},
1274
  "output_type": "execute_result"
1275
  }
1276
  ],
1277
+ "source": [
1278
+ "df.falcon_reasoning"
1279
+ ]
1280
  },
1281
  {
1282
  "cell_type": "code",
1283
+ "execution_count": 22,
1284
  "id": "27542a33-187e-4b3f-aa20-4177f778312d",
1285
  "metadata": {},
1286
  "outputs": [
 
1312
  " <th>explanation</th>\n",
1313
  " <th>question_text</th>\n",
1314
  " <th>answer_choices</th>\n",
1315
+ " <th>falcon_reasoning_prompt</th>\n",
1316
+ " <th>falcon_reasoning</th>\n",
1317
  " </tr>\n",
1318
  " </thead>\n",
1319
  " <tbody>\n",
 
1326
  " <td>a) Seconds and minutes: This option is incorre...</td>\n",
1327
  " <td>What is satellite technology used for predicting?</td>\n",
1328
  " <td>(a) Seconds and minutes (b) The strength and m...</td>\n",
1329
+ " <td>[{'role': 'system', 'content': 'You are an AI ...</td>\n",
1330
+ " <td>- (a) Seconds and minutes: Satellite technolog...</td>\n",
1331
  " </tr>\n",
1332
  " <tr>\n",
1333
  " <th>1</th>\n",
 
1338
  " <td>(a) Relieve pain: This option is not correct b...</td>\n",
1339
  " <td>What does irradiating food do?</td>\n",
1340
  " <td>(a) Relieve pain (b) Enhance food's nutrients ...</td>\n",
1341
+ " <td>[{'role': 'system', 'content': 'You are an AI ...</td>\n",
1342
+ " <td>(a) Relieve pain: Irradiating food does not ha...</td>\n",
1343
  " </tr>\n",
1344
  " <tr>\n",
1345
  " <th>2</th>\n",
 
1350
  " <td>b) Exfoliation: Exfoliation is the process of ...</td>\n",
1351
  " <td>What protects a mammal's skin?</td>\n",
1352
  " <td>(a) Fiber follicles (b) Exfoliation (c) Resist...</td>\n",
1353
+ " <td>[{'role': 'system', 'content': 'You are an AI ...</td>\n",
1354
+ " <td>(a) **Fiber follicles**: This is the correct a...</td>\n",
1355
  " </tr>\n",
1356
  " <tr>\n",
1357
  " <th>3</th>\n",
 
1362
  " <td>a) Dies: This option is not correct because ea...</td>\n",
1363
  " <td>What do earthworms do when a segment breaks off?</td>\n",
1364
  " <td>(a) Dies (b) Regrows it (c) Reproduces (d) Sed...</td>\n",
1365
+ " <td>[{'role': 'system', 'content': 'You are an AI ...</td>\n",
1366
+ " <td>1. **Option (a): Dies**\\n - Earthworms are s...</td>\n",
1367
  " </tr>\n",
1368
  " <tr>\n",
1369
  " <th>4</th>\n",
 
1374
  " <td>b) Rainstorms: Lightning is actually a natural...</td>\n",
1375
  " <td>Lightning can be bad for what?</td>\n",
1376
  " <td>(a) The environment (b) Rainstorms (c) Destruc...</td>\n",
1377
+ " <td>[{'role': 'system', 'content': 'You are an AI ...</td>\n",
1378
+ " <td>(a) The environment: Lightning can release lar...</td>\n",
1379
  " </tr>\n",
1380
  " <tr>\n",
1381
  " <th>...</th>\n",
 
1398
  " <td>a) Bandaging open sores is not the correct ans...</td>\n",
1399
  " <td>Organisms that can cause infection do what?</td>\n",
1400
  " <td>(a) Bandage open sores (b) Keep flesh clean (c...</td>\n",
1401
+ " <td>[{'role': 'system', 'content': 'You are an AI ...</td>\n",
1402
+ " <td>(a) Bandage open sores: This action is typical...</td>\n",
1403
  " </tr>\n",
1404
  " <tr>\n",
1405
  " <th>8409</th>\n",
 
1410
  " <td>b) Fungi are living things that can make their...</td>\n",
1411
  " <td>Fungi are living things that cannot make their...</td>\n",
1412
  " <td>(a) Food (b) Cells (c) Energy (d) Fruits (e) H...</td>\n",
1413
+ " <td>[{'role': 'system', 'content': 'You are an AI ...</td>\n",
1414
+ " <td>1. **Read the question and options carefully.*...</td>\n",
1415
  " </tr>\n",
1416
  " <tr>\n",
1417
  " <th>8410</th>\n",
 
1422
  " <td>a) Metabolic reaction: This option is incorrec...</td>\n",
1423
  " <td>An overheated body can use water for:?</td>\n",
1424
  " <td>(a) Metabolic reaction (b) Dehydrating (c) Rai...</td>\n",
1425
+ " <td>[{'role': 'system', 'content': 'You are an AI ...</td>\n",
1426
+ " <td>- (a) Metabolic reaction: This is incorrect be...</td>\n",
1427
  " </tr>\n",
1428
  " <tr>\n",
1429
  " <th>8411</th>\n",
 
1434
  " <td>a) Electrons are involved in cellular respirat...</td>\n",
1435
  " <td>What is essential for cellular respiration for...</td>\n",
1436
  " <td>(a) Electron (b) Glucose (c) Energy (d) Energy...</td>\n",
1437
+ " <td>[{'role': 'system', 'content': 'You are an AI ...</td>\n",
1438
+ " <td>1. **Glucose (b)**: Glucose is one of the reac...</td>\n",
1439
  " </tr>\n",
1440
  " <tr>\n",
1441
  " <th>8412</th>\n",
 
1446
  " <td>a) H2O: Water is essential for life, but it do...</td>\n",
1447
  " <td>What helps insulate and protect the body?</td>\n",
1448
  " <td>(a) H2o (b) Living cells in follicles (c) Laye...</td>\n",
1449
+ " <td>[{'role': 'system', 'content': 'You are an AI ...</td>\n",
1450
+ " <td>1. **Read the question and options carefully.*...</td>\n",
1451
  " </tr>\n",
1452
  " </tbody>\n",
1453
  "</table>\n",
 
1520
  "8411 (a) Electron (b) Glucose (c) Energy (d) Energy... \n",
1521
  "8412 (a) H2o (b) Living cells in follicles (c) Laye... \n",
1522
  "\n",
1523
+ " falcon_reasoning_prompt \\\n",
1524
+ "0 [{'role': 'system', 'content': 'You are an AI ... \n",
1525
+ "1 [{'role': 'system', 'content': 'You are an AI ... \n",
1526
+ "2 [{'role': 'system', 'content': 'You are an AI ... \n",
1527
+ "3 [{'role': 'system', 'content': 'You are an AI ... \n",
1528
+ "4 [{'role': 'system', 'content': 'You are an AI ... \n",
1529
  "... ... \n",
1530
+ "8408 [{'role': 'system', 'content': 'You are an AI ... \n",
1531
+ "8409 [{'role': 'system', 'content': 'You are an AI ... \n",
1532
+ "8410 [{'role': 'system', 'content': 'You are an AI ... \n",
1533
+ "8411 [{'role': 'system', 'content': 'You are an AI ... \n",
1534
+ "8412 [{'role': 'system', 'content': 'You are an AI ... \n",
1535
  "\n",
1536
+ " falcon_reasoning \n",
1537
+ "0 - (a) Seconds and minutes: Satellite technolog... \n",
1538
+ "1 (a) Relieve pain: Irradiating food does not ha... \n",
1539
+ "2 (a) **Fiber follicles**: This is the correct a... \n",
1540
+ "3 1. **Option (a): Dies**\\n - Earthworms are s... \n",
1541
+ "4 (a) The environment: Lightning can release lar... \n",
1542
  "... ... \n",
1543
+ "8408 (a) Bandage open sores: This action is typical... \n",
1544
+ "8409 1. **Read the question and options carefully.*... \n",
1545
+ "8410 - (a) Metabolic reaction: This is incorrect be... \n",
1546
+ "8411 1. **Glucose (b)**: Glucose is one of the reac... \n",
1547
+ "8412 1. **Read the question and options carefully.*... \n",
1548
  "\n",
1549
  "[8413 rows x 9 columns]"
1550
  ]
1551
  },
1552
+ "execution_count": 22,
1553
  "metadata": {},
1554
  "output_type": "execute_result"
1555
  }
 
1560
  },
1561
  {
1562
  "cell_type": "code",
1563
+ "execution_count": 23,
1564
  "id": "55bc6940-07e4-402f-9c56-fb830a35290f",
1565
  "metadata": {},
1566
  "outputs": [
1567
  {
1568
  "data": {
1569
  "application/vnd.jupyter.widget-view+json": {
1570
+ "model_id": "2c00d0ec716c4f8883388c94a66d44d3",
1571
  "version_major": 2,
1572
  "version_minor": 0
1573
  },
 
1581
  {
1582
  "data": {
1583
  "application/vnd.jupyter.widget-view+json": {
1584
+ "model_id": "547a19e852f64b019297b0155bac03d7",
1585
  "version_major": 2,
1586
  "version_minor": 0
1587
  },
 
1595
  {
1596
  "data": {
1597
  "text/plain": [
1598
+ "CommitInfo(commit_url='https://huggingface.co/datasets/derek-thomas/labeled-multiple-choice-explained-falcon-reasoning/commit/11e1ed7503d2aa5724146ee4508cb924b1bb9783', commit_message='Upload dataset', commit_description='', oid='11e1ed7503d2aa5724146ee4508cb924b1bb9783', pr_url=None, repo_url=RepoUrl('https://huggingface.co/datasets/derek-thomas/labeled-multiple-choice-explained-falcon-reasoning', endpoint='https://huggingface.co', repo_type='dataset', repo_id='derek-thomas/labeled-multiple-choice-explained-falcon-reasoning'), pr_revision=None, pr_num=None)"
1599
  ]
1600
  },
1601
+ "execution_count": 23,
1602
  "metadata": {},
1603
  "output_type": "execute_result"
1604
  }
 
1635
  "name": "python",
1636
  "nbconvert_exporter": "python",
1637
  "pygments_lexer": "ipython3",
1638
+ "version": "3.11.11"
1639
  }
1640
  },
1641
  "nbformat": 4,
01-poe-dataset-creation.ipynb CHANGED
The diff for this file is too large to render. See raw diff
 
gradio_test.ipynb DELETED
The diff for this file is too large to render. See raw diff
 
requirements.txt CHANGED
@@ -1,11 +1,10 @@
1
- autotrain-advanced==0.8.31
2
  wandb==0.18.7
3
  huggingface_hub==0.26.2
4
  datasets==3.1.0
5
  pandas==2.2.3
6
- gradio==5.6.0
7
  scikit-learn==1.5.2
8
- lighteval[tensorboardX,adapters]==0.6.2
9
  nest_asyncio==1.6.0
10
  plotly==5.24.1
11
  ipywidgets==8.1.5
 
1
+ autotrain-advanced
2
  wandb==0.18.7
3
  huggingface_hub==0.26.2
4
  datasets==3.1.0
5
  pandas==2.2.3
6
+ gradio
7
  scikit-learn==1.5.2
 
8
  nest_asyncio==1.6.0
9
  plotly==5.24.1
10
  ipywidgets==8.1.5