Skip to content
This repository has been archived by the owner on Aug 10, 2023. It is now read-only.

acheong08/ChatGPT

ChatGPT

English -Tiếng Trung-Spanish-Nhật Bản ngữ-한국어

PyPi Support_Platform Downloads

Reverse Engineered ChatGPT API by OpenAI. Extensible for chatbots etc.

Installation

Python -m pip install --upgrade revChatGPT

Suport Python Version

  • Minimum - Python3.9
  • Recommend - Python3.11+

V1 Standard ChatGPT

V1 uses a cloudflare bypass proxy to make life convenient for everyone. The proxy is open source:https://github /acheong08/ChatGPT-Proxy-V4

To set your own deployed proxy, set the environment variableCHATGPT_BASE_URLtohttps://yourproxy /api/

Rate limits

  • Proxy server: 5 requests / 10 seconds
  • OpenAI: 50 requests / hour for each account

Configuration

  1. Create account onOpenAI's ChatGPT
  2. Save your email and password

Authentication method: (Choose 1)

- Email/Password

Not supported for Google/Microsoft accounts.

{
"email":"email",
"password":"your password"
}

- Access token

https://chat.openai /api/auth/session

{
"access_token":"<access_token>"
}

- Optional configuration:

{
"conversation_id":"UUID...",
"parent_id":"UUID...",
"proxy":"...",
"model":"gpt-4",// gpt-4-browsing, text-davinci-002-render-sha, gpt-4, gpt-4-plugins
"plugin_ids":["plugin-d1d6eb04-3375-40aa-940a-c2fc57ce0f51"],// Wolfram Alpha example
"disable_history":true,
"PUID":"<_puid cookie for plus accounts>",// Only if you have a plus account and use GPT-4
"unverified_plugin_domains":["showme.redstarplugin"]// Unverfied plugins to install
}
  1. Save this as$HOME/.config/revChatGPT/config.json
  2. If you are using Windows, you will need to create an environment variable namedHOMEand set it to your home profile for the script to be able to locate the config.json file.

Plugin IDs can be foundhere.Remember to set model togpt-4-pluginsif plugins are enabled. Plugins may or may not work if you haven't installed them from the web interface. You can callchatbot.install_plugin(plugin_id=plugin_id)to install any one of them from code. Callchatbot.get_plugins()to get a list of all plugins available.

Usage

Command line

Python 3 -m revChatGPT.V1

ChatGPT - A command-line interface to OpenAI's ChatGPT (https://chat.openai /chat)
Repo: github /acheong08/ChatGPT
Type '!help' to show a full list of commands
Logging in...
You:
(Press Esc followed by Enter to finish)

The command line interface supports multi-line inputs and allows navigation using arrow keys. Besides, you can also edit history inputs by arrow keys when the prompt is empty. It also completes your input if it finds matched previous prompts. To finish input, pressEscand thenEnteras solelyEnteritself is used for creating new line in multi-line mode.

Set the environment variableNO_COLORtotrueto disable color output.

Developer API

Basic example (streamed):

fromrevChatGPT.V1importChatbot
chatbot=Chatbot(config={
"access_token":"<your access_token>"
})
print("Chatbot:")
prev_text=""
fordatainchatbot.ask(
"Hello world",
):
message=data["message"][len(prev_text):]
print(message,end="",flush=True)
prev_text=data["message"]
print()

Basic example (single result):

fromrevChatGPT.V1importChatbot
chatbot=Chatbot(config={
"access_token":"<your access_token>"
})
prompt="how many beaches does portugal have?"
response=""
fordatainchatbot.ask(
prompt
):
response=data["message"]
print(response)

All API methods

Refer to thewikifor advanced developer usage.

V3 Official Chat API

Recently released by OpenAI

  • Paid

Get API key fromhttps://platform.openai /account/api-keys

Command line

Python 3 -m revChatGPT.V3 --api_key <api_key>

$ Python 3 -m revChatGPT.V3

ChatGPT - Official ChatGPT API
Repo: github /acheong08/ChatGPT
Version: 6.2

Type '!help' to show a full list of commands
Press Esc followed by Enter or Alt+Enter to send a message.

usage: V3.py [-h] --api_key API_KEY [--temperature TEMPERATURE] [--no_stream]
[--base_prompt BASE_PROMPT] [--proxy PROXY] [--top_p TOP_P]
[--reply_count REPLY_COUNT] [--enable_internet] [--config CONFIG]
[--submit_key SUBMIT_KEY]
[--model {gpt-3.5-turbo,gpt-3.5-turbo-16k,gpt-3.5-turbo-0301,gpt-3.5-turbo-0613,gpt-4,gpt-4-0314,gpt-4-32k,gpt-4-32k-0314,gpt-4-0613}]
[--truncate_limit TRUNCATE_LIMIT]

Developer API

Basic example

fromrevChatGPT.V3importChatbot
chatbot=Chatbot(api_key="<api_key>")
chatbot.ask("Hello world")

Streaming example

fromrevChatGPT.V3importChatbot
chatbot=Chatbot(api_key="<api_key>")
fordatainchatbot.ask_stream("Hello world"):
print(data,end="",flush=True)

Awesome ChatGPT

My list

If you have a cool project you want added to the list, open an issue.

Disclaimers

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.

Contributors

This project exists thanks to all the people who contribute.

Additional credits