{ "cells": [ { "cell_type": "markdown", "id": "a51ae982-cad6-4d26-a18a-83472879325b", "metadata": {}, "source": [ "# Setup" ] }, { "cell_type": "markdown", "id": "538e8d9b-74c8-4684-80be-623778bdaa90", "metadata": {}, "source": [ "## Config" ] }, { "cell_type": "code", "execution_count": 1, "id": "cf368153-eb55-42f4-887f-889c4e9d7c60", "metadata": {}, "outputs": [], "source": [ "INPUT_DATASET = 'layoric/labeled-multiple-choice-explained'\n", "REVISION = '536f3b8'\n", "OUTPUT_DATASET = 'derek-thomas/labeled-multiple-choice-explained-mistral-reasoning'\n", "NAMESPACE = 'HF-test-lab' # Use your username or wherever you have the ability to deploy inference endpoints" ] }, { "cell_type": "code", "execution_count": 2, "id": "c5a12bab-97bf-4a1d-989b-89f50a7fc272", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "aed670be03f741699118c33316dce7ec", "version_major": 2, "version_minor": 0 }, "text/plain": [ "VBox(children=(HTML(value='
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
formatted_questioncombinedfactanswerKeytopic__index_level_0__explanation
0what is satellite technology used for predicti...satellite technology is used for predicting wh...ctechnology35972.0a) Seconds and minutes: This option is incorre...
1what does irradiating food do? (a) relieve pai...irradiated food improves food safety.cfood science20412.0(a) Relieve pain: This option is not correct b...
2what protects a mammal's skin? (a) fiber folli...fiber follicles protect mammal skinabiology5779.0b) Exfoliation: Exfoliation is the process of ...
3what do earthworms do when a segment breaks of...earthworms can regrow segments that break offbbiology4064.0a) Dies: This option is not correct because ea...
4lightning can be bad for what? (a) the environ...lightning can be bad for the environment.aelectricity34080.0b) Rainstorms: Lightning is actually a natural...
.....................
9093organisms that can cause infection do what? (a...organisms that can cause infection make humans...gbiology33485.0a) Bandaging open sores is not the correct ans...
9094fungi are living things that cannot make thei...fungi are living things that cannot make their...abiology12097.0b) Fungi are living things that can make their...
9095an overheated body can use water for: (a) meta...the evaporation of water from the skin cools t...gbiology6522.0a) Metabolic reaction: This option is incorrec...
9096what is essential for cellular respiration for...plants are essential for cellular respiration ...fbiology27144.0a) Electrons are involved in cellular respirat...
9097what helps insulate and protect the body? (a) ...living cells in follicles help insulate and pr...bbiology18522.0a) H2O: Water is essential for life, but it do...
\n", "

9098 rows × 6 columns

\n", "" ], "text/plain": [ " formatted_question \\\n", "0 what is satellite technology used for predicti... \n", "1 what does irradiating food do? (a) relieve pai... \n", "2 what protects a mammal's skin? (a) fiber folli... \n", "3 what do earthworms do when a segment breaks of... \n", "4 lightning can be bad for what? (a) the environ... \n", "... ... \n", "9093 organisms that can cause infection do what? (a... \n", "9094 fungi are living things that cannot make thei... \n", "9095 an overheated body can use water for: (a) meta... \n", "9096 what is essential for cellular respiration for... \n", "9097 what helps insulate and protect the body? (a) ... \n", "\n", " combinedfact answerKey \\\n", "0 satellite technology is used for predicting wh... c \n", "1 irradiated food improves food safety. c \n", "2 fiber follicles protect mammal skin a \n", "3 earthworms can regrow segments that break off b \n", "4 lightning can be bad for the environment. a \n", "... ... ... \n", "9093 organisms that can cause infection make humans... g \n", "9094 fungi are living things that cannot make their... a \n", "9095 the evaporation of water from the skin cools t... g \n", "9096 plants are essential for cellular respiration ... f \n", "9097 living cells in follicles help insulate and pr... b \n", "\n", " topic __index_level_0__ \\\n", "0 technology 35972.0 \n", "1 food science 20412.0 \n", "2 biology 5779.0 \n", "3 biology 4064.0 \n", "4 electricity 34080.0 \n", "... ... ... \n", "9093 biology 33485.0 \n", "9094 biology 12097.0 \n", "9095 biology 6522.0 \n", "9096 biology 27144.0 \n", "9097 biology 18522.0 \n", "\n", " explanation \n", "0 a) Seconds and minutes: This option is incorre... \n", "1 (a) Relieve pain: This option is not correct b... \n", "2 b) Exfoliation: Exfoliation is the process of ... \n", "3 a) Dies: This option is not correct because ea... \n", "4 b) Rainstorms: Lightning is actually a natural... \n", "... ... \n", "9093 a) Bandaging open sores is not the correct ans... \n", "9094 b) Fungi are living things that can make their... \n", "9095 a) Metabolic reaction: This option is incorrec... \n", "9096 a) Electrons are involved in cellular respirat... \n", "9097 a) H2O: Water is essential for life, but it do... \n", "\n", "[9098 rows x 6 columns]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "code", "execution_count": 7, "id": "a1ec5678-13a5-4602-9d67-8406248fa414", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Before Cleaning: 9098 rows\n", "After Cleaning: 8413 rows\n" ] } ], "source": [ "print(f\"Before Cleaning: {len(df)} rows\")\n", "\n", "# Drop the __index_level_0__ column if it exists\n", "df.drop(columns=['__index_level_0__'], errors='ignore', inplace=True)\n", "\n", "# Ensure all values in 'formatted_question' are strings\n", "df['formatted_question'] = df['formatted_question'].astype(str)\n", "\n", "# Filter on topic so that we can stratify later\n", "df['topic'] = df['topic'].fillna('unknown')\n", "topic_counts = df['topic'].value_counts()\n", "valid_topics = topic_counts[topic_counts >= 5].index\n", "df = df[df['topic'].isin(valid_topics)]\n", "df = df[~df['topic'].isin(['unknown'])]\n", "\n", "df.rename(columns={\n", " 'combinedfact': 'combined_fact',\n", " 'answerKey': 'answer_key' \n", "}, inplace=True)\n", "\n", "\n", "# Drop the index level 0 if it exists\n", "df.reset_index(drop=True, inplace=True)\n", "print(f\"After Cleaning: {len(df)} rows\")" ] }, { "cell_type": "code", "execution_count": 8, "id": "71337823-91b9-4946-95cd-71810f5c5101", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
formatted_questioncombinedfactanswer_keytopicexplanation
0what is satellite technology used for predicti...satellite technology is used for predicting wh...ctechnologya) Seconds and minutes: This option is incorre...
1what does irradiating food do? (a) relieve pai...irradiated food improves food safety.cfood science(a) Relieve pain: This option is not correct b...
2what protects a mammal's skin? (a) fiber folli...fiber follicles protect mammal skinabiologyb) Exfoliation: Exfoliation is the process of ...
3what do earthworms do when a segment breaks of...earthworms can regrow segments that break offbbiologya) Dies: This option is not correct because ea...
4lightning can be bad for what? (a) the environ...lightning can be bad for the environment.aelectricityb) Rainstorms: Lightning is actually a natural...
..................
8408organisms that can cause infection do what? (a...organisms that can cause infection make humans...gbiologya) Bandaging open sores is not the correct ans...
8409fungi are living things that cannot make thei...fungi are living things that cannot make their...abiologyb) Fungi are living things that can make their...
8410an overheated body can use water for: (a) meta...the evaporation of water from the skin cools t...gbiologya) Metabolic reaction: This option is incorrec...
8411what is essential for cellular respiration for...plants are essential for cellular respiration ...fbiologya) Electrons are involved in cellular respirat...
8412what helps insulate and protect the body? (a) ...living cells in follicles help insulate and pr...bbiologya) H2O: Water is essential for life, but it do...
\n", "

8413 rows × 5 columns

\n", "
" ], "text/plain": [ " formatted_question \\\n", "0 what is satellite technology used for predicti... \n", "1 what does irradiating food do? (a) relieve pai... \n", "2 what protects a mammal's skin? (a) fiber folli... \n", "3 what do earthworms do when a segment breaks of... \n", "4 lightning can be bad for what? (a) the environ... \n", "... ... \n", "8408 organisms that can cause infection do what? (a... \n", "8409 fungi are living things that cannot make thei... \n", "8410 an overheated body can use water for: (a) meta... \n", "8411 what is essential for cellular respiration for... \n", "8412 what helps insulate and protect the body? (a) ... \n", "\n", " combinedfact answer_key \\\n", "0 satellite technology is used for predicting wh... c \n", "1 irradiated food improves food safety. c \n", "2 fiber follicles protect mammal skin a \n", "3 earthworms can regrow segments that break off b \n", "4 lightning can be bad for the environment. a \n", "... ... ... \n", "8408 organisms that can cause infection make humans... g \n", "8409 fungi are living things that cannot make their... a \n", "8410 the evaporation of water from the skin cools t... g \n", "8411 plants are essential for cellular respiration ... f \n", "8412 living cells in follicles help insulate and pr... b \n", "\n", " topic explanation \n", "0 technology a) Seconds and minutes: This option is incorre... \n", "1 food science (a) Relieve pain: This option is not correct b... \n", "2 biology b) Exfoliation: Exfoliation is the process of ... \n", "3 biology a) Dies: This option is not correct because ea... \n", "4 electricity b) Rainstorms: Lightning is actually a natural... \n", "... ... ... \n", "8408 biology a) Bandaging open sores is not the correct ans... \n", "8409 biology b) Fungi are living things that can make their... \n", "8410 biology a) Metabolic reaction: This option is incorrec... \n", "8411 biology a) Electrons are involved in cellular respirat... \n", "8412 biology a) H2O: Water is essential for life, but it do... \n", "\n", "[8413 rows x 5 columns]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "markdown", "id": "eb6efb48-1282-4539-a726-450a17fd7f12", "metadata": {}, "source": [ "## Process and Format Questions and Answer Choices\n", "I do some minor cleaning since the original dataset is a bit messy." ] }, { "cell_type": "code", "execution_count": 9, "id": "c3ac53c9-664a-4d8e-9820-7be788d120fa", "metadata": {}, "outputs": [], "source": [ "# Split before the first occurrence of \"(a)\" to separate question and answer choices\n", "df['topic'] = df['topic'].str.capitalize()\n", "df['question_text'] = df['formatted_question'].str.extract(r'^(.*?)(?=\\(a\\)|$)')[0]\n", "df['answer_choices'] = df['formatted_question'].str.extract(r'(\\(a\\).*)$')[0]\n", "\n", "# Function to check if the text needs a question mark\n", "def add_question_mark_if_needed(text):\n", " text = text.strip().capitalize()\n", " if not text.endswith('?'):\n", " return text + '?'\n", " return text\n", "\n", "# Apply the function to the 'question_text' column\n", "df['question_text'] = df['question_text'].apply(add_question_mark_if_needed)\n", "\n", "# Function to capitalize each answer choice item\n", "def capitalize_answer_choices(answer_choices):\n", " import re\n", " pattern = r'\\(([a-z])\\)\\s*([^\\(]+)'\n", " matches = re.findall(pattern, answer_choices)\n", " capitalized_choices = []\n", " for match in matches:\n", " label, text = match\n", " capitalized_choices.append(f'({label}) {text.strip().capitalize()}')\n", " return ' '.join(capitalized_choices)\n", "\n", "# Apply function to format answer choices\n", "df['answer_choices'] = df['answer_choices'].apply(capitalize_answer_choices)" ] }, { "cell_type": "code", "execution_count": 10, "id": "f96ed8a7-77d2-4ee4-b3a1-7dcb30f5966e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
formatted_questioncombinedfactanswer_keytopicexplanationquestion_textanswer_choices
0what is satellite technology used for predicti...satellite technology is used for predicting wh...cTechnologya) Seconds and minutes: This option is incorre...What is satellite technology used for predicting?(a) Seconds and minutes (b) The strength and m...
1what does irradiating food do? (a) relieve pai...irradiated food improves food safety.cFood science(a) Relieve pain: This option is not correct b...What does irradiating food do?(a) Relieve pain (b) Enhance food's nutrients ...
2what protects a mammal's skin? (a) fiber folli...fiber follicles protect mammal skinaBiologyb) Exfoliation: Exfoliation is the process of ...What protects a mammal's skin?(a) Fiber follicles (b) Exfoliation (c) Resist...
3what do earthworms do when a segment breaks of...earthworms can regrow segments that break offbBiologya) Dies: This option is not correct because ea...What do earthworms do when a segment breaks off?(a) Dies (b) Regrows it (c) Reproduces (d) Sed...
4lightning can be bad for what? (a) the environ...lightning can be bad for the environment.aElectricityb) Rainstorms: Lightning is actually a natural...Lightning can be bad for what?(a) The environment (b) Rainstorms (c) Destruc...
........................
8408organisms that can cause infection do what? (a...organisms that can cause infection make humans...gBiologya) Bandaging open sores is not the correct ans...Organisms that can cause infection do what?(a) Bandage open sores (b) Keep flesh clean (c...
8409fungi are living things that cannot make thei...fungi are living things that cannot make their...aBiologyb) Fungi are living things that can make their...Fungi are living things that cannot make their...(a) Food (b) Cells (c) Energy (d) Fruits (e) H...
8410an overheated body can use water for: (a) meta...the evaporation of water from the skin cools t...gBiologya) Metabolic reaction: This option is incorrec...An overheated body can use water for:?(a) Metabolic reaction (b) Dehydrating (c) Rai...
8411what is essential for cellular respiration for...plants are essential for cellular respiration ...fBiologya) Electrons are involved in cellular respirat...What is essential for cellular respiration for...(a) Electron (b) Glucose (c) Energy (d) Energy...
8412what helps insulate and protect the body? (a) ...living cells in follicles help insulate and pr...bBiologya) H2O: Water is essential for life, but it do...What helps insulate and protect the body?(a) H2o (b) Living cells in follicles (c) Laye...
\n", "

8413 rows × 7 columns

\n", "
" ], "text/plain": [ " formatted_question \\\n", "0 what is satellite technology used for predicti... \n", "1 what does irradiating food do? (a) relieve pai... \n", "2 what protects a mammal's skin? (a) fiber folli... \n", "3 what do earthworms do when a segment breaks of... \n", "4 lightning can be bad for what? (a) the environ... \n", "... ... \n", "8408 organisms that can cause infection do what? (a... \n", "8409 fungi are living things that cannot make thei... \n", "8410 an overheated body can use water for: (a) meta... \n", "8411 what is essential for cellular respiration for... \n", "8412 what helps insulate and protect the body? (a) ... \n", "\n", " combinedfact answer_key \\\n", "0 satellite technology is used for predicting wh... c \n", "1 irradiated food improves food safety. c \n", "2 fiber follicles protect mammal skin a \n", "3 earthworms can regrow segments that break off b \n", "4 lightning can be bad for the environment. a \n", "... ... ... \n", "8408 organisms that can cause infection make humans... g \n", "8409 fungi are living things that cannot make their... a \n", "8410 the evaporation of water from the skin cools t... g \n", "8411 plants are essential for cellular respiration ... f \n", "8412 living cells in follicles help insulate and pr... b \n", "\n", " topic explanation \\\n", "0 Technology a) Seconds and minutes: This option is incorre... \n", "1 Food science (a) Relieve pain: This option is not correct b... \n", "2 Biology b) Exfoliation: Exfoliation is the process of ... \n", "3 Biology a) Dies: This option is not correct because ea... \n", "4 Electricity b) Rainstorms: Lightning is actually a natural... \n", "... ... ... \n", "8408 Biology a) Bandaging open sores is not the correct ans... \n", "8409 Biology b) Fungi are living things that can make their... \n", "8410 Biology a) Metabolic reaction: This option is incorrec... \n", "8411 Biology a) Electrons are involved in cellular respirat... \n", "8412 Biology a) H2O: Water is essential for life, but it do... \n", "\n", " question_text \\\n", "0 What is satellite technology used for predicting? \n", "1 What does irradiating food do? \n", "2 What protects a mammal's skin? \n", "3 What do earthworms do when a segment breaks off? \n", "4 Lightning can be bad for what? \n", "... ... \n", "8408 Organisms that can cause infection do what? \n", "8409 Fungi are living things that cannot make their... \n", "8410 An overheated body can use water for:? \n", "8411 What is essential for cellular respiration for... \n", "8412 What helps insulate and protect the body? \n", "\n", " answer_choices \n", "0 (a) Seconds and minutes (b) The strength and m... \n", "1 (a) Relieve pain (b) Enhance food's nutrients ... \n", "2 (a) Fiber follicles (b) Exfoliation (c) Resist... \n", "3 (a) Dies (b) Regrows it (c) Reproduces (d) Sed... \n", "4 (a) The environment (b) Rainstorms (c) Destruc... \n", "... ... \n", "8408 (a) Bandage open sores (b) Keep flesh clean (c... \n", "8409 (a) Food (b) Cells (c) Energy (d) Fruits (e) H... \n", "8410 (a) Metabolic reaction (b) Dehydrating (c) Rai... \n", "8411 (a) Electron (b) Glucose (c) Energy (d) Energy... \n", "8412 (a) H2o (b) Living cells in follicles (c) Laye... \n", "\n", "[8413 rows x 7 columns]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "markdown", "id": "8d911d0a-2097-4d16-8bd8-c1527ebd20ca", "metadata": {}, "source": [ "## Prompt Creation" ] }, { "cell_type": "markdown", "id": "524aa429-fec5-4ba2-add7-e27b70d44854", "metadata": {}, "source": [ "This is the original prompt from layoric. It looks pretty good, but we need to adjust this for mistral. \n", "```\n", "{{#role 'system'~}}\n", "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", "{{~/role}}\n", "{{#role 'user'~}}\n", "USER:\n", "Topic: {{topic}}\n", "Question: {{question}}\n", "\n", "### Answer\n", "The correct answer is:\n", "{{answer_key}}). {{answer}}\n", "\n", "### Explanation:\n", "Let's break it down step by step.\n", "\n", "1. Read the question and options carefully.\n", "2. Identify the differences between the options.\n", "3. Determine which options are not logical based on the difference.\n", "4. Go through each incorrect answer providing an explanation why it is incorrect.\n", "{{~/role}}\n", "\n", "{{#role 'assistant'~}}\n", "{{~gen 'explanation'}}\n", "{{~/role}}\n", "```\n", "Changes:\n", "1. We need to move the system instructions to the user message\n", "2. Let's rename `explanation` to `reasoning`\n", "\n", "We want something like this:" ] }, { "cell_type": "code", "execution_count": 11, "id": "0e6b3afc-8f53-490b-92ca-aec1216f62cc", "metadata": {}, "outputs": [], "source": [ "def create_mistral_reasoning_prompt(row):\n", " reasoning_instructions = f'''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", "\n", "Topic: {row['topic']}\n", "Question: {row['question_text']}\n", "Answer Choices: {row['answer_choices']}\n", "\n", "The correct answer is: ({row['answer_key']})\n", "\n", "### Reasoning:\n", "Let's break it down step by step.\n", "\n", "1. Read the question and options carefully.\n", "2. Identify the differences between the options.\n", "3. Determine which options are not logical based on the difference.\n", "4. Go through each incorrect answer providing an explanation why it is incorrect.'''\n", " \n", " return [{\"role\": \"user\", \"content\": reasoning_instructions}]\n" ] }, { "cell_type": "markdown", "id": "3e759e97-c046-4fd1-a924-7618d1756588", "metadata": {}, "source": [ "Note that I updated the instructions slightly." ] }, { "cell_type": "code", "execution_count": 12, "id": "1e27e8b4-5cb3-42bf-8b2f-d0627c1d1ae9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[{'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", "\n", "---\n", "\n", "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", "\n", "Topic: Technology\n", "Question: What is satellite technology used for predicting?\n", "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", "\n", "The correct answer is: (c)\n", "\n", "### Reasoning:\n", "Let's break it down step by step.\n", "\n", "1. Read the question and options carefully.\n", "2. Identify the differences between the options.\n", "3. Determine which options are not logical based on the difference.\n", "4. Go through each incorrect answer providing an explanation why it is incorrect.\n" ] } ], "source": [ "df['mistral_reasoning_prompt'] = df.apply(create_mistral_reasoning_prompt, axis=1)\n", "print(df['mistral_reasoning_prompt'].iloc[0])\n", "print('\\n---\\n')\n", "print(df['mistral_reasoning_prompt'].iloc[0][0]['content'])" ] }, { "cell_type": "code", "execution_count": 13, "id": "1f9c248e-fef9-4194-a567-0ee10be7184d", "metadata": {}, "outputs": [ { "data": { "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "313 193\n" ] } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "token_dist = df['mistral_reasoning_prompt'].apply(lambda x: len(tokenizer.apply_chat_template(x)))\n", "\n", "# Plot the histogram of token counts\n", "plt.hist(token_dist, bins=20, edgecolor='black')\n", "plt.title(\"Histogram of Token Counts\")\n", "plt.xlabel(\"Token Count\")\n", "plt.ylabel(\"Frequency\")\n", "plt.show()\n", "print(max(token_dist), min(token_dist))" ] }, { "cell_type": "markdown", "id": "5a040685-4e01-4b78-9a04-3c4a4342f661", "metadata": {}, "source": [ "# Deployment" ] }, { "cell_type": "code", "execution_count": 14, "id": "8fa1a1a3-5bf3-463d-9ad2-f4a78c07388d", "metadata": {}, "outputs": [], "source": [ "from huggingface_hub import create_inference_endpoint\n", "from huggingface_hub import get_inference_endpoint\n", "\n", "\n", "def get_my_endpoint():\n", " name = f\"poe-reasoning\"\n", " namespace=NAMESPACE\n", " try:\n", " endpoint = get_inference_endpoint(name, namespace=namespace)\n", " endpoint.wait()\n", " except:\n", " # Custom Docker image details\n", " custom_image = {\n", " \"health_route\": \"/health\",\n", " \"url\": \"ghcr.io/huggingface/text-generation-inference:2.4.1\", # This is the min version\n", " \"env\": {\n", " # \"LORA_ADAPTERS\": \"derek-thomas/autotrain-mistral-v03-prompt-experiment-mc-FA-sg,derek-thomas/autotrain-mistral-v03-prompt-experiment-mc-FA-R-sg,derek-thomas/autotrain-mistral-v03-prompt-experiment-mc-FA-sg\", # Add adapters here\n", " \"MAX_BATCH_PREFILL_TOKENS\": \"8192\",\n", " \"MAX_INPUT_TOKENS\": \"320\", # Set according to your needs\n", " \"MAX_TOTAL_TOKENS\": \"2000\", # Set according to your needs\n", " \"DISABLE_CUSTOM_KERNELS\": 'false',\n", " \"MODEL_ID\": \"/repository\"\n", " },\n", " }\n", " \n", " secrets = {\n", " \"HF_TOKEN\": get_token()\n", " }\n", " \n", " # Creating the inference endpoint\n", " endpoint = create_inference_endpoint(\n", " name=name,\n", " namespace=namespace,\n", " repository='mistralai/Mistral-7B-Instruct-v0.3',\n", " framework=\"pytorch\",\n", " accelerator=\"gpu\",\n", " instance_size=\"x1\",\n", " instance_type=\"nvidia-l4\",\n", " region=\"us-east-1\",\n", " vendor=\"aws\",\n", " min_replica=4,\n", " max_replica=4,\n", " task=\"text-generation\",\n", " custom_image=custom_image,\n", " secrets=secrets\n", " )\n", " # endpoint.wait()\n", " \n", " print(\"Your model is ready to use!\")\n", " endpoint.wait()\n", " return endpoint" ] }, { "cell_type": "code", "execution_count": 15, "id": "0f2e2a06-6210-4cca-a96e-25fd2938d73d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Your model is ready to use!\n" ] } ], "source": [ "endpoint = get_my_endpoint()" ] }, { "cell_type": "code", "execution_count": 16, "id": "b3d76aa7-c97f-4e2d-9400-93b13f22b846", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'(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.'" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "response = endpoint.client.chat_completion(df['mistral_reasoning_prompt'].iloc[0], max_tokens=1650)\n", "response.choices[0].message.content" ] }, { "cell_type": "code", "execution_count": 17, "id": "7d3f0277-8b3a-4171-bcb5-b8bda5d5f242", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "8e2aee49e93d4df492e32706b9a0b6f4", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Processing Prompts: 0%| | 0/8413 [00:00\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
formatted_questioncombined_factanswer_keytopicexplanationquestion_textanswer_choicesmistral_reasoning_promptmistral_reasoning
0what is satellite technology used for predicti...satellite technology is used for predicting wh...cTechnologya) Seconds and minutes: This option is incorre...What is satellite technology used for predicting?(a) Seconds and minutes (b) The strength and m...[{'role': 'user', 'content': 'You are an AI as...Incorrect answers and explanations:\\n\\n1. Elec...
1what does irradiating food do? (a) relieve pai...irradiated food improves food safety.cFood science(a) Relieve pain: This option is not correct b...What does irradiating food do?(a) Relieve pain (b) Enhance food's nutrients ...[{'role': 'user', 'content': 'You are an AI as...Sure, let's examine each answer and justify wh...
2what protects a mammal's skin? (a) fiber folli...fiber follicles protect mammal skinaBiologyb) Exfoliation: Exfoliation is the process of ...What protects a mammal's skin?(a) Fiber follicles (b) Exfoliation (c) Resist...[{'role': 'user', 'content': 'You are an AI as...Sure, let's go through each of the provided an...
3what do earthworms do when a segment breaks of...earthworms can regrow segments that break offbBiologya) Dies: This option is not correct because ea...What do earthworms do when a segment breaks off?(a) Dies (b) Regrows it (c) Reproduces (d) Sed...[{'role': 'user', 'content': 'You are an AI as...1. Reading the question carefully, we can see ...
4lightning can be bad for what? (a) the environ...lightning can be bad for the environment.aElectricityb) Rainstorms: Lightning is actually a natural...Lightning can be bad for what?(a) The environment (b) Rainstorms (c) Destruc...[{'role': 'user', 'content': 'You are an AI as...1. Food: While essential for the growth and he...
..............................
8408organisms that can cause infection do what? (a...organisms that can cause infection make humans...gBiologya) Bandaging open sores is not the correct ans...Organisms that can cause infection do what?(a) Bandage open sores (b) Keep flesh clean (c...[{'role': 'user', 'content': 'You are an AI as...1. Read the question and options carefully: Th...
8409fungi are living things that cannot make thei...fungi are living things that cannot make their...aBiologyb) Fungi are living things that can make their...Fungi are living things that cannot make their...(a) Food (b) Cells (c) Energy (d) Fruits (e) H...[{'role': 'user', 'content': 'You are an AI as...1. Read the question and options carefully: Th...
8410an overheated body can use water for: (a) meta...the evaporation of water from the skin cools t...gBiologya) Metabolic reaction: This option is incorrec...An overheated body can use water for:?(a) Metabolic reaction (b) Dehydrating (c) Rai...[{'role': 'user', 'content': 'You are an AI as...1. Read the question and options carefully: Th...
8411what is essential for cellular respiration for...plants are essential for cellular respiration ...fBiologya) Electrons are involved in cellular respirat...What is essential for cellular respiration for...(a) Electron (b) Glucose (c) Energy (d) Energy...[{'role': 'user', 'content': 'You are an AI as...1. First, let's read the question and options ...
8412what helps insulate and protect the body? (a) ...living cells in follicles help insulate and pr...bBiologya) H2O: Water is essential for life, but it do...What helps insulate and protect the body?(a) H2o (b) Living cells in follicles (c) Laye...[{'role': 'user', 'content': 'You are an AI as...1. Read the question and options carefully: Th...
\n", "

8413 rows × 9 columns

\n", "" ], "text/plain": [ " formatted_question \\\n", "0 what is satellite technology used for predicti... \n", "1 what does irradiating food do? (a) relieve pai... \n", "2 what protects a mammal's skin? (a) fiber folli... \n", "3 what do earthworms do when a segment breaks of... \n", "4 lightning can be bad for what? (a) the environ... \n", "... ... \n", "8408 organisms that can cause infection do what? (a... \n", "8409 fungi are living things that cannot make thei... \n", "8410 an overheated body can use water for: (a) meta... \n", "8411 what is essential for cellular respiration for... \n", "8412 what helps insulate and protect the body? (a) ... \n", "\n", " combined_fact answer_key \\\n", "0 satellite technology is used for predicting wh... c \n", "1 irradiated food improves food safety. c \n", "2 fiber follicles protect mammal skin a \n", "3 earthworms can regrow segments that break off b \n", "4 lightning can be bad for the environment. a \n", "... ... ... \n", "8408 organisms that can cause infection make humans... g \n", "8409 fungi are living things that cannot make their... a \n", "8410 the evaporation of water from the skin cools t... g \n", "8411 plants are essential for cellular respiration ... f \n", "8412 living cells in follicles help insulate and pr... b \n", "\n", " topic explanation \\\n", "0 Technology a) Seconds and minutes: This option is incorre... \n", "1 Food science (a) Relieve pain: This option is not correct b... \n", "2 Biology b) Exfoliation: Exfoliation is the process of ... \n", "3 Biology a) Dies: This option is not correct because ea... \n", "4 Electricity b) Rainstorms: Lightning is actually a natural... \n", "... ... ... \n", "8408 Biology a) Bandaging open sores is not the correct ans... \n", "8409 Biology b) Fungi are living things that can make their... \n", "8410 Biology a) Metabolic reaction: This option is incorrec... \n", "8411 Biology a) Electrons are involved in cellular respirat... \n", "8412 Biology a) H2O: Water is essential for life, but it do... \n", "\n", " question_text \\\n", "0 What is satellite technology used for predicting? \n", "1 What does irradiating food do? \n", "2 What protects a mammal's skin? \n", "3 What do earthworms do when a segment breaks off? \n", "4 Lightning can be bad for what? \n", "... ... \n", "8408 Organisms that can cause infection do what? \n", "8409 Fungi are living things that cannot make their... \n", "8410 An overheated body can use water for:? \n", "8411 What is essential for cellular respiration for... \n", "8412 What helps insulate and protect the body? \n", "\n", " answer_choices \\\n", "0 (a) Seconds and minutes (b) The strength and m... \n", "1 (a) Relieve pain (b) Enhance food's nutrients ... \n", "2 (a) Fiber follicles (b) Exfoliation (c) Resist... \n", "3 (a) Dies (b) Regrows it (c) Reproduces (d) Sed... \n", "4 (a) The environment (b) Rainstorms (c) Destruc... \n", "... ... \n", "8408 (a) Bandage open sores (b) Keep flesh clean (c... \n", "8409 (a) Food (b) Cells (c) Energy (d) Fruits (e) H... \n", "8410 (a) Metabolic reaction (b) Dehydrating (c) Rai... \n", "8411 (a) Electron (b) Glucose (c) Energy (d) Energy... \n", "8412 (a) H2o (b) Living cells in follicles (c) Laye... \n", "\n", " mistral_reasoning_prompt \\\n", "0 [{'role': 'user', 'content': 'You are an AI as... \n", "1 [{'role': 'user', 'content': 'You are an AI as... \n", "2 [{'role': 'user', 'content': 'You are an AI as... \n", "3 [{'role': 'user', 'content': 'You are an AI as... \n", "4 [{'role': 'user', 'content': 'You are an AI as... \n", "... ... \n", "8408 [{'role': 'user', 'content': 'You are an AI as... \n", "8409 [{'role': 'user', 'content': 'You are an AI as... \n", "8410 [{'role': 'user', 'content': 'You are an AI as... \n", "8411 [{'role': 'user', 'content': 'You are an AI as... \n", "8412 [{'role': 'user', 'content': 'You are an AI as... \n", "\n", " mistral_reasoning \n", "0 Incorrect answers and explanations:\\n\\n1. Elec... \n", "1 Sure, let's examine each answer and justify wh... \n", "2 Sure, let's go through each of the provided an... \n", "3 1. Reading the question carefully, we can see ... \n", "4 1. Food: While essential for the growth and he... \n", "... ... \n", "8408 1. Read the question and options carefully: Th... \n", "8409 1. Read the question and options carefully: Th... \n", "8410 1. Read the question and options carefully: Th... \n", "8411 1. First, let's read the question and options ... \n", "8412 1. Read the question and options carefully: Th... \n", "\n", "[8413 rows x 9 columns]" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "code", "execution_count": 26, "id": "55bc6940-07e4-402f-9c56-fb830a35290f", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "b9047ef7088b4eaa83916017c17c0bbc", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Uploading the dataset shards: 0%| | 0/1 [00:00