ChatGPT README

The project's README from github.com/acheong08/ChatGPT. As one markdown file: README.md.

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

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

ChatGPT (acheong08/ChatGPT)

Searching Database…

27.9K ·GitHub
archived
这是什么?一个用 Python 写的非官方、逆向工程的 ChatGPT API——你可以在自己的代码或终端里直接和 ChatGPT 对话,不用打开网站,而且它支持扩展,可以用来做聊天机器人。
这是一个我要导入的库,还是一个可以运行的工具?两者都是:它是一个可以用 pip 安装的 Python 库,提供了开发者 API,同时还自带一个命令行聊天界面(python3 -m revChatGPT.V1)。
我该怎么安装和运行它?先从 PyPI 安装 revChatGPT 包,然后用 python3 -m revChatGPT.V1 启动命令行界面。Python 最低要求 3.9 版本,推荐 3.11 或更高版本。
登录需要准备什么——只要一个 OpenAI 账号就行吗?需要一个 OpenAI ChatGPT 账号。可以用邮箱加密码登录——不支持 Google 和 Microsoft 账号——或者使用访问令牌(access token)。
如果用得比较频繁,会碰到限流吗?会:公共代理每 10 秒只允许 5 次请求,OpenAI 对每个账号每小时只允许 50 次请求。你可以自己部署一个代理,然后把 CHATGPTBASEURL 环境变量指向它。
我能保存登录信息,不用每次都重新输入吗?可以——你可以选择把凭据保存到 $HOME/.config/revChatGPT/config.json。在 Windows 上,你必须先创建一个指向你用户目录的 HOME 环境变量,否则脚本找不到这个文件。
这个项目还在维护吗?没有了——GitHub 仓库已经归档,代码只读,不会再有更新。而且 V1 方式依赖的是一个共享的 Cloudflare 绕过代理,并不是官方支持的接口。
这是 OpenAI 的官方产品吗?不是——README 的免责声明说这是一个个人项目,与 OpenAI 没有任何关联,最后还写了一句“别起诉我”(Don't sue me)。
开发者 API 支持流式响应吗?支持——README 里同时给出了流式和单次结果的示例,完整的 API 方法列表和高级用法可以查看项目 wiki。
Creator
acheong08
Size
1.9 MB
Stars
27.9K
Age
3y
Commits · 90 Days