Reverse Engineered ChatGPT API by OpenAI. Extensible for chatbots etc.
- There is a 60 requests per minute rate limit on the public proxy server which is costing me $5 per day to run
- I am using a total of 5 servers and a load balancer to handle around 500GB of traffic per day
- I will begin selling access to private servers without the rate limits in the coming days
- All proceeds from this will be used to fund the public server.
- After the first few purchases which will cover the cost of the existing servers, I will begin adding more servers to the public load balancer with the proceeds and start to lower the public rate limits
- Leave a comment under this Twitter thread if you have any thoughts on this: https://twitter.com/GodlyIgnorance/status/1629839371682865152
- I have 18 days before I run out of credit to run the public servers
pip3 install revChatGPT
- Create account on OpenAI's ChatGPT
- Save your email and password
Not supported for Google/Microsoft accounts
{
"email": "email",
"password": "your password"
}
Comes from cookies on chat.openai.com as "__Secure-next-auth.session-token"
{
"session_token": "..."
}
https://chat.openai.com/api/auth/session
{
"access_token": "<access_token>"
}
{
"conversation_id": "UUID...",
"parent_id": "UUID...",
"proxy": "...",
"paid": false
}
- Save this as
$HOME/.config/revChatGPT/config.json
- If you are using Windows, you will need to create an environment variable named
HOME
and set it to your home profile for the script to be able to locate the config.json file.
python3 -m revChatGPT.V1
!help - Show this message
!reset - Forget the current conversation
!config - Show the current configuration
!rollback x - Rollback the conversation (x being the number of messages to rollback)
!exit - Exit this program
from revChatGPT.V1 import Chatbot
chatbot = Chatbot(config={
"email": "<your email>",
"password": "<your password>"
})
print("Chatbot: ")
prev_text = ""
for data in chatbot.ask(
"Hello world",
):
message = data["message"][len(prev_text) :]
print(message, end="", flush=True)
prev_text = data["message"]
print()
from revChatGPT.V1 import Chatbot
chatbot = Chatbot(config={
"email": "<your email>",
"password": "<your password>"
})
prompt = "how many beaches does portugal have?"
response = ""
for data in chatbot.ask(
prompt
):
response = data["message"]
print(response)
Refer to the wiki for advanced developer usage.
If you have a cool project you want added to the list, open an issue.
This is not an official OpenAI product. This is a personal project and is not affiliated with OpenAI in any way. Don't sue me
- virtualharby - Memes for emotional support
- All contributors - Pull requests