Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/PawanOsman/ChatGPT
OpenAI API Free Reverse Proxy
https://github.com/PawanOsman/ChatGPT
ai api bard bing chat chatbot chatgpt chatgpt-api free gpt-3 gpt-4 openai openai-api reverse-proxy
Last synced: about 1 month ago
JSON representation
OpenAI API Free Reverse Proxy
- Host: GitHub
- URL: https://github.com/PawanOsman/ChatGPT
- Owner: PawanOsman
- License: agpl-3.0
- Created: 2022-12-06T16:39:11.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-23T15:25:51.000Z (4 months ago)
- Last Synced: 2024-10-29T14:50:42.351Z (about 1 month ago)
- Topics: ai, api, bard, bing, chat, chatbot, chatgpt, chatgpt-api, free, gpt-3, gpt-4, openai, openai-api, reverse-proxy
- Language: TypeScript
- Homepage: https://discord.pawan.krd
- Size: 104 KB
- Stars: 5,582
- Watchers: 46
- Forks: 984
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- StarryDivineSky - PawanOsman/ChatGPT - 3.5-turbo ) 的免费自托管 API 访问,因此无需更改代码。 (A01_文本生成_文本对话 / 大语言对话模型及数据)
- awesome-chatgpt - PawanOsman/ChatGPT - (Integrations / Other UIs)
- awesome-starz - PawanOsman/ChatGPT - OpenAI API Free Reverse Proxy (TypeScript)
- AiTreasureBox - PawanOsman/ChatGPT - 12-07_5642_0](https://img.shields.io/github/stars/PawanOsman/ChatGPT.svg)|OpenAI API Free Reverse Proxy| (Repos)
README
# This project is a bit outdated and isn’t working right now. We’ll update it, but we’re tied up with another project at the moment. In the meantime, you’re welcome to use [our hosted models for free](#accessing-our-hosted-api).
## ChatGPT `gpt-3.5-turbo` API for Free (as a Reverse Proxy)
Welcome to the ChatGPT API Free Reverse Proxy, offering free self-hosted API access to ChatGPT (`gpt-3.5-turbo`) with OpenAI's familiar structure, so no code changes are needed.
## Quick Links
- [Join our Discord Community](https://discord.pawan.krd) for support and questions.
- ⚡Note: Your Discord account must be at least 7 days old to be able join our Discord community.## Table of Contents
- [Features](#features)
- Option 1: [Installing/Self-Hosting Guide](#installingself-hosting-guide) (Without using any API key)
- Method 1: [Using Docker](#using-docker) or [Run it with a Chat Web UI using docker-compose](./docker-compose)
- Method 2: [Your PC/Server](#your-pcserver) (manually)
- Method 3: [Termux on Android Phones](#termux-on-android-phones)
- Option 2: [Accessing Our Hosted API](#accessing-our-hosted-api) (Free)
- [Usage Examples](#usage-examples)
- [License](#license)## Features
- **Streaming Response**: The API supports streaming response, so you can get the response as soon as it's available.
- **API Endpoint Compatibility**: Full alignment with official OpenAI API endpoints, ensuring hassle-free integration with existing OpenAI libraries.
- **Complimentary Access**: No charges for API usage, making advanced AI accessible to everyone even **without an API key**.## Installing/Self-Hosting Guide
### Using Docker
1. Ensure Docker is installed by referring to the [Docker Installation Docs](https://docs.docker.com/engine/install/).
2. Run the following command:
```bash
docker run -dp 3040:3040 pawanosman/chatgpt:latest
```
3. Done! You can now connect to your local server's API at:
```
http://localhost:3040/v1/chat/completions
```
Note that the base URL is `http://localhost:3040/v1`.### Install with chat web interfaces
✅ You can run third-party chat web interfaces, such as BetterChatGPT and LobeChat, with this API using Docker Compose. [Click here for the installation guide](./docker-compose).### Your PC/Server
To install and run the ChatGPT API Reverse Proxy on your PC/Server by following these steps:
Note: This option is not available to all countries yet. if you are from a country that is not supported, you can use a **U.S. VPN** or use **our hosted API**.
1. Ensure NodeJs (v19+) is installed: [Download NodeJs](https://nodejs.org/en/download)
2. Clone this repository:
```bash
git clone https://github.com/PawanOsman/ChatGPT.git
```
3. Open `start.bat` (Windows) or `start.sh` (Linux with `bash start.sh` command) to install dependencies and launch the server.
4. Done, you can connect to your local server's API at:
```
http://localhost:3040/v1/chat/completions
```
Note that the base url will be `http://localhost:3040/v1`To include installation instructions for Termux on Android devices, you can add the following section right after the instructions for Linux in the **Installing/Self-Hosting Guide**:
### Termux on Android Phones
To install and run the ChatGPT API Reverse Proxy on Android using Termux, follow these steps:
1. Install [Termux](https://play.google.com/store/apps/details?id=com.termux) from the Play Store.
2. Update Termux packages:
```bash
apt update
```
3. Upgrade Termux packages:
```bash
apt upgrade
```
4. Install git, Node.js, and npm:
```bash
apt install -y git nodejs
```
5. Clone the repository:
```bash
git clone https://github.com/PawanOsman/ChatGPT.git
```
6. Navigate to the cloned directory:
```bash
cd ChatGPT
```
7. Start the server with:```bash
bash start.sh
```8. Your local server will now be running and accessible at:
```
http://localhost:3040/v1/chat/completions
```Note that the base url will be `http://localhost:3040/v1`
You can now use this address to connect to your self-hosted ChatGPT API Reverse Proxy from Android applications/websites that support reverse proxy configurations, on the same device.
## Accessing Our Hosted API
Utilize our pre-hosted ChatGPT-like API for free by:
1. Joining our [Discord server](https://discord.pawan.krd).
2. Obtaining an API key from the `#Bot` channel with the `/key` command.
3. Incorporating the API key into your requests to:
```
https://api.pawan.krd/v1/chat/completions
```## Usage Examples
Leverage the same integration code as OpenAI's official libraries by simply adjusting the API key and base URL in your requests. For self-hosted setups, ensure to switch the base URL to your local server's address as mentioned above.
### Example Usage with OpenAI Libraries
#### Python Example
```python
import openaiopenai.api_key = 'anything'
openai.base_url = "http://localhost:3040/v1/"completion = openai.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": "How do I list all files in a directory using Python?"},
],
)print(completion.choices[0].message.content)
```#### Node.js Example
```js
import OpenAI from 'openai';const openai = new OpenAI({
apiKey: "anything",
baseURL: "http://localhost:3040/v1",
});const chatCompletion = await openai.chat.completions.create({
messages: [{ role: 'user', content: 'Say this is a test' }],
model: 'gpt-3.5-turbo',
});console.log(chatCompletion.choices[0].message.content);
```## License
This project is under the AGPL-3.0 License. Refer to the [LICENSE](LICENSE) file for detailed information.