tesla-revChatGPT


Nametesla-revChatGPT JSON
Version 5.5.0 PyPI version JSON
download
home_pagehttps://github.com/acheong08/ChatGPT
SummaryChatGPT is a reverse engineering of OpenAI's ChatGPT API
upload_time2023-12-01 01:33:02
maintainer
docs_urlNone
authorAntonio Cheong
requires_python
licenseGNU General Public License v2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ChatGPT <img src="https://github.com/acheong08/ChatGPT/blob/main/logo.png?raw=true" width="15%"></img>

English - [中文](./README_zh.md) - [Spanish](./README_sp.md) -  [日本語](./README_ja.md)

[![PyPi](https://img.shields.io/pypi/v/revChatGPT.svg)](https://pypi.python.org/pypi/revChatGPT)
[![Support_Platform](https://img.shields.io/pypi/pyversions/revChatGPT)](https://pypi.python.org/pypi/revChatGPT)
[![Downloads](https://static.pepy.tech/badge/revchatgpt)](https://pypi.python.org/pypi/revChatGPT)

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

Status: Working but unmaintained.

[![](https://github.com/acheong08/ChatGPT/blob/main/docs/view.gif?raw=true)](https://pypi.python.org/pypi/revChatGPT)

# Installation

```
python -m pip install --upgrade revChatGPT
```

### Suport Python Version

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

<details>

  <summary>

# 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/`

</summary>

## Rate limits
- Proxy server: 5 requests / 10 seconds
- OpenAI: 50 requests / hour for each account

## Configuration

1. Create account on [OpenAI's ChatGPT](https://chat.openai.com/)
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.
```json
{
  "email": "email",
  "password": "your password"
}
```

#### - Access token

> Please this!
https://chat.openai.com/api/auth/session

```json
{
  "access_token": "<access_token>"
}
```

#### - Optional configuration:

```json
{
  "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](./plugins.json). 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):

```python
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):

```python
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](https://github.com/acheong08/ChatGPT/wiki/) for advanced developer usage.

</details>

<details>

<summary>

# V3 Official Chat API

> Recently released by OpenAI
>
> - Paid

</summary>

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

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

### Streaming example

```python
from revChatGPT.V3 import Chatbot
chatbot = Chatbot(api_key="<api_key>")
for data in chatbot.ask_stream("Hello world"):
    print(data, end="", flush=True)
```

</details>

# Awesome ChatGPT

[My list](https://github.com/stars/acheong08/lists/awesome-chatgpt)

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.

<a href="https://github.com/acheong08/ChatGPT/graphs/contributors">
<img src="https://contrib.rocks/image?repo=acheong08/ChatGPT" />
</a>

## Additional credits

- Coding while listening to [this amazing song](https://www.youtube.com/watch?v=VaMR_xDhsGg) by [virtualharby](https://www.youtube.com/@virtualharby)



打包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



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/acheong08/ChatGPT",
    "name": "tesla-revChatGPT",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Antonio Cheong",
    "author_email": "acheong@student.dalat.org",
    "download_url": "https://files.pythonhosted.org/packages/e1/b8/9e77f7b8ce15e0876600899d300a234145414a52a3d8cf4bfd2dc8f62fe7/tesla_revChatGPT-5.5.0.tar.gz",
    "platform": null,
    "description": "# ChatGPT <img src=\"https://github.com/acheong08/ChatGPT/blob/main/logo.png?raw=true\" width=\"15%\"></img>\n\nEnglish - [\u4e2d\u6587](./README_zh.md) - [Spanish](./README_sp.md) -  [\u65e5\u672c\u8a9e](./README_ja.md)\n\n[![PyPi](https://img.shields.io/pypi/v/revChatGPT.svg)](https://pypi.python.org/pypi/revChatGPT)\n[![Support_Platform](https://img.shields.io/pypi/pyversions/revChatGPT)](https://pypi.python.org/pypi/revChatGPT)\n[![Downloads](https://static.pepy.tech/badge/revchatgpt)](https://pypi.python.org/pypi/revChatGPT)\n\nReverse Engineered ChatGPT API by OpenAI. Extensible for chatbots etc.\n\nStatus: Working but unmaintained.\n\n[![](https://github.com/acheong08/ChatGPT/blob/main/docs/view.gif?raw=true)](https://pypi.python.org/pypi/revChatGPT)\n\n# Installation\n\n```\npython -m pip install --upgrade revChatGPT\n```\n\n### Suport Python Version\n\n- Minimum - Python3.9\n- Recommend - Python3.11+\n\n<details>\n\n  <summary>\n\n# V1 Standard ChatGPT\n\nV1 uses a cloudflare bypass proxy to make life convenient for everyone. The proxy is open source: https://github.com/acheong08/ChatGPT-Proxy-V4\n\nTo set your own deployed proxy, set the environment variable `CHATGPT_BASE_URL` to `https://yourproxy.com/api/`\n\n</summary>\n\n## Rate limits\n- Proxy server: 5 requests / 10 seconds\n- OpenAI: 50 requests / hour for each account\n\n## Configuration\n\n1. Create account on [OpenAI's ChatGPT](https://chat.openai.com/)\n2. Save your email and password\n\n### Authentication method: (Choose 1)\n\n#### - Email/Password\n\n> _Currently broken for free users. Do `export PUID=\"...\"` if you have a plus account. The PUID is a cookie named `_puid`_\n> Not supported for Google/Microsoft accounts.\n```json\n{\n  \"email\": \"email\",\n  \"password\": \"your password\"\n}\n```\n\n#### - Access token\n\n> Please this!\nhttps://chat.openai.com/api/auth/session\n\n```json\n{\n  \"access_token\": \"<access_token>\"\n}\n```\n\n#### - Optional configuration:\n\n```json\n{\n  \"conversation_id\": \"UUID...\",\n  \"parent_id\": \"UUID...\",\n  \"proxy\": \"...\",\n  \"model\": \"gpt-4\", // gpt-4-browsing, text-davinci-002-render-sha, gpt-4, gpt-4-plugins\n  \"plugin_ids\" : [\"plugin-d1d6eb04-3375-40aa-940a-c2fc57ce0f51\"] // Wolfram Alpha example\n}\n```\n\n1. Save this as `$HOME/.config/revChatGPT/config.json`\n2. 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.\n\nPlugin IDs can be found [here](./plugins.json). 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.\n\n## Usage\n\n### Command line\n\n`python3 -m revChatGPT.V1`\n\n```\n        ChatGPT - A command-line interface to OpenAI's ChatGPT (https://chat.openai.com/chat)\n        Repo: github.com/acheong08/ChatGPT\nType '!help' to show a full list of commands\nLogging in...\nYou:\n(Press Esc followed by Enter to finish)\n```\n\nThe 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.\n\nSet the environment variable `NO_COLOR` to `true` to disable color output.\n\n### Developer API\n\n#### Basic example (streamed):\n\n```python\nfrom revChatGPT.V1 import Chatbot\nchatbot = Chatbot(config={\n  \"access_token\": \"<your access_token>\"\n})\nprint(\"Chatbot: \")\nprev_text = \"\"\nfor data in chatbot.ask(\n    \"Hello world\",\n):\n    message = data[\"message\"][len(prev_text) :]\n    print(message, end=\"\", flush=True)\n    prev_text = data[\"message\"]\nprint()\n```\n\n#### Basic example (single result):\n\n```python\nfrom revChatGPT.V1 import Chatbot\nchatbot = Chatbot(config={\n  \"access_token\": \"<your access_token>\"\n})\nprompt = \"how many beaches does portugal have?\"\nresponse = \"\"\nfor data in chatbot.ask(\n  prompt\n):\n    response = data[\"message\"]\nprint(response)\n```\n\n#### All API methods\n\nRefer to the [wiki](https://github.com/acheong08/ChatGPT/wiki/) for advanced developer usage.\n\n</details>\n\n<details>\n\n<summary>\n\n# V3 Official Chat API\n\n> Recently released by OpenAI\n>\n> - Paid\n\n</summary>\n\nGet API key from https://platform.openai.com/account/api-keys\n\n## Command line\n\n`python3 -m revChatGPT.V3 --api_key <api_key>`\n\n```\n  $ python3 -m revChatGPT.V3 --help\n\n    ChatGPT - Official ChatGPT API\n    Repo: github.com/acheong08/ChatGPT\n\nType '!help' to show a full list of commands\nPress Esc followed by Enter or Alt+Enter to send a message.\n\nusage: V3.py [-h] --api_key API_KEY [--temperature TEMPERATURE] [--no_stream] [--base_prompt BASE_PROMPT]\n             [--proxy PROXY] [--top_p TOP_P] [--reply_count REPLY_COUNT] [--enable_internet]\n             [--config CONFIG] [--submit_key SUBMIT_KEY] [--model {gpt-3.5-turbo,gpt-4,gpt-4-32k}]\n             [--truncate_limit TRUNCATE_LIMIT]\n\noptions:\n  -h, --help            show this help message and exit\n  --api_key API_KEY     OpenAI API key\n  --temperature TEMPERATURE\n                        Temperature for response\n  --no_stream           Disable streaming\n  --base_prompt BASE_PROMPT\n                        Base prompt for chatbot\n  --proxy PROXY         Proxy address\n  --top_p TOP_P         Top p for response\n  --reply_count REPLY_COUNT\n                        Number of replies for each prompt\n  --enable_internet     Allow ChatGPT to search the internet\n  --config CONFIG       Path to V3 config json file\n  --submit_key SUBMIT_KEY\n                        Custom submit key for chatbot. For more information on keys, see README\n  --model {gpt-3.5-turbo,gpt-4,gpt-4-32k}\n  --truncate_limit TRUNCATE_LIMIT\n```\n\n## Developer API\n\n### Basic example\n\n```python\nfrom revChatGPT.V3 import Chatbot\nchatbot = Chatbot(api_key=\"<api_key>\")\nchatbot.ask(\"Hello world\")\n```\n\n### Streaming example\n\n```python\nfrom revChatGPT.V3 import Chatbot\nchatbot = Chatbot(api_key=\"<api_key>\")\nfor data in chatbot.ask_stream(\"Hello world\"):\n    print(data, end=\"\", flush=True)\n```\n\n</details>\n\n# Awesome ChatGPT\n\n[My list](https://github.com/stars/acheong08/lists/awesome-chatgpt)\n\nIf you have a cool project you want added to the list, open an issue.\n\n# Disclaimers\n\nThis is not an official OpenAI product. This is a personal project and is not affiliated with OpenAI in any way. Don't sue me.\n\n## Contributors\n\nThis project exists thanks to all the people who contribute.\n\n<a href=\"https://github.com/acheong08/ChatGPT/graphs/contributors\">\n<img src=\"https://contrib.rocks/image?repo=acheong08/ChatGPT\" />\n</a>\n\n## Additional credits\n\n- Coding while listening to [this amazing song](https://www.youtube.com/watch?v=VaMR_xDhsGg) by [virtualharby](https://www.youtube.com/@virtualharby)\n\n\n\n\u6253\u5305pypi\n1.\u4fee\u6539setup.py \u7248\u672c\u53f7\n2.python setup.py sdist bdist_wheel\n3.twine upload dist/*\n4.\u8f93\u5165pypi name: __token__\n5.\u53bbpypi\u7f51\u7ad9\u8bbe\u7f6etokenAPI \u7c98\u8d34\u3002\n\npypi-AgEIcHlwaS5vcmcCJDFlODUzZTNlLWM4NGYtNGVhZC1iNDQ4LTI1NDBkOTBjYzMyNgACGFsxLFsidGVzbGEtcmV2Y2hhdGdwdCJdXQACLFsyLFsiMjZkZWE5NmUtM2I2MS00OTY2LWJiZWYtNjE1YWVlZTIwOGM4Il1dAAAGIOU3RACf_s6mbu2YW_sw01Zr_YGCDyMhk4NjAQLnhUOB\n\n\n",
    "bugtrack_url": null,
    "license": "GNU General Public License v2.0",
    "summary": "ChatGPT is a reverse engineering of OpenAI's ChatGPT API",
    "version": "5.5.0",
    "project_urls": {
        "Bug Report": "https://github.com/acheong08/ChatGPT/issues/new?assignees=&labels=bug-report&template=bug_report.yml&title=%5BBug%5D%3A+",
        "Feature request": "https://github.com/acheong08/ChatGPT/issues/new?assignees=&labels=enhancement&template=feature_request.yml&title=%5BFeature+Request%5D%3A+",
        "Homepage": "https://github.com/acheong08/ChatGPT"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5261c349b6ac368e3535928f292ec78622b5eaa0b794a1171d73e72fbca7eb50",
                "md5": "98cfae4dbd53224fe84168b5a2575b07",
                "sha256": "bd4cd51e1ccd218997329459b364fa3bd0632239bcedb3e668f83a59b2eee1b4"
            },
            "downloads": -1,
            "filename": "tesla_revChatGPT-5.5.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "98cfae4dbd53224fe84168b5a2575b07",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 25225,
            "upload_time": "2023-12-01T01:32:58",
            "upload_time_iso_8601": "2023-12-01T01:32:58.965978Z",
            "url": "https://files.pythonhosted.org/packages/52/61/c349b6ac368e3535928f292ec78622b5eaa0b794a1171d73e72fbca7eb50/tesla_revChatGPT-5.5.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e1b89e77f7b8ce15e0876600899d300a234145414a52a3d8cf4bfd2dc8f62fe7",
                "md5": "3780f4a7dfab4dc78821042f23de482d",
                "sha256": "4ec9b74e9f22b859f3df1e2e2adfd19d0e92ef2e1cc7b762fb3dc00b1c101c1f"
            },
            "downloads": -1,
            "filename": "tesla_revChatGPT-5.5.0.tar.gz",
            "has_sig": false,
            "md5_digest": "3780f4a7dfab4dc78821042f23de482d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 246412,
            "upload_time": "2023-12-01T01:33:02",
            "upload_time_iso_8601": "2023-12-01T01:33:02.131787Z",
            "url": "https://files.pythonhosted.org/packages/e1/b8/9e77f7b8ce15e0876600899d300a234145414a52a3d8cf4bfd2dc8f62fe7/tesla_revChatGPT-5.5.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-01 01:33:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "acheong08",
    "github_project": "ChatGPT",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "tesla-revchatgpt"
}
        
Elapsed time: 0.27820s