Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save alonsosilvaallende/7551194ecb9b0a0a31cffb23b66c3919 to your computer and use it in GitHub Desktop.
Save alonsosilvaallende/7551194ecb9b0a0a31cffb23b66c3919 to your computer and use it in GitHub Desktop.
LLM_generating_random_numbers.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"ExecuteTime": {
"start_time": "2023-07-14T18:46:07.730276Z",
"end_time": "2023-07-14T18:46:07.753564Z"
},
"trusted": true
},
"id": "5cba39c2",
"cell_type": "code",
"source": "%load_ext autoreload\n%autoreload 2",
"execution_count": 1,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2023-07-14T18:46:08.835763Z",
"end_time": "2023-07-14T18:46:08.860948Z"
},
"trusted": true
},
"id": "8f128ebc",
"cell_type": "code",
"source": "# get environment variable: OPENAI_API_KEY\nfrom dotenv import load_dotenv, find_dotenv\nload_dotenv(find_dotenv())",
"execution_count": 2,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 2,
"data": {
"text/plain": "True"
},
"metadata": {}
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2023-07-14T18:46:09.740445Z",
"end_time": "2023-07-14T18:46:09.877841Z"
},
"trusted": true
},
"id": "c9b1c45e",
"cell_type": "code",
"source": "import os\nimport openai\nimport tiktoken\nfrom retry import retry",
"execution_count": 3,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2023-07-14T18:46:10.559108Z",
"end_time": "2023-07-14T18:46:10.770711Z"
},
"trusted": true
},
"cell_type": "code",
"source": "enc = tiktoken.encoding_for_model(\"gpt-3.5-turbo\")\npossible_tokens = {f\"{enc.encode(f'{i}')[0]}\": 100 for i in range(1,11)}",
"execution_count": 4,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2023-07-14T18:46:11.383162Z",
"end_time": "2023-07-14T18:46:11.403414Z"
},
"trusted": true
},
"id": "fd0943db",
"cell_type": "code",
"source": "@retry(tries=10, delay=3)\ndef random_number_generator() -> str:\n return openai.ChatCompletion.create(\n model='gpt-3.5-turbo',\n messages=[{\n 'role': 'user',\n 'content': 'Pick a random number from 1-10'\n }],\n logit_bias=possible_tokens,\n max_tokens=1,\n temperature=0.7).choices[0].message.content",
"execution_count": 5,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2023-07-14T18:46:13.244105Z",
"end_time": "2023-07-14T19:05:03.935172Z"
},
"trusted": true
},
"cell_type": "code",
"source": "random_numbers = [random_number_generator() for i in range(1000)]",
"execution_count": 6,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2023-07-14T19:24:48.436004Z",
"end_time": "2023-07-14T19:24:48.467068Z"
},
"trusted": true
},
"cell_type": "code",
"source": "import pandas as pd\n\ndf_random_numbers = pd.DataFrame()\ndf_random_numbers[\"random_numbers\"] = [int(random_numbers[i]) for i in range(1000)]",
"execution_count": 24,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2023-07-14T19:24:52.360704Z",
"end_time": "2023-07-14T19:24:52.389333Z"
},
"trusted": true
},
"cell_type": "code",
"source": "df_random_numbers.to_csv(\"random.csv\", index=False)",
"execution_count": 25,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2023-07-14T19:24:56.177923Z",
"end_time": "2023-07-14T19:24:56.202920Z"
},
"trusted": true
},
"cell_type": "code",
"source": "import seaborn as sns",
"execution_count": 26,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2023-07-14T19:25:23.000081Z",
"end_time": "2023-07-14T19:25:23.030999Z"
},
"trusted": true
},
"cell_type": "code",
"source": "from collections import Counter",
"execution_count": 28,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2023-07-14T19:27:13.286776Z",
"end_time": "2023-07-14T19:27:13.315039Z"
},
"trusted": true
},
"cell_type": "code",
"source": "serie_rn = pd.Series(Counter(list(df_random_numbers[\"random_numbers\"])))",
"execution_count": 31,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2023-07-14T19:32:23.277847Z",
"end_time": "2023-07-14T19:32:23.306362Z"
},
"trusted": true
},
"cell_type": "code",
"source": "serie_rn_pct = 100*serie_rn/1000",
"execution_count": 43,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2023-07-14T19:45:57.412176Z",
"end_time": "2023-07-14T19:45:57.442599Z"
},
"trusted": true
},
"cell_type": "code",
"source": "df = pd.DataFrame()\ndf['number'] = serie_rn.index\ndf['counter'] = serie_rn.values",
"execution_count": 65,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2023-07-14T19:50:30.142632Z",
"end_time": "2023-07-14T19:50:30.173045Z"
},
"trusted": true
},
"cell_type": "code",
"source": "df_final = pd.DataFrame()\ndf_final[\"number\"] = [i for i in range(1,11)]",
"execution_count": 75,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2023-07-14T19:53:00.062119Z",
"end_time": "2023-07-14T19:53:00.091980Z"
},
"trusted": true
},
"cell_type": "code",
"source": "df_final = df_final.set_index(\"number\")",
"execution_count": 81,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2023-07-14T19:53:46.324394Z",
"end_time": "2023-07-14T19:53:46.354629Z"
},
"trusted": true
},
"cell_type": "code",
"source": "df = df.set_index(\"number\")",
"execution_count": 84,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2023-07-14T19:53:55.446563Z",
"end_time": "2023-07-14T19:53:55.476436Z"
},
"trusted": true
},
"cell_type": "code",
"source": "df_final[\"counters\"] = df[\"counter\"]",
"execution_count": 86,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2023-07-14T19:54:38.975879Z",
"end_time": "2023-07-14T19:54:39.004732Z"
},
"trusted": true
},
"cell_type": "code",
"source": "df_final = df_final.fillna(0)",
"execution_count": 90,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2023-07-14T19:55:11.075180Z",
"end_time": "2023-07-14T19:55:11.109141Z"
},
"trusted": true
},
"cell_type": "code",
"source": "df_final[\"counters\"] = df_final[\"counters\"].astype(int)",
"execution_count": 93,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2023-07-14T19:58:34.599722Z",
"end_time": "2023-07-14T19:58:34.628365Z"
},
"trusted": true
},
"cell_type": "code",
"source": "df_final[\"counters_percentage\"] = 100*df_final[\"counters\"]/1000",
"execution_count": 102,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2023-07-14T20:05:57.255751Z",
"end_time": "2023-07-14T20:05:58.042216Z"
},
"trusted": true
},
"cell_type": "code",
"source": "import matplotlib.pyplot as plt\n\nfig, ax = plt.subplots()\nx = [i for i in range(1,11)]\ny = [serie_rn_pct[i] if i in serie_rn_pct.index else 0 for i in range(1,11)]\nax.bar(x, y)\nfor i, val in enumerate(df_final[\"counters_percentage\"]):\n ax.text(i+.5, val+1, f\" {val:.1f}%\")\nax.set_title(f\"Pick a random number from 1-10\\n(n=1000, mean={np.mean(df_random_numbers['random_numbers'])}, median={np.median(df_random_numbers['random_numbers'])}, model='gpt-3.5-turbo', temp=0.7)\")\nax.set_xticks([i for i in range(1,11)])\nax.set_yticks([5*i for i in range(10)])\nax.set_yticklabels([f\"{5*i}%\" for i in range(10)])\nax.set_ylabel(\"% of responses\")\nplt.savefig(f\"random.png\", dpi=700, bbox_inches='tight', format='png')",
"execution_count": 117,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 640x480 with 1 Axes>",
"image/png": "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T09PVK5cGSNHjoSvry/++uuvTHUjIiJw69YtDBo0SCoLCAiAra0t6tati+TkZAQGBhZm+ERERESFhs9yzUJiYiIMDQ2RkJDAa+iIiIhUxLd8/C62I3REREREpBgmdEREREQqjgkdERERkYpjQkdERESk4pjQEREREak4JnREREREKo4JHREREZGKY0JHREREpOKY0BERERGpOCZ0RERERCqOCR0RERGRimNCR0RERKTimNARERERqTgmdEREREQqjgkdERERkYpjQkdERESk4pjQEREREak4JnREREREKo4JHREREZGKY0JHREREpOKY0BERERGpOCZ0RERERCqOCR0RERGRimNCR0RERKTimNARERERqTgmdEREREQqjgkdERERkYpjQkdERESk4pjQERGpsBs3bqBRo0YwNzeHtrY2bG1tMWHCBKSkpMjVW7BgASpVqgQdHR1YW1tj+PDh+PDhQ7bt3rt3DzKZLNNy8uRJqc7+/fvh4OAAAwMDdOvWDcnJydK6hIQEODg44P79+/nfaSLKpERRB0BERHmnoaGB7t2747vvvoORkREuXryIfv36IT09HTNnzgQAhIeHY9y4cfj1119Rr1493Lx5Ez179oRMJsO8efNybP/AgQOoWrWq9NrExAQAkJ6eji5dumD8+PHw8vJC+/btERISgoCAAADAuHHj4OfnBxsbmwLqORF9qtiM0M2aNQsymQzDhg2Tyj58+AB/f3+YmJhAX18fvr6+ePr0qbT+xYsX8PHxgb6+PlxcXHDhwgW5Nv39/TF37tzC6gIRUaGztbVFr1694OzsDBsbG7Rq1Qpdu3bF0aNHpTrHjx+Hm5sbunTpgvLly8PT0xOdO3fG6dOnc23fxMQEFhYW0qKhoQEAiI+PR3x8PAYNGoSqVauiVatWiImJkfZ35swZDB06tGA6TUSZFIuE7syZM1i5ciWcnJzkyocPH46//voLmzdvRlRUFP7991+0a9dOWj9jxgy8fv0a58+fh4eHB/r16yetO3nyJE6dOiWXIBIRfe1u3bqFvXv3wt3dXSqrV68ezp07JyVwd+7cwe7du9GiRYtc22vVqhXMzMxQv359/Pnnn1K5qakpLC0tsW/fPrx79w5Hjx6Fk5MTUlJSMHDgQKxcuRLq6ur530EiypooYq9fvxYVK1YU+/fvF+7u7mLo0KFCCCFevXol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unRpVKtWDePHj8e7d++kdc7Ozjh06BBSU1MREREBJycnAEBwcDA8PDxQq1YthfadlJSExMREuYWIiIhIVRTpCB0AXL58Ga6urvjw4QP09fWxfft2ODo6AgC6dOkCGxsblClTBpcuXcLYsWNx48YNbNu2DQAwbtw4DBw4EHZ2dihfvjzWrFmD2NhYrFu3DidOnICfnx/27duHWrVqYdWqVTA0NMwyhqCgIEyZMqXQ+kxERESUn2RCCFGUASQnJ+PBgwdISEjAli1bsHr1akRFRUlJ3acOHTqEJk2a4NatW7Czs8uyvcaNG2Po0KG4f/8+du3ahb///hv9+vWDiYlJtjdIJCUlISkpSXqdmJgIa2trJCQkwMDAIH86SkRUAMqP+7uoQ5Bzb5Z3UYdA37DExEQYGhp+k8fvIj/lqqmpCXt7e9SsWRNBQUFwdnbGwoULs6xbt25dAMCtW7eyXB8aGgojIyO0bt0akZGRaNOmDTQ0NNChQwdERkZmG4OWlpZ0p23GQkRERKQqivyU6+fS09PlRss+FR0dDQCwtLTMtO758+eYOnUqjh07BuDjNXkpKSkAPt4kkZaWVjABExERERWxIk3oxo8fj+bNm6NcuXJ4/fo1wsPDERkZiYiICNy+fRvh4eFo0aIFTExMcOnSJQwfPhwNGzaUbn741LBhwzBy5EhYWVkBANzc3BAWFgZPT0+EhITAzc2tsLtHREREVCiKNKF79uwZunfvjri4OBgaGsLJyQkRERH44Ycf8PDhQxw4cAALFizA27dvYW1tDV9fX0yYMCFTOxEREbh16xbCwsKksoCAAJw9exZ169ZFnTp1EBgYWJhdIyIiIio0RX5TRHH0LV9USUSqhTdFEP2fb/n4XeQ3RRARERHRl2FCR0RERKTimNARERERqTgmdEREREQqjgkdERERkYpjQkdERESk4pjQEREREak4JnREREREKo4JHREREZGKY0JHREREpOKY0BERERGpOCZ0RERERCqOCR0RERGRimNCR0RERKTimNARERERqTgmdEREREQqjgkdERERkYpjQkdERESk4pjQEREREak4JnREREREKo4JHREREZGKY0JHREREpOKY0BERERGpOCZ0RERERCqOCR0RERGRimNCR0RERKTimNARERERqTgmdEREACIjI9G6dWtYWlpCT08PNWrUwIYNGzLV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SkoK0tLSvqwTREQqptgmdBlTFZibm8uVm5ubS+t69+4NZ2dnODo6YsaMGdi0aRNevnyJSZMmYfHixZgwYQLs7e3h5eWFx48fZ7uvoKAgGBoaSou1tXXBdYzoK+ft7Y0zZ85g6tSpiI2Nxfnz59GrVy/Y2NjAxcUFAHD69GlUrlxZ+l66urqiVKlS6NGjBy5evIibN29i9OjRuHv3Lry9vTPtY9iwYRg5ciSsrKwAAG5ubggLC0NMTAxCQkLg5uZWeB0mIioGim1CpwgNDQ0sXboUd+/exZkzZ1C/fn2MHDkSQ4YMwYULF7Bjxw5cvHgR33//PYYMGZJtO+PHj0dCQoK0PHz4sBB7QfR1ady4McLDw7Fjxw64uLigWbNm0NLSwt69e6GjowPg44jcjRs3pFG10qVLY+/evXjz5g0aN26MWrVq4dixY9i5cyecnZ3l2o+IiMCtW7cwaNAgqSwgIAC2traoW7cukpOTERgYWHgdJiIqBor0GrqcWFhYAACePn0KS0tLqfzp06eoUaNGltscPnwYV69exerVqzF69Gi0aNECenp66NixI5YsWZLtvrS0tKClpZWv8RN9yzp16oROnTplu97DwyPTDRK1atVCRERErm17eXnBy8tLrkxXVzfHu2iJiL52xXaErkKFCrCwsMDBgwelssTERJw6dQqurq6Z6n/48AH+/v5YuXIl1NXVeU0NERERfTOKNKF78+YNoqOjER0dDeDjjRDR0dF48OABZDIZhg0bhunTp+PPP//E5cuX0b17d5QpUwZt2rTJ1Na0adPQokUL6RodNzc3bNu2DZcuXcKSJUt4TQ0RERF9tYr0lOvZs2fRqFEj6fWIESMAAD169MDatWsxZswYvH37Fv3798erV69Qv3597N27F9ra2nLtXLlyBZs2bZISQwBo3749IiMj0aBBA1SqVAnh4eGF0iciIiKiwiYT2c30+Q1LTEyEoaEhEhISOI8d0Tei/Li/izoEOfdmZb67NyuMO38oGjcVb9/y8bvYXkNHRERERIphQkdERESk4pjQEREREam4YjsPHRGpJl4bRURU+DhCR0RERKTimNARERERqTgmdEREREQqjgkdERERkYpjQkdERESk4pjQEREREak4JnREREREKo4JHREREZGKY0JHREREpOKY0BERERGpOCZ0RERERCqOCR0RERGRimNC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"
},
"metadata": {}
}
]
}
],
"metadata": {
"_draft": {
"nbviewer_url": "https://gist.github.com/alonsosilvaallende/aa0036e3d85fef791261734cb0088182"
},
"gist": {
"id": "aa0036e3d85fef791261734cb0088182",
"data": {
"description": "LLM_generating_random_numbers.ipynb",
"public": true
}
},
"kernelspec": {
"name": "conda-env-langchain-py",
"display_name": "Python [conda env:langchain]",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.11.3",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"varInspector": {
"window_display": false,
"cols": {
"lenName": 16,
"lenType": 16,
"lenVar": 40
},
"kernels_config": {
"python": {
"library": "var_list.py",
"delete_cmd_prefix": "del ",
"delete_cmd_postfix": "",
"varRefreshCmd": "print(var_dic_list())"
},
"r": {
"library": "var_list.r",
"delete_cmd_prefix": "rm(",
"delete_cmd_postfix": ") ",
"varRefreshCmd": "cat(var_dic_list()) "
}
},
"types_to_exclude": [
"module",
"function",
"builtin_function_or_method",
"instance",
"_Feature"
]
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment