项目简介:GPT4 OpenAI 非官方 API
项目背景
GPT4 OpenAI 非官方 API 是一个为那些申请了 GPT-4 API 访问权限但尚未收到 OpenAI 回复的用户提供的解决方案。该项目通过使用 Selenium 来模拟用户在 chat.openai.com 上的互动,实现对 GPT-4 的访问。这一工具特别适合拥有 ChatGPT Plus 的账户,否则则会使用默认的 GPT-3.5 模型。
值得注意的是,该 API 属于非官方版本,并且不被 OpenAI 官方认可,使用过程中有违反使用条款的风险,因此用户需自行承担由此带来的任何后果。
功能特点
这款 API 不仅支持通过浏览器与 GPT-4 进行交互,还支持 DALL-E 3 及相关插件的使用。用户可以通过指定模型,例如 GPT4OpenAI(token=token, model='gpt-4')
,或选择 model='gpt-4-plugins'
来进行相应的操作。
示例代码
项目提供了一些示例代码以供参考:
from gpt4_openai import GPT4OpenAI
llm = GPT4OpenAI(token=my_session_token, headless=False, model='gpt-4')
response = llm('If there are 10 books in a room and I read 2, how many books are still in the room?')
print(response)
支持 DALL-E 3 的生成
用户可以利用该工具生成图像,以下是相关代码示例:
from gpt4_openai import GPT4OpenAI
llm = GPT4OpenAI(token=my_session_token, headless=False, model='gpt-4')
img_bytes = llm.generate_image('Generate an isometric image of a cute doggo inside a house.', image_path = './img_save_path.png')
浏览功能
支持浏览是这一 API 的另一特色,例如自动浏览网页获取信息:
from gpt4_openai import GPT4OpenAI
llm = GPT4OpenAI(token=my_session_token, headless=False, model='gpt-4-browsing')
response = llm('What is the age difference between Dua Lipa and her boyfriend?')
print(response)
集成 Langchain
GPT4OpenAI 还扩展了 langchain.llms.base
的 LLM
类,因此可以轻松在 Langchain 生态系统中使用,例如:
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])
llm = GPT4OpenAI(token=my_session_token)
chain = LLMChain(llm=llm, prompt=chat_prompt)
print(chain.run("My name is John and I like to eat pizza."))
如何获取会话令牌
用户需要前往 chat.openai.com 并打开开发者工具,通过 F12
键进入。然后在 Application
> Storage
> Cookies
> https://chat.openai.com
下找到 __Secure-next-auth.session-token
,并复制 Cookie Value
的值。
安装和依赖
要安装该 Python 包,用户只需在命令行中运行:
pip install gpt4-openai-api
此程序包依赖以下库,安装时将自动下载:
undetected-chromedriver
(selenium 浏览器)markdownify
langchain
总的来说,GPT4 OpenAI 非官方 API 为用户提供了一种接触 GPT-4 的替代途径,尽管在使用时需对潜在的风险有所准备,但其丰富的功能和应用场合仍然具有较大的吸引力。