Welcome to the Code Interpreter project. This software emulates OpenAI's ChatGPT locally, adding additional features and capabilities. Unlike OpenAI's model, this advanced solution supports multiple Jupyter kernels, allows users to install extra packages and provides unlimited file access.
ChatGPT's inbuilt code interpreter is versatile, functioning as a Python interpreter within a secure and firewalled sandbox environment. It can manage file uploads and downloads, interface with a long-lasting session (subject to an upper time limit), and perform other essential tasks.
Our local interpreter extends this model to provide more extensive functionality:
These features are designed to render the benefits of programming available to a wider audience.
Promising applications of our code interpreter include:
The possibilities are only limited by your creativity and exploration.
Here is a short demo of the project:
This repository consists of three directories:
client
: This directory contains a React application that provides the chatbot's user interface.server
: This directory houses the server, which responds to requests from the React application.jupyter_client
: This directory includes a Dockerfile and the essential files necessary to launch the Jupyter notebook server environment.Before beginning, please ensure you have Docker, Node.js, and npm installed.
Here are the installation instructions:
Navigate to the root directory containing the Dockerfile
and enter the Docker build command.
docker build -t jupyter_api .
Upon the Docker image's successful build, start the Docker container with:
docker run -p 5008:5008 -p 8888:8888 jupyter_api
Navigate to the client
and server
folders and install the dependencies using the npm install
command.
Then, start the server and client by navigating into their respective directories and using the npm start
command.
The project is currently in its alpha stage and actively seeking contributions to enhance its capabilities. The repository is substantially based on the live-chat React application from IdoBouskila. As I am primarily a backend developer, I am seeking help, especially from frontend developers, to improve this project's overall aesthetic and functionality.
Key areas for improvement include:
Contributions are highly appreciated. Please fork this repository and submit a pull request to propose your changes.
The software in this repository operates under the MIT License. Check out the LICENSE file for more details.
Disclaimer: You should have some command over Docker, NodeJS, and React to interact effectively with this software. If you're new, refer to the official Docker, Node.js, npm, and React documentation and guides.