Along with some colleagues, I’ve started experimenting with sending IPython context to OpenAI’s ChatCompletion endpoint, both for exceptions and as an assist (with a %%assist
magic). It works in all the Jupyter frontends I’ve tested: notebook, lab, and ipython.
The IPython extension is called genai,
and it’s pretty quick to set up:
- Set up an
OPENAI_API_KEY
via https://platform.openai.com/account/api-keys pip install genai
- Run
%load_ext genai
in your first cell
After that start making mistakes as the main feature is automatic exception feedback:
In [5]: df.boxplot('days_open', by="request_category")
...: plt.xticks(rotate=45)
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
Cell In[5], line 2
1 df.boxplot('days_open', by="request_category")
----> 2 plt.xticks(rotate=45)
File ~/.pyenv/versions/3.9.9/lib/python3.9/site-packages/matplotlib/pyplot.py:1891, in xticks(ticks, labels, minor, **kwargs)
1889 labels = ax.get_xticklabels(minor=minor)
1890 for l in labels:
-> 1891 l._internal_update(kwargs)
1892 else:
1893 labels = ax.set_xticklabels(labels, minor=minor, **kwargs)
AttributeError: Text.set() got an unexpected keyword argument 'rotate'
Generates this Markdown output
Suggestion
The
rotate
argument is not a valid keyword argument forplt.xticks()
. Instead, you should use therotation
argument. Please try the following code:df.boxplot('days_open', by="request_category") plt.xticks(rotation=45)
This should rotate the x-axis tick labels by 45 degrees.
There’s also an %%assist
magic that lets you write in natural language (or code if you so choose). It will send some recent inputs and outputs from IPython history to OpenAI to create the next cell:
I’d love to know your thoughts and collaborate on more advancements we can make to bring AI to interactive computing!