ChatGPT Clone: Project Introduction
ChatGPT Clone is an open-source project that seeks to recreate the functionalities of OpenAI’s renowned conversational model, ChatGPT. Currently, the development of this project is on hold due to time constraints, but contributions from the open-source community are welcomed to help improve and expand on its features.
Project Goals and Features
The primary aim of ChatGPT Clone is to provide a versatile and user-friendly conversational AI tool. Although some features are still in development or planned, several have been successfully implemented:
- Double Confirmation for Deletion: This ensures users don't accidentally delete their conversations.
- User Preference Memory: The application can now remember what settings you prefer, saving you from setting them up each time.
- Theme Changer: Personalize the look and feel of the interface by switching themes.
- Planned Features: In future updates, the project hopes to introduce features such as loading/exporting conversations, speech output and input, file loading capabilities, improved documentation, and potentially adopting a faster backend language or integrating React to enhance performance and usability.
Getting Started with ChatGPT Clone
For those interested in exploring this project, getting started involves a few straightforward steps:
Prerequisites
Ensure you have Python installed on your system. You can download it from Python’s official website.
Cloning the Repository
You begin by cloning the project repository with this Git command:
git clone https://github.com/xtekky/chatgpt-clone.git
Setting Up a Virtual Environment
A virtual environment is recommended to manage dependencies:
-
Navigate to the project's root directory:
cd chatgpt-clone
-
Create a new virtual environment:
python -m venv venv
-
Activate the virtual environment:
- On Unix or MacOS:
source venv/bin/activate
- On Windows:
venv\Scripts\activate
- On Unix or MacOS:
-
Install the necessary dependencies:
pip install -r requirements.txt
Configuring the Application
Configuration is flexible, allowing properties to be set via environment variables or a config.json
file. Environment variables take precedence over the config file. Key settings include:
- OpenAI API Key:
OPENAI_API_KEY
environment variable oropenai_key
in config.json. - OpenAI Base URL:
OPENAI_API_BASE
environment variable oropenai_api_base
in config.json. This can be used for routing queries through a reverse proxy.
Running the Application
Once your virtual environment is active, you can launch the application:
python run.py
Using Docker
For those who prefer containerization, ChatGPT Clone supports Docker, simplifying deployment. Simply use:
docker-compose up
Contributing to ChatGPT Clone
The project encourages contributions from developers who can add value, whether through bug fixes or new features. It’s a fantastic opportunity for those looking to enhance their skills or contribute to a meaningful open-source project.
Despite the current pause in development, ChatGPT Clone is an exciting endeavor in the realm of conversational AI, waiting for motivated contributors to help it reach its full potential.