Skip to content

Reverse engineered API of Microsoft's Bing Chat

Notifications You must be signed in to change notification settings

SJTUHCL10/BingChat

Repository files navigation

EdgeGPT

Edge GPT

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

PyPI version Python version

UPDATE 2023/02/11 - Public access has been revoked by Microsoft. It still works if you have access to the waitlist. Please check out https://github.com/acheong08/SydneyAuth if you do have access and contact me. You can securely share access with the community if you don't mind.

Table of Contents

Steup

Install package

python3 -m pip install EdgeGPT

Requirements

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

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] [--bing-cookie BING_COOKIE]

options:
  -h, --help            show this help message and exit
  --no-stream
  --bing-cookie BING_COOKIE (Required)

Developer demo

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

Contributors

This project exists thanks to all the people who contribute.

  • pig#8932 (Discord) - Sharing account with beta access
  • Jimmy-Z - Bugfixes

About

Reverse engineered API of Microsoft's Bing Chat

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.7%
  • Shell 0.3%