Skip to main content

Python package for unofficial GPT-4 API access via chat.openai.com

Project description

GPT4 OpenAI unofficial API

Unofficial GPT-4 API access via chat.openai.com using Selenium

Have you applied to GPT-4 API access but OpenAI is too busy to reply? Me too, that's why I created this package. If the account has ChatGPT Plus, you can use GPT-4.

It supports both GPT4 browser and plugins by selecting model via GPT4OpenAI(token=token, model='gpt-4-browsing'), or model='gpt-4-plugins'.

Note: This unofficial API library is not endorsed by OpenAI and violates their Terms of Service. Use it at your own risk; the creator assumes no liability for any consequences. Please adhere to platform's ToS and exercise caution with unofficial resources.

The core logic was taken from the acheong08/ChatGPT.

Demo

Demo GIF

Demo script

from gpt4_openai import GPT4OpenAI

# accessToken from https://chat.openai.com/api/auth/session
llm = GPT4OpenAI(token=my_token, model='gpt-4')
# GPT3.5 will answer 8, while GPT4 should be smart enough to answer 10
response = llm('If there are 10 books in a room and I read 2, how many books are still in the room?')
print(response)

As seen on the demo gif (above), GPT-4 answers correctly.

Browsing support

from gpt4_openai import GPT4OpenAI

# accessToken from https://chat.openai.com/api/auth/session
llm = GPT4OpenAI(token=my_token, model='gpt-4-browsing')
# ChatGPT will first browse the web for the name/age of her boyfriend, then return the answer
response = llm('What is the age difference between Dua Lipa and her boyfriend?')
print(response)

Plugin support

List of plugin IDs can be found here.

llm = GPT4OpenAI(token=my_token, model='gpt-4',
                 plugin_ids=['plugin-d1d6eb04-3375-40aa-940a-c2fc57ce0f51'] # Wolfram Alpha
                 )

# ChatGPT will use Wolfram Alpha plugin to calculate the equation
response = llm('Calculate the square root of 12345 to 10 decimal places')
print(response)

Langchain support

GPT4OpenAI actually extends LLM class from langchain.llms.base. So you can easily use this library inside langchain ecosystem. Example:

from gpt4_openai import GPT4OpenAI
from langchain import LLMChain
from langchain.prompts.chat import (ChatPromptTemplate, SystemMessagePromptTemplate, AIMessagePromptTemplate, HumanMessagePromptTemplate)

template="You are a helpful assistant that translates english to pirate."
system_message_prompt = SystemMessagePromptTemplate.from_template(template)
example_human = HumanMessagePromptTemplate.from_template("Hi")
example_ai = AIMessagePromptTemplate.from_template("Argh me mateys")
human_message_prompt = HumanMessagePromptTemplate.from_template("{text}")

chat_prompt = ChatPromptTemplate.from_messages([system_message_prompt, example_human, example_ai, human_message_prompt])

# accessToken from https://chat.openai.com/api/auth/session
llm = GPT4OpenAI(token=my_token)

chain = LLMChain(llm=llm, prompt=chat_prompt)
print(chain.run("My name is John and I like to eat pizza."))

Output will be:

AI: Ahoy, me name be John an' I be likin' ta feast on some pizza, arr!

How to get the access token

  1. Go to https://chat.openai.com/api/auth/session
  2. In the JSON, copy the whole accessToken field.

image

OpenAI's GPT4 vs other providers

Initially, I tried poe.com (private API implemented at gpt4free), but noticed that input context window is smaller than one of OpenAI ChatGPT. And the same goes for Bing's GPT4.

Installation

To install this Python package, run the following command:

pip install gpt4-openai-api

Dependencies

These dependencies get downloaded directly:

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

gpt4-openai-api-0.4.0.tar.gz (4.3 kB view hashes)

Uploaded Source

Built Distribution

gpt4_openai_api-0.4.0-py3-none-any.whl (9.6 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