Skip to content

Reverse engineered API of Microsoft's GPT with internet access

Notifications You must be signed in to change notification settings

tribe-health/EdgeGPT

 
 

Repository files navigation

Edge GPT

ChatGPT with internet access

Requirements

Setup

Checking access

  • Install the latest version of Microsoft Edge
  • Open http://bing.com/chat
  • If you see a chat feature, you are good to go

Getting authentication

  • Open the developer tools (F12)
  • Go to the Application tab → Storage → Cookies
  • Find the cookie named "_U"
  • Copy the value of the cookie
  • Method 1
    • export BING_U="<COOKIE_VALUE>"
  • Method 2
    • Use it as command line argument later

Installation

  • python3 -m pip install EdgeGPT

Demo usage

  • If BING_U in environment variables: python3 -m EdgeGPT
  • Else: python3 -m EdgeGPT "<COOKIE_VALUE>"

Developer

Use Async for the best experience

import asyncio
from EdgeGPT import Chatbot

async def main():
    """
    Main function
    """
    print("Initializing...")
    bot = Chatbot()
    await bot.start()
    while True:
        prompt = input("\nYou:\n")
        if prompt == "!exit":
            break
        elif prompt == "!help":
            print("""
            !help - Show this help message
            !exit - Exit the program
            !reset - Reset the conversation
            """)
            continue
        elif prompt == "!reset":
            await bot.reset()
            continue
        print("Bot:")
        print((await bot.ask(prompt=prompt))["item"]["messages"][1]["text"])
    await bot.close()


if __name__ == "__main__":
    print(
        """
        EdgeGPT - A demo of reverse engineering the Edge GPT chatbot
        Repo: github.com/acheong08/EdgeGPT
        By: Antonio Cheong

        !help for help

        Type !exit to exit
        Enter twice to send message
    """
    )
    asyncio.run(main())

Work in progress

  • Response streaming (Easily achievable)
  • Error handling

About

Reverse engineered API of Microsoft's GPT with internet access

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.7%
  • Shell 0.3%