Like many here, I don’t have access to OpenAI’s Code Interpreter model. But I do have plugin developer access, so I built my own:
There are a few video demos in the repo: codesherpa - GitHub
codesherpa runs in a Docker container on your local machine. You can upload files (there is a simple UI), ask ChatGPT to do data analysis, create visualizations, write code, etc. It’s a little rough around the edges but surprisingly useful given the limits of the current plugin system (and more importantly the limits of my abilities).
This project was born out of pure FOMO: after seeing demos of OpenAI’s code interpreter, I really wanted to try it. Yes I don’t have access, and it’s unclear if/when that may change. Luckily, with developer access, I could make this knock-off version for the time being.
For those with developer access, feel free to give it a try: codesherpa - GitHub.
And for those without access, please check it out, too! May your wait-list purgatory soon be over
Super cool project! Will the data within the docker container persist across conversations?
Thanks! Appreciate it.
To answer your question: yes, there is only a single session when the plugin is installed. So if you uploaded some datasets/files in one conversation, you can access them from another, just by asking.
A different approach could implement some kind of session management, or “workspaces”.
For example, in the current implementation, a user can ask ChatGPT to create a separate folder and tell it to just save any of its outputs there. Another approach could be adding an endpoint called
/new that creates a new workspace/session folder, and returns an
id so it can be referenced during the chat.
That might be work looking into!
That sounds very useful!
I don’t think your plugin is a knock-off of OpenAI’s code interpreter. I’m running fluid dynamics simulations on a remote server, some of them takes weeks to complete.
Your plugin seems perfect for checking up on these simulations, do you have any suggestions on how to get your plugin installed from inside a container/VM?
I don’t want containers in my containers, inside my VM’s