Giter Club home page Giter Club logo

chatgpt's Introduction

ChatGPT

Reverse Engineered ChatGPT by OpenAI. Extensible for chatbots etc.

Disclaimer

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

This is a library and not intended for direct CLI use

The CLI functionality is for demo and testing only.

@rawandahmad698 has a much better CLI tool at

PyChatGPT

Urgent help needed

  • Writing tests
  • More verbose error handling
  • Decrecate bs4 in favor of pure requests

Wiki is now open to all contributors

Features

image

  • No moderation
  • Programmable

Setup

Install

pip3 install revChatGPT --upgrade

Email and password authentication

{
    "email": "<YOUR_EMAIL>",
    "password": "<YOUR_PASSWORD>"
}

Save this in config.json in current working directory

Legacy authentication or if using Google Auth Go to https://chat.openai.com/chat and log in or sign up
  1. Open console with F12
  2. Open Application tab > Cookies image
  3. Copy the value for __Secure-next-auth.session-token and paste it into config.json.example under session_token. You do not need to fill out Authorization image
  4. Save the modified file to config.json (In the current working directory)

Running

 $ python3 -m revChatGPT            

    ChatGPT - A command-line interface to OpenAI's ChatGPT (https://chat.openai.com/chat)
    Repo: github.com/acheong08/ChatGPT
    Arguments: Use --stream to enable data streaming. (Doesn't work on MacOS)
    
Type '!help' to show commands
Press enter twice to submit your question.

You: !help


                !help - Show this message
                !reset - Forget the current conversation
                !refresh - Refresh the session authentication
                !exit - Exit the program

Refresh every so often in case the token expires.

Development:

pip3 install revChatGPT --upgrade

from revChatGPT.revChatGPT import Chatbot
import json

# Get your config in JSON
config = {
    "email": "<YOUR_EMAIL>",
    "password": "<YOUR_PASSWORD>"
}

chatbot = Chatbot(config, conversation_id=None)
chatbot.reset_chat() # Forgets conversation
chatbot.refresh_session() # Uses the session_token to get a new bearer token
resp = chatbot.get_chat_response(prompt, output="text") # Sends a request to the API and returns the response by OpenAI
resp['message'] # The message sent by the response
resp['conversation_id'] # The current conversation id
resp['parent_id'] # The ID of the response

 # This returns a stream of text (live update)
resp = chatbot.get_chat_response(prompt, output="stream") 
for line in resp: # You have to loop through the response stream
        print(line['message']) # Same format as text return type
        ...

This can be imported to projects for bots and much more. You can have multiple independent conversations by keeping track of the conversation_id.

Awesome ChatGPT

My list

If you have a cool project you want added to the list, open an issue.

Star History

Star History Chart

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.