Skip to main content

ChatGPT is a reverse engineering of OpenAI's ChatGPT API

Project description

ChatGPT

PyPi Downloads

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

Connect with me on Linkedin to support this project. (Not open for commercial opportunities yet. Too busy)

You can also follow me on Twitter to stay up to date.

OpenAI releasing official API soon

Official API released! I will add it to this repository soon -- Browserless!

Official API (Browserless, token required, paid)

Installation

pip3 install revChatGPT

Setup

  1. Create account on OpenAI
  2. Go to https://platform.openai.com/account/api-keys
  3. Copy API key

Usage

Command line

OfficialChatGPT --api_key API_KEY (Assumes Python PyPi in PATH)

Developer

revChatGPT.Official

A simple wrapper for the official ChatGPT API

Chatbot Objects

class Chatbot()

Official ChatGPT API

__init__

def __init__(api_key: str) -> None

Initialize Chatbot with API key (from https://platform.openai.com/account/api-keys)

ask

def ask(user_request: str) -> dict

Send a request to ChatGPT and return the response

{
    "id": "...",
    "object": "text_completion",
    "created": <time>,
    "model": "text-chat-davinci-002-20230126",
    "choices": [
        {
        "text": "<Response here>",
        "index": 0,
        "logprobs": null,
        "finish_details": { "type": "stop", "stop": "<|endoftext|>" }
        }
    ],
    "usage": { "prompt_tokens": x, "completion_tokens": y, "total_tokens": z }
}

rollback

def rollback(num: int) -> None

Rollback chat history num times

reset

def reset() -> None

Reset chat history

Unofficial API (Browser required, free)

Installation

pip3 install revChatGPT[unofficial]

Configuration

Refer to the setup guide for more information.

Usage

Command line

python3 -m revChatGPT

!help - Show this message
!reset - Forget the current conversation
!refresh - Refresh the session authentication
!config - Show the current configuration
!rollback x - Rollback the conversation (x being the number of messages to rollback)
!exit - Exit this program

API

python3 -m GPTserver

HTTP POST request:

{
  "session_token": "eyJhbGciOiJkaXIiL...",
  "prompt": "Your prompt here"
}

Optional:

{
  "session_token": "eyJhbGciOiJkaXIiL...",
  "prompt": "Your prompt here",
  "conversation_id": "UUID...",
  "parent_id": "UUID..."
}
  • Rate limiting is enabled by default to prevent simultaneous requests

Developer

from revChatGPT.ChatGPT import Chatbot

chatbot = Chatbot({
  "session_token": "<YOUR_TOKEN>"
}, conversation_id=None, parent_id=None) # You can start a custom conversation

response = chatbot.ask("Prompt", conversation_id=None, parent_id=None) # You can specify custom conversation and parent ids. Otherwise it uses the saved conversation (yes. conversations are automatically saved)

print(response)
# {
#   "message": message,
#   "conversation_id": self.conversation_id,
#   "parent_id": self.parent_id,
# }

Detailed Documentation (Auto-generated)

In wiki

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

Credits

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

revChatGPT-1.0.0.tar.gz (20.1 kB view hashes)

Uploaded Source

Built Distribution

revChatGPT-1.0.0-py3-none-any.whl (20.1 kB view hashes)

Uploaded Python 3

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