An unofficial Python wrapper for OpenAI's ChatGPT API
Project description
pyChatGPT
An unofficial Python wrapper for OpenAI's ChatGPT API
Features
- Bypass Cloudflare's anti-bot protection (undetected_chromedriver)
- Captcha solver when auth with login credentials (experimental)
- Support headless machines
- Proxy support (only without basic auth)
Getting Started
On 2022/12/11, OpenAI has implemented Cloudflare's anti-bot protection on the ChatGPT API. This wrapper is now using
undetected_chromedriver
to bypass the protection. Please make sure you have Google Chrome before using this wrapper.
Installation
pip install pyChatGPT
Usage
Obtaining session_token
- Go to https://chat.openai.com/chat and open the developer tools by
F12
. - Find the
__Secure-next-auth.session-token
cookie inApplication
>Storage
>Cookies
>https://chat.openai.com
. - Copy the value in the
Cookie Value
field.
Interactive mode
python -m pyChatGPT
Import as a module
from pyChatGPT import ChatGPT
session_token = 'abc123' # `__Secure-next-auth.session-token` cookie from https://chat.openai.com/chat
api = ChatGPT(session_token) # auth with session token
api2 = ChatGPT(email='example@domain.com', password='password') # auth with email and password (unreliable)
api3 = ChatGPT(session_token, conversation_id='some-random-uuid', parent_id='another-random-uuid') # specify a conversation
api4 = ChatGPT(session_token, proxy='http://proxy.example.com:8080') # specify proxy
api5 = ChatGPT(session_token, cf_refresh_interval=30) # specify the interval to refresh the cf cookies (in minutes)
resp = api.send_message('Hello, world!')
print(resp['message'])
api.reset_conversation() # reset the conversation
Frequently Asked Questions
How do I get it to work on headless linux server?
# install chromium & X virtual framebuffer
sudo apt install chromium xvfb
# start your script
python3 your_script.py
Insipration
This project is inspired by
Disclaimer
This project is not affiliated with OpenAI in any way. Use at your own risk. I am not responsible for any damage caused by this project. Please read the OpenAI Terms of Service before using this project.
License
This project is licensed under the GPLv3 License - see the LICENSE file for details.
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
Built Distribution
Hashes for pyChatGPT-0.2.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b31f4261f1a9757e278552bc4bd6f0e2e4846ace0d3615a0ff556a1cc546fa25 |
|
MD5 | 095c9a72c1022aeb2d34c8ab3e12be74 |
|
BLAKE2b-256 | 06b24f870d3a45fafe37e52ee571ccf4577245714f7b42da90cb8bd790f98e5f |