Reverse engineering of Google's Bard chatbot
Project description
Bard
Reverse engineering of Google's Gemini chatbot API, formerly BARD.
Installation
$ pip3 install --upgrade GoogleBard1
Authentication
Go to https://bard.google.com/
- F12 for console
- Copy the values
- Session: Go to Application → Cookies →
__Secure-1PSID
and__Secure-1PSIDTS
. Copy the value of those cookie.
- Session: Go to Application → Cookies →
Usage
$ python3 -m Bard -h
usage: Bard.py [-h] --session SESSION --session_ts SESSION_TS
options:
-h, --help show this help message and exit
--session SESSION __Secure-1PSID cookie
--session_ts SESSION_TS
__secure_1psidts cookie.
Quick mode
$ export BARD_QUICK="true"
$ export BARD__Secure_1PSID="<__Secure-1PSID>"
$ export BARD__Secure_1PSIDTS="<__Secure-1PSIDTS>"
$ python3 -m Bard
Environment variables can be placed in .zshrc.
Example bash shortcut:
# USAGE1: bard QUESTION
# USAGE2: echo "QUESTION" | bard
bard () {
export BARD_QUICK=true
export BARD__Secure_1PSID=<__Secure-1PSID>
export BARD__Secure_1PSIDTS=<__Secure-1PSIDTS>
python3 -m Bard "${@:-$(</dev/stdin)}" | tail -n+7
}
Implementation:
from os import environ
from Bard import Chatbot
Secure_1PSID = environ.get("BARD__Secure_1PSID")
Secure_1PSIDTS = environ.get("BARD__Secure_1PSIDTS")
chatbot = Chatbot(Secure_1PSID, Secure_1PSIDTS)
answer = chatbot.ask("Hello, how are you?")
print(answer['content']
Async Implementation:
import asyncio
from os import environ
from Bard import AsyncChatbot
Secure_1PSID = environ.get("BARD__Secure_1PSID")
Secure_1PSIDTS = environ.get("BARD__Secure_1PSIDTS")
async def main():
chatbot = await AsyncChatbot.create(Secure_1PSID, Secure_1PSIDTS)
response = await chatbot.ask("Hello, how are you?")
print(response['content'])
asyncio.run(main())
[!IMPORTANT] The cookies expire after a short period; ensure you update them as frequent as possible.
Developer Documentation
Credits:
- discordtehe - Derivative of his original reverse engineering
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
GoogleBard1-2.1.4.tar.gz
(6.5 kB
view details)
Built Distribution
File details
Details for the file GoogleBard1-2.1.4.tar.gz
.
File metadata
- Download URL: GoogleBard1-2.1.4.tar.gz
- Upload date:
- Size: 6.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f21a0960cee121a7e5d1c13e444d3bef85bc585af25f0aa3433c76640a668b9b |
|
MD5 | 6affae5ca408df27f7970309e8bd150c |
|
BLAKE2b-256 | 74094f6616798faf77d175116c693fe50de03869165ce6ed566f642f0270b09a |
File details
Details for the file GoogleBard1-2.1.4-py3-none-any.whl
.
File metadata
- Download URL: GoogleBard1-2.1.4-py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7afb22c21b9861e66792855186b77c1107afa2f7167f1734d4db62602fa97644 |
|
MD5 | b42e7ff5f7fb7e07fd0facf904fb3d5f |
|
BLAKE2b-256 | 60862e6b5efe1d813404dc247fc92a799a1fb261a21e298f009797bb9dfe1b58 |