Skip to main content

ChatGPT is a copy from ChatGPT2API

Project description

ChatGPT

English - 中文 - Spanish - 日本語 - 한국어

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.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

Not supported for Google/Microsoft accounts.

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

- Access token

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
  "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.com"] // 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 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

    ChatGPT - Official ChatGPT API
    Repo: github.com/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

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ChatGPT2API-6.8.7.tar.gz (34.6 kB view details)

Uploaded Source

Built Distribution

ChatGPT2API-6.8.7-py3-none-any.whl (34.0 kB view details)

Uploaded Python 3

File details

Details for the file ChatGPT2API-6.8.7.tar.gz.

File metadata

  • Download URL: ChatGPT2API-6.8.7.tar.gz
  • Upload date:
  • Size: 34.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for ChatGPT2API-6.8.7.tar.gz
Algorithm Hash digest
SHA256 f95cdf0edbe0e1f778c3f6c8536945b1d1b440f230afb670a3286e631ca34b60
MD5 6a144e54f49aed7707bed5f9d86bb8ed
BLAKE2b-256 78c88fb1d3c68f712e3d3dec1fbd2316f4ba8de42d68776f1d4e3fc373352dd6

See more details on using hashes here.

File details

Details for the file ChatGPT2API-6.8.7-py3-none-any.whl.

File metadata

  • Download URL: ChatGPT2API-6.8.7-py3-none-any.whl
  • Upload date:
  • Size: 34.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for ChatGPT2API-6.8.7-py3-none-any.whl
Algorithm Hash digest
SHA256 774bd440a4ef214d99c8a9a569c53ff2ce11b5cad6ac98a6493ba4999f1eb01f
MD5 4fcbda25129cd5d644df326219caad84
BLAKE2b-256 439e78a7edf5ba2488c9c744d78346cf275e8f98adb996e21af3e623a9d123a1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page