Skip to main content

ChatGPT

English - 中文 - Spanish - 日本語

PyPi Support_Platform Downloads

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

Status: Working but unmaintained.

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.com/acheong08/ChatGPT-Proxy-V4

To set your own deployed proxy, set the environment variable CHATGPT_BASE_URL to https://yourproxy.com/api/

Rate limits

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

Configuration

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

Authentication method: (Choose 1)

- Email/Password

Currently broken for free users. Do export PUID="..." if you have a plus account. The PUID is a cookie named _puid Not supported for Google/Microsoft accounts.

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

- Access token

Please this! https://chat.openai.com/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
}
  1. Save this as $HOME/.config/revChatGPT/config.json
  2. 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.

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

Usage

Command line

python3 -m revChatGPT.V1

        ChatGPT - A command-line interface to OpenAI's ChatGPT (https://chat.openai.com/chat)
        Repo: github.com/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, press Esc and then Enter as solely Enter itself is used for creating new line in multi-line mode.

Set the environment variable NO_COLOR to true to disable color output.

Developer API

Basic example (streamed):

from revChatGPT.V1 import Chatbot
chatbot = Chatbot(config={
  "access_token": "<your access_token>"
})
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()

Basic example (single result):

from revChatGPT.V1 import Chatbot
chatbot = Chatbot(config={
  "access_token": "<your access_token>"
})
prompt = "how many beaches does portugal have?"
response = ""
for data in chatbot.ask(
  prompt
):
    response = data["message"]
print(response)

All API methods

Refer to the wiki for advanced developer usage.

V3 Official Chat API

Recently released by OpenAI

  • Paid

Get API key from https://platform.openai.com/account/api-keys

Command line

python3 -m revChatGPT.V3 --api_key <api_key>

  $ python3 -m revChatGPT.V3 --help

    ChatGPT - Official ChatGPT API
    Repo: github.com/acheong08/ChatGPT

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-4,gpt-4-32k}]
             [--truncate_limit TRUNCATE_LIMIT]

options:
  -h, --help            show this help message and exit
  --api_key API_KEY     OpenAI API key
  --temperature TEMPERATURE
                        Temperature for response
  --no_stream           Disable streaming
  --base_prompt BASE_PROMPT
                        Base prompt for chatbot
  --proxy PROXY         Proxy address
  --top_p TOP_P         Top p for response
  --reply_count REPLY_COUNT
                        Number of replies for each prompt
  --enable_internet     Allow ChatGPT to search the internet
  --config CONFIG       Path to V3 config json file
  --submit_key SUBMIT_KEY
                        Custom submit key for chatbot. For more information on keys, see README
  --model {gpt-3.5-turbo,gpt-4,gpt-4-32k}
  --truncate_limit TRUNCATE_LIMIT

Developer API

Basic example

from revChatGPT.V3 import Chatbot
chatbot = Chatbot(api_key="<api_key>")
chatbot.ask("Hello world")

Streaming example

from revChatGPT.V3 import Chatbot
chatbot = Chatbot(api_key="<api_key>")
for data in chatbot.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

打包pypi 1.修改setup.py 版本号 2.python setup.py sdist bdist_wheel 3.twine upload dist/* 4.输入pypi name: token 5.去pypi网站设置tokenAPI 粘贴。

pypi-AgEIcHlwaS5vcmcCJDFlODUzZTNlLWM4NGYtNGVhZC1iNDQ4LTI1NDBkOTBjYzMyNgACGFsxLFsidGVzbGEtcmV2Y2hhdGdwdCJdXQACLFsyLFsiMjZkZWE5NmUtM2I2MS00OTY2LWJiZWYtNjE1YWVlZTIwOGM4Il1dAAAGIOU3RACf_s6mbu2YW_sw01Zr_YGCDyMhk4NjAQLnhUOB

Metadata

Release files for tesla-revChatGPT 5.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tesla-revChatGPT 5.5.0
File Size Uploaded
tesla_revChatGPT-5.5.0.tar.gz 246.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tesla-revChatGPT 5.5.0
File Interpreter ABI Platform
tesla_revChatGPT-5.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 271.6 kB

Release files / tesla_revChatGPT-5.5.0.tar.gz

Download URL tesla_revChatGPT-5.5.0.tar.gz
Size 246.4 kB
Tags Source
SHA-256 checksum
How to use checksums
4ec9b74e9f22b859f3df1e2e2adfd19d0e92ef2e1cc7b762fb3dc00b1c101c1f
BLAKE2b-256 checksum
How to use checksums
e1b89e77f7b8ce15e0876600899d300a234145414a52a3d8cf4bfd2dc8f62fe7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.7

Release files / tesla_revChatGPT-5.5.0-py3-none-any.whl

Download URL tesla_revChatGPT-5.5.0-py3-none-any.whl
Size 25.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bd4cd51e1ccd218997329459b364fa3bd0632239bcedb3e668f83a59b2eee1b4
BLAKE2b-256 checksum
How to use checksums
5261c349b6ac368e3535928f292ec78622b5eaa0b794a1171d73e72fbca7eb50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.7

Release history Release notifications | RSS feed

This release

5.5.0 This release

2 release files

5.4.0

2 release files

5.3.0

2 release files

5.2.0

2 release files

5.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page