From 62810974525ec8b569d2943922b20a77547cd59b Mon Sep 17 00:00:00 2001 From: stephenfreund Date: Fri, 22 Mar 2024 06:05:43 -0400 Subject: [PATCH] removed output from notebook --- test/python/nb.ipynb | 119 +++---------------------------------------- 1 file changed, 6 insertions(+), 113 deletions(-) diff --git a/test/python/nb.ipynb b/test/python/nb.ipynb index 6eac21e..5b54f9c 100644 --- a/test/python/nb.ipynb +++ b/test/python/nb.ipynb @@ -2,18 +2,10 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "637bdd5a-8e45-4f1d-8ad6-6e4d75e60d66", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Automatic pdb calling has been turned ON\n" - ] - } - ], + "outputs": [], "source": [ "from datascience import *\n", "%pdb" @@ -21,7 +13,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "66b2ebbf-584a-4c5f-885d-f2ad667cadd1", "metadata": {}, "outputs": [], @@ -31,7 +23,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "802a3ab2-599d-49dd-a5b4-3139d5e34269", "metadata": {}, "outputs": [], @@ -45,106 +37,7 @@ "execution_count": null, "id": "b46dc5a5-c376-40b3-a98d-da0ea012c80a", "metadata": {}, - "outputs": [ - { - "ename": "TypeError", - "evalue": "only length-1 arrays can be converted to Python scalars", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[4], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mmake_marble_bag\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m10\u001b[39;49m\u001b[43m)\u001b[49m\n", - "Cell \u001b[0;32mIn[3], line 2\u001b[0m, in \u001b[0;36mmake_marble_bag\u001b[0;34m(size)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mmake_marble_bag\u001b[39m(size):\n\u001b[0;32m----> 2\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m size \u001b[38;5;241m*\u001b[39m \u001b[43msample_proportions\u001b[49m\u001b[43m(\u001b[49m\u001b[43mred_blue_proportions\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msize\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/miniconda3/envs/chatdbg/lib/python3.11/site-packages/datascience/util.py:135\u001b[0m, in \u001b[0;36msample_proportions\u001b[0;34m(sample_size, probabilities)\u001b[0m\n\u001b[1;32m 121\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21msample_proportions\u001b[39m(sample_size, probabilities):\n\u001b[1;32m 122\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Return the proportion of random draws for each outcome in a distribution.\u001b[39;00m\n\u001b[1;32m 123\u001b[0m \n\u001b[1;32m 124\u001b[0m \u001b[38;5;124;03m This function is similar to np.random.multinomial, but returns proportions\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 133\u001b[0m \u001b[38;5;124;03m An array with the same length as ``probability`` that sums to 1.\u001b[39;00m\n\u001b[1;32m 134\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 135\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrandom\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmultinomial\u001b[49m\u001b[43m(\u001b[49m\u001b[43msample_size\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mprobabilities\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;241m/\u001b[39m sample_size\n", - "File \u001b[0;32mnumpy/random/mtrand.pyx:4257\u001b[0m, in \u001b[0;36mnumpy.random.mtrand.RandomState.multinomial\u001b[0;34m()\u001b[0m\n", - "\u001b[0;31mTypeError\u001b[0m: only length-1 arrays can be converted to Python scalars" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "> \u001b[0;32m/var/folders/hg/75dgl5gs1bj7vl_fv36njtvw000_1x/T/ipykernel_72585/2011091782.py\u001b[0m(2)\u001b[0;36mmake_marble_bag\u001b[0;34m()\u001b[0m\n", - "\u001b[0;32m 1 \u001b[0;31m\u001b[0;32mdef\u001b[0m \u001b[0mmake_marble_bag\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msize\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0m\u001b[0;32m----> 2 \u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0msize\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0msample_proportions\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mred_blue_proportions\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msize\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0m\n" - ] - }, - { - "name": "stdin", - "output_type": "stream", - "text": [ - "(ChatDBG) why?\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "You need an OpenAI key to use this tool.\n", - "You can get a key here: https://platform.openai.com/api-keys\n", - "Set the environment variable OPENAI_API_KEY to your key value.\n", - "\n" - ] - }, - { - "ename": "SystemExit", - "evalue": "-1", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", - " \u001b[0;31m[... skipping hidden 1 frame]\u001b[0m\n", - "Cell \u001b[0;32mIn[4], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mmake_marble_bag\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m10\u001b[39;49m\u001b[43m)\u001b[49m\n", - "Cell \u001b[0;32mIn[3], line 2\u001b[0m, in \u001b[0;36mmake_marble_bag\u001b[0;34m(size)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mmake_marble_bag\u001b[39m(size):\n\u001b[0;32m----> 2\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m size \u001b[38;5;241m*\u001b[39m \u001b[43msample_proportions\u001b[49m\u001b[43m(\u001b[49m\u001b[43mred_blue_proportions\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msize\u001b[49m\u001b[43m)\u001b[49m\n", - " \u001b[0;31m[... skipping hidden 1 frame]\u001b[0m\n", - "File \u001b[0;32mnumpy/random/mtrand.pyx:4257\u001b[0m, in \u001b[0;36mnumpy.random.mtrand.RandomState.multinomial\u001b[0;34m()\u001b[0m\n", - "\u001b[0;31mTypeError\u001b[0m: only length-1 arrays can be converted to Python scalars", - "\nDuring handling of the above exception, another exception occurred:\n", - "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", - "File \u001b[0;32m~/miniconda3/envs/chatdbg/lib/python3.11/cmd.py:214\u001b[0m, in \u001b[0;36mCmd.onecmd\u001b[0;34m(self, line)\u001b[0m\n\u001b[1;32m 213\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 214\u001b[0m func \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mgetattr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mdo_\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mcmd\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 215\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mAttributeError\u001b[39;00m:\n", - "\u001b[0;31mAttributeError\u001b[0m: 'ChatDBG' object has no attribute 'do_why'", - "\nDuring handling of the above exception, another exception occurred:\n", - "\u001b[0;31mOpenAIError\u001b[0m Traceback (most recent call last)", - "File \u001b[0;32m~/other/ChatDBG/src/chatdbg/assistant/assistant.py:38\u001b[0m, in \u001b[0;36mAssistant.__init__\u001b[0;34m(self, name, instructions, model, timeout, debug)\u001b[0m\n\u001b[1;32m 37\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 38\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mclient \u001b[38;5;241m=\u001b[39m \u001b[43mOpenAI\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtimeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtimeout\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 39\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m OpenAIError:\n", - "File \u001b[0;32m~/miniconda3/envs/chatdbg/lib/python3.11/site-packages/openai/_client.py:98\u001b[0m, in \u001b[0;36mOpenAI.__init__\u001b[0;34m(self, api_key, organization, base_url, timeout, max_retries, default_headers, default_query, http_client, _strict_response_validation)\u001b[0m\n\u001b[1;32m 97\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m api_key \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m---> 98\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m OpenAIError(\n\u001b[1;32m 99\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mThe api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variable\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 100\u001b[0m )\n\u001b[1;32m 101\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mapi_key \u001b[38;5;241m=\u001b[39m api_key\n", - "\u001b[0;31mOpenAIError\u001b[0m: The api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variable", - "\nDuring handling of the above exception, another exception occurred:\n", - "\u001b[0;31mSystemExit\u001b[0m Traceback (most recent call last)", - " \u001b[0;31m[... skipping hidden 1 frame]\u001b[0m\n", - "File \u001b[0;32m~/miniconda3/envs/chatdbg/lib/python3.11/site-packages/IPython/core/interactiveshell.py:2158\u001b[0m, in \u001b[0;36mInteractiveShell.showtraceback\u001b[0;34m(self, exc_tuple, filename, tb_offset, exception_only, running_compiled_code)\u001b[0m\n\u001b[1;32m 2155\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_showtraceback(etype, value, stb)\n\u001b[1;32m 2156\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcall_pdb:\n\u001b[1;32m 2157\u001b[0m \u001b[38;5;66;03m# drop into debugger\u001b[39;00m\n\u001b[0;32m-> 2158\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdebugger\u001b[49m\u001b[43m(\u001b[49m\u001b[43mforce\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m)\u001b[49m\n\u001b[1;32m 2159\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m\n\u001b[1;32m 2161\u001b[0m \u001b[38;5;66;03m# Actually show the traceback\u001b[39;00m\n", - "File \u001b[0;32m~/miniconda3/envs/chatdbg/lib/python3.11/site-packages/IPython/core/interactiveshell.py:1170\u001b[0m, in \u001b[0;36mInteractiveShell.debugger\u001b[0;34m(self, force)\u001b[0m\n\u001b[1;32m 1167\u001b[0m error(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mNo traceback has been produced, nothing to debug.\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 1168\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m\n\u001b[0;32m-> 1170\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mInteractiveTB\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdebugger\u001b[49m\u001b[43m(\u001b[49m\u001b[43mforce\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/miniconda3/envs/chatdbg/lib/python3.11/site-packages/IPython/core/ultratb.py:1266\u001b[0m, in \u001b[0;36mVerboseTB.debugger\u001b[0;34m(self, force)\u001b[0m\n\u001b[1;32m 1264\u001b[0m exc \u001b[38;5;241m=\u001b[39m sys\u001b[38;5;241m.\u001b[39mlast_value \u001b[38;5;28;01mif\u001b[39;00m sys\u001b[38;5;241m.\u001b[39mversion_info \u001b[38;5;241m<\u001b[39m (\u001b[38;5;241m3\u001b[39m, \u001b[38;5;241m12\u001b[39m) \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;28mgetattr\u001b[39m(sys, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mlast_exc\u001b[39m\u001b[38;5;124m\"\u001b[39m, sys\u001b[38;5;241m.\u001b[39mlast_value) \u001b[38;5;66;03m# type: ignore[attr-defined]\u001b[39;00m\n\u001b[1;32m 1265\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m exc:\n\u001b[0;32m-> 1266\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpdb\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43minteraction\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mexc\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1267\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 1268\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpdb\u001b[38;5;241m.\u001b[39minteraction(\u001b[38;5;28;01mNone\u001b[39;00m, etb)\n", - "File \u001b[0;32m~/other/ChatDBG/src/chatdbg/chatdbg_pdb.py:156\u001b[0m, in \u001b[0;36mChatDBG.interaction\u001b[0;34m(self, frame, tb_or_exc)\u001b[0m\n\u001b[1;32m 151\u001b[0m details \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;241m.\u001b[39mjoin(traceback\u001b[38;5;241m.\u001b[39mformat_exception_only(exception))\u001b[38;5;241m.\u001b[39mrstrip()\n\u001b[1;32m 152\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_error_specific_prompt \u001b[38;5;241m=\u001b[39m (\n\u001b[1;32m 153\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mThe program encountered the following error:\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m```\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;132;01m{\u001b[39;00mdetails\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m```\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 154\u001b[0m )\n\u001b[0;32m--> 156\u001b[0m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43minteraction\u001b[49m\u001b[43m(\u001b[49m\u001b[43mframe\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtb_or_exc\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/miniconda3/envs/chatdbg/lib/python3.11/site-packages/IPython/core/debugger.py:455\u001b[0m, in \u001b[0;36mPdb.interaction\u001b[0;34m(self, frame, tb_or_exc)\u001b[0m\n\u001b[1;32m 453\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m tb \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmain exception must have a traceback\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 454\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_hold_exceptions(_chained_exceptions):\n\u001b[0;32m--> 455\u001b[0m \u001b[43mOldPdb\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43minteraction\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mframe\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtb\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 456\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 457\u001b[0m OldPdb\u001b[38;5;241m.\u001b[39minteraction(\u001b[38;5;28mself\u001b[39m, frame, tb_or_exc)\n", - "File \u001b[0;32m~/miniconda3/envs/chatdbg/lib/python3.11/pdb.py:433\u001b[0m, in \u001b[0;36mPdb.interaction\u001b[0;34m(self, frame, traceback)\u001b[0m\n\u001b[1;32m 431\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m\n\u001b[1;32m 432\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mprint_stack_entry(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstack[\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcurindex])\n\u001b[0;32m--> 433\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_cmdloop\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 434\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mforget()\n", - "File \u001b[0;32m~/miniconda3/envs/chatdbg/lib/python3.11/site-packages/IPython/core/debugger.py:1106\u001b[0m, in \u001b[0;36mInterruptiblePdb._cmdloop\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1102\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 1103\u001b[0m \u001b[38;5;66;03m# keyboard interrupts allow for an easy way to cancel\u001b[39;00m\n\u001b[1;32m 1104\u001b[0m \u001b[38;5;66;03m# the current command, so allow them during interactive input\u001b[39;00m\n\u001b[1;32m 1105\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mallow_kbdint \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[0;32m-> 1106\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcmdloop\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1107\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mallow_kbdint \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m\n\u001b[1;32m 1108\u001b[0m \u001b[38;5;28;01mbreak\u001b[39;00m\n", - "File \u001b[0;32m~/miniconda3/envs/chatdbg/lib/python3.11/site-packages/IPython/core/debugger.py:1092\u001b[0m, in \u001b[0;36mInterruptiblePdb.cmdloop\u001b[0;34m(self, intro)\u001b[0m\n\u001b[1;32m 1090\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Wrap cmdloop() such that KeyboardInterrupt stops the debugger.\"\"\"\u001b[39;00m\n\u001b[1;32m 1091\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m-> 1092\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mOldPdb\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcmdloop\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mintro\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mintro\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1093\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyboardInterrupt\u001b[39;00m:\n\u001b[1;32m 1094\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstop_here \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mlambda\u001b[39;00m frame: \u001b[38;5;28;01mFalse\u001b[39;00m\n", - "File \u001b[0;32m~/miniconda3/envs/chatdbg/lib/python3.11/cmd.py:138\u001b[0m, in \u001b[0;36mCmd.cmdloop\u001b[0;34m(self, intro)\u001b[0m\n\u001b[1;32m 136\u001b[0m line \u001b[38;5;241m=\u001b[39m line\u001b[38;5;241m.\u001b[39mrstrip(\u001b[38;5;124m'\u001b[39m\u001b[38;5;130;01m\\r\u001b[39;00m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 137\u001b[0m line \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mprecmd(line)\n\u001b[0;32m--> 138\u001b[0m stop \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43monecmd\u001b[49m\u001b[43m(\u001b[49m\u001b[43mline\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 139\u001b[0m stop \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpostcmd(stop, line)\n\u001b[1;32m 140\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpostloop()\n", - "File \u001b[0;32m~/other/ChatDBG/src/chatdbg/chatdbg_pdb.py:208\u001b[0m, in \u001b[0;36mChatDBG.onecmd\u001b[0;34m(self, line)\u001b[0m\n\u001b[1;32m 206\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 207\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mwas_chat \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m\n\u001b[0;32m--> 208\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43monecmd\u001b[49m\u001b[43m(\u001b[49m\u001b[43mline\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 209\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 210\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstdout \u001b[38;5;241m=\u001b[39m hist_file\u001b[38;5;241m.\u001b[39mgetfile()\n", - "File \u001b[0;32m~/miniconda3/envs/chatdbg/lib/python3.11/pdb.py:498\u001b[0m, in \u001b[0;36mPdb.onecmd\u001b[0;34m(self, line)\u001b[0m\n\u001b[1;32m 491\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Interpret the argument as though it had been typed in response\u001b[39;00m\n\u001b[1;32m 492\u001b[0m \u001b[38;5;124;03mto the prompt.\u001b[39;00m\n\u001b[1;32m 493\u001b[0m \n\u001b[1;32m 494\u001b[0m \u001b[38;5;124;03mChecks whether this line is typed at the normal prompt or in\u001b[39;00m\n\u001b[1;32m 495\u001b[0m \u001b[38;5;124;03ma breakpoint command list definition.\u001b[39;00m\n\u001b[1;32m 496\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 497\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcommands_defining:\n\u001b[0;32m--> 498\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mcmd\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mCmd\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43monecmd\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mline\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 499\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 500\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandle_command_def(line)\n", - "File \u001b[0;32m~/miniconda3/envs/chatdbg/lib/python3.11/cmd.py:216\u001b[0m, in \u001b[0;36mCmd.onecmd\u001b[0;34m(self, line)\u001b[0m\n\u001b[1;32m 214\u001b[0m func \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mgetattr\u001b[39m(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdo_\u001b[39m\u001b[38;5;124m'\u001b[39m \u001b[38;5;241m+\u001b[39m cmd)\n\u001b[1;32m 215\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mAttributeError\u001b[39;00m:\n\u001b[0;32m--> 216\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdefault\u001b[49m\u001b[43m(\u001b[49m\u001b[43mline\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 217\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m func(arg)\n", - "File \u001b[0;32m~/other/ChatDBG/src/chatdbg/chatdbg_pdb.py:266\u001b[0m, in \u001b[0;36mChatDBG.default\u001b[0;34m(self, line)\u001b[0m\n\u001b[1;32m 264\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m line[:\u001b[38;5;241m1\u001b[39m] \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m:\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[1;32m 265\u001b[0m line \u001b[38;5;241m=\u001b[39m line[\u001b[38;5;241m1\u001b[39m:]\u001b[38;5;241m.\u001b[39mstrip()\n\u001b[0;32m--> 266\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdo_chat\u001b[49m\u001b[43m(\u001b[49m\u001b[43mline\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/other/ChatDBG/src/chatdbg/chatdbg_pdb.py:553\u001b[0m, in \u001b[0;36mChatDBG.do_chat\u001b[0;34m(self, arg)\u001b[0m\n\u001b[1;32m 550\u001b[0m full_prompt \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_build_prompt(arg, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_assistant \u001b[38;5;241m!=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m)\n\u001b[1;32m 552\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_assistant \u001b[38;5;241m==\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m--> 553\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_make_assistant\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 555\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mclient_print\u001b[39m(line\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m\"\u001b[39m):\n\u001b[1;32m 556\u001b[0m line \u001b[38;5;241m=\u001b[39m llm_utils\u001b[38;5;241m.\u001b[39mword_wrap_except_code_blocks(line, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_text_width \u001b[38;5;241m-\u001b[39m \u001b[38;5;241m10\u001b[39m)\n", - "File \u001b[0;32m~/other/ChatDBG/src/chatdbg/chatdbg_pdb.py:699\u001b[0m, in \u001b[0;36mChatDBG._make_assistant\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 694\u001b[0m \u001b[38;5;28mprint\u001b[39m(\n\u001b[1;32m 695\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mchatdbg_config\u001b[38;5;241m.\u001b[39mmodel\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m is not a valid OpenAI model. Choose from: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m_valid_models\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 696\u001b[0m )\n\u001b[1;32m 697\u001b[0m sys\u001b[38;5;241m.\u001b[39mexit(\u001b[38;5;241m0\u001b[39m)\n\u001b[0;32m--> 699\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_assistant \u001b[38;5;241m=\u001b[39m \u001b[43mAssistant\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 700\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mChatDBG\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 701\u001b[0m \u001b[43m \u001b[49m\u001b[43minstruction_prompt\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 702\u001b[0m \u001b[43m \u001b[49m\u001b[43mmodel\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mchatdbg_config\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmodel\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 703\u001b[0m \u001b[43m \u001b[49m\u001b[43mdebug\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mchatdbg_config\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdebug\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 704\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 706\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m chatdbg_config\u001b[38;5;241m.\u001b[39mtake_the_wheel:\n\u001b[1;32m 707\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_assistant\u001b[38;5;241m.\u001b[39madd_function(debug)\n", - "File \u001b[0;32m~/other/ChatDBG/src/chatdbg/assistant/assistant.py:45\u001b[0m, in \u001b[0;36mAssistant.__init__\u001b[0;34m(self, name, instructions, model, timeout, debug)\u001b[0m\n\u001b[1;32m 39\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m OpenAIError:\n\u001b[1;32m 40\u001b[0m \u001b[38;5;28mprint\u001b[39m(textwrap\u001b[38;5;241m.\u001b[39mdedent(\u001b[38;5;124m\"\"\"\u001b[39m\u001b[38;5;130;01m\\\u001b[39;00m\n\u001b[1;32m 41\u001b[0m \u001b[38;5;124m You need an OpenAI key to use this tool.\u001b[39m\n\u001b[1;32m 42\u001b[0m \u001b[38;5;124m You can get a key here: https://platform.openai.com/api-keys\u001b[39m\n\u001b[1;32m 43\u001b[0m \u001b[38;5;124m Set the environment variable OPENAI_API_KEY to your key value.\u001b[39m\n\u001b[1;32m 44\u001b[0m \u001b[38;5;124m \u001b[39m\u001b[38;5;124m\"\"\"\u001b[39m))\n\u001b[0;32m---> 45\u001b[0m \u001b[43msys\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mexit\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m-\u001b[39;49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 48\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39massistants \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mclient\u001b[38;5;241m.\u001b[39mbeta\u001b[38;5;241m.\u001b[39massistants\n\u001b[1;32m 49\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mthreads \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mclient\u001b[38;5;241m.\u001b[39mbeta\u001b[38;5;241m.\u001b[39mthreads\n", - "\u001b[0;31mSystemExit\u001b[0m: -1" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "> \u001b[0;32m/Users/freund/miniconda3/envs/chatdbg/lib/python3.11/site-packages/IPython/core/interactiveshell.py\u001b[0m(3493)\u001b[0;36mrun_ast_nodes\u001b[0;34m()\u001b[0m\n", - "\u001b[0;32m 3491 \u001b[0;31m \u001b[0mcode\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcompiler\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmod\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcell_name\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0m\u001b[0;32m 3492 \u001b[0;31m \u001b[0masy\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcompare\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcode\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0m\u001b[0;32m-> 3493 \u001b[0;31m \u001b[0;32mif\u001b[0m \u001b[0;32mawait\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun_code\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcode\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0masync_\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0masy\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0m\u001b[0;32m 3494 \u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0m\u001b[0;32m 3495 \u001b[0;31m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0m\n" - ] - } - ], + "outputs": [], "source": [ "make_marble_bag(10)" ] @@ -205,7 +98,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.7" + "version": "3.11.8" } }, "nbformat": 4,