Skip to main content

Reverse engineered Edge Chat API

Project description

EdgeGPT

Edge GPT

The reverse engineering the chat feature of the new version of Bing

PyPI version Python version

UPDATE 2023/02/13 - Public access shut down by Microsoft

UPDATE 2023/02/14 - Do not use for now while I verify its safety

UPDATE 2023/02/15 - I have added spoofing and safety features. You should not get suspended unless you abuse the service.

Table of Contents

Setup

Install package

python3 -m pip install EdgeGPT --upgrade

Requirements

We have a shared token for public use. If you have your own account with access, you can use that instead.

  • python 3.8+
  • Microsoft Edge (Required)
  • A Microsoft Account with early access to http://bing.com/chat (Required)

Checking access (Required)

  • 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 (Required)

  • Install the cookie editor extension for Chrome or Firefox
  • Go to bing.com
  • Open the extension
  • Click "Export" on the bottom right (This saves your cookies to clipboard)
  • Paste your cookies into a file cookies.json

Usage

Quick start

 $ python3 -m EdgeGPT -h

        EdgeGPT - A demo of reverse engineering the Bing GPT chatbot
        Repo: github.com/acheong08/EdgeGPT
        By: Antonio Cheong

        !help for help

        Type !exit to exit
        Enter twice to send message

usage: EdgeGPT.py [-h] [--no-stream] --cookie-file COOKIE_FILE

options:
  -h, --help            show this help message and exit
  --no-stream
  --cookie-file COOKIE_FILE

Developer demo

Remember to set cookie file path: export COOKIE_FILE=/path/to/cookies.json. You can also specify the path to cookies.json in the argument cookiePath like this:

bot = Chatbot(cookiePath='./cookie.json')

Use Async for the best experience

Reference code for more advanced example of usage

import asyncio
from EdgeGPT import Chatbot

async def main():
    bot = Chatbot()
    print(await bot.ask(prompt="Hello world"))
    await bot.close()


if __name__ == "__main__":
    asyncio.run(main())

Work in progress

  • Error handling

Star History

Star History Chart

Contributors

This project exists thanks to all the people who contribute.

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

EdgeGPT-0.0.48.tar.gz (6.8 kB view hashes)

Uploaded Source

Built Distribution

EdgeGPT-0.0.48-py3-none-any.whl (7.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