Check the new Google Bard Chatbot!
16-MAY-2023 Update
We found a new way to use the 8k token version gpt-3.5-turbo
, now gpt-3.5-turbo
is available from our reverse proxy at 8k token context size.
Discord]
If you have any questions or need assistance, please join [Welcome to ChatGPT API FREE Reverse Proxy
ChatGPT API Free Reverse Proxy is a free reverse proxy to OpenAI API that allows users to access OpenAI API for free.
Table of Contents
Features
- Multiple OpenAI Keys - You can use multiple OpenAI keys. The API will randomly choose one of the keys to use.
- Moderation - The API has a built-in moderation system that will automatically check the prompt before sending it to OpenAI API (To prevent OpenAI terminate the account for violating OpenAI's policy).
- Streaming Response - The API supports streaming response, so you can get the response as soon as it's available.
- Same as Official - The API has the same endpoints as the official API, so you can use the same code to access the API (even the official OpenAI libraries)
- Free - The API is free to use through our hosted API (You can also self-host the API if you want).
Note: Self-hosting it isn't free, you need to use your OpenAI Account credit.
How to use ChatGPT API Reverse Proxy
You can use ChatGPT API Reverse Proxy by choosing one of the following methods:
Self-Host Your Own API
To self-host your own ChatGPT API, you can use the following steps:
- Create an OpenAI API Key
- Clone this repository and install the dependencies:
git clone https://github.com/PawanOsman/ChatGPT.git
cd ChatGPT
npm install
- Set your OpenAI key and other configurations in the
config.js
file. - Start the server:
npm start
- Use the API by sending an HTTP request to the API endpoints for example:
http://localhost:3000/v1/completions
http://localhost:3000/v1/chat/completions
Use Our Hosted API Reverse Proxy
To use our hosted ChatGPT API, you can use the following steps:
- Join our Discord server.
- Get your API key from the
#Bot
channel by sending/key
command. - Use the API Key in your requests to the following endpoints.
Text Completion:
https://api.pawan.krd/v1/completions
OpenAI Docs
Example:curl --location 'https://api.pawan.krd/v1/completions' \
--header 'Authorization: Bearer pk-***[OUR_API_KEY]***' \
--header 'Content-Type: application/json' \
--data '{
"model": "text-davinci-003",
"prompt": "Human: Hello\\nAI:",
"temperature": 0.7,
"max_tokens": 256,
"stop": [
"Human:",
"AI:"
]
}'
Chat Completion (ChatGPT):
https://api.pawan.krd/v1/chat/completions
OpenAI Docs
Example:curl --location 'https://api.pawan.krd/v1/chat/completions' \
--header 'Authorization: Bearer pk-***[OUR_API_KEY]***' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-3.5-turbo",
"max_tokens": 100,
"messages": [
{
"role": "system",
"content": "You are an helpful assistant."
},
{
"role": "user",
"content": "Who are you?"
}
]
}'
Image Generation (DALL-E):
https://api.pawan.krd/v1/images/generations
OpenAI Docs
Example:curl --location 'https://api.pawan.krd/v1/images/generations' \
--header 'Authorization: Bearer pk-***[OUR_API_KEY]***' \
--header 'Content-Type: application/json' \
--data '{
"prompt": "a photo of a happy corgi puppy sitting and facing forward, studio light, longshot.",
"n": 1,
"size": "1024x1024"
}'
Examples using OpenAI libraries
You can use the same code to access the API using the official OpenAI libraries, the only difference is that you need to change the API key and the API base URL.
Examples are for text completion, but you can use the same code for chat completion and image generation.
Python
You need to add the following lines before your code to use the API:
import openai
openai.api_key = 'pk-**********************************************'
openai.api_base = 'https://api.pawan.krd/v1'
Example code:
import openai
openai.api_key = 'pk-**********************************************'
openai.api_base = 'https://api.pawan.krd/v1'
response = openai.Completion.create(
model="text-davinci-003",
prompt="Human: Hello\nAI:",
temperature=0.7,
max_tokens=256,
top_p=1,
frequency_penalty=0,
presence_penalty=0,
stop=["Human: ", "AI: "]
)
print(response.choices[0].text)
Node.js
You need to add the following lines before your code to use the API:
import { Configuration, OpenAIApi } from "openai";
const configuration = new Configuration({
apiKey: "pk-**********************************************",
basePath: "https://api.pawan.krd/v1",
});
Example code:
import { Configuration, OpenAIApi } from "openai";
const configuration = new Configuration({
apiKey: "pk-**********************************************",
basePath: "https://api.pawan.krd/v1",
});
const openai = new OpenAIApi(configuration);
const response = await openai.createCompletion({
model: "text-davinci-003",
prompt: "Human: Hello\nAI:",
temperature: 0.7,
max_tokens: 256,
top_p: 1,
frequency_penalty: 0,
presence_penalty: 0,
stop: ["Human: ", "AI: "],
});
console.log(response.data.choices[0].text);
License
This project is licensed under the MIT License - see the LICENSE file for details.