File size: 2,707 Bytes
cbd58d0 e097d14 e3f67ce e097d14 e3f67ce e097d14 e3f67ce e097d14 e3f67ce e097d14 3de061f e097d14 295085f bcd6bf2 e097d14 3de061f e097d14 73912cd e097d14 73912cd e097d14 73912cd e097d14 73912cd e097d14 73912cd e097d14 63ae3ec 98e04a7 900675e 7a42723 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
# Edge GPT
ChatGPT with internet access
<details>
<summary>
## Setup (optional)
Completely optional, but recommended if you have beta access to Bing Chat
</summary>
### Requirements (Optional)
- A Microsoft Account with early access to http://bing.com/chat
- Microsoft Edge
### Checking access (Optional)
- 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 (Optional)
- Open the developer tools (F12)
- Go to the Application tab → Storage → Cookies
- Find the cookie named "_U"
- Copy the value of the cookie
</details>
## Installation
- `python3 -m pip install EdgeGPT`
## Demo usage
```
$ 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] [--stream] [--bing-cookie BING_COOKIE]
options:
-h, --help show this help message and exit
--stream
--bing-cookie BING_COOKIE (Optional)
```
## Developer
Use Async for the best experience
```python
import asyncio
from EdgeGPT import Chatbot
def get_input(prompt):
"""
Multi-line input function
"""
# Display the prompt
print(prompt, end="")
# Initialize an empty list to store the input lines
lines = []
# Read lines of input until the user enters an empty line
while True:
line = input()
if line == "":
break
lines.append(line)
# Join the lines, separated by newlines, and store the result
user_input = "\n".join(lines)
# Return the input
return user_input
async def main():
"""
Main function
"""
print("Initializing...")
bot = Chatbot()
while True:
prompt = get_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]["adaptiveCards"][0][
"body"
][0]["text"],
)
await bot.close()
if __name__ == "__main__":
asyncio.run(main())
```
## Work in progress
- Error handling
# Credits
- pig#8932 (Discord) - Sharing account with beta access
- [Jimmy-Z](https://github.com/Jimmy-Z) - Bugfixes
|