该项目可用于将OpenAI的ChatGPT服务集成到您的Python代码中。您可以使用这个项目直接从python中提示ChatGPT响应,而无需使用官方API密钥。
如果你想不通过ChatGPT Plus账户使用ChatGPT API,这将非常有用。
ChatGPT有一个官方API,可以用于将您的Python代码与之接口,但它需要使用API密钥。这个API密钥只能通过拥有ChatGPT Plus账户获得,这需要20美元/月(截至2023年5月11日)。但是,您可以通过使用ChatGPT网页界面免费使用ChatGPT。本项目旨在将您的代码与ChatGPT网页版本接口,这样您就可以在不使用API密钥的情况下在Python代码中使用ChatGPT。
ChatGPT网页界面的请求已经被反向工程,并直接集成到Python请求中。因此,使用此脚本进行的任何请求都模拟为用户直接在网站上进行的请求。因此,它是免费的,不需要API密钥。
- Python >= 3.9
pip install re-gpt
from re_gpt import SyncChatGPT
session_token = "__Secure-next-auth.session-token here"
conversation_id = None # 这里填写对话ID
with SyncChatGPT(session_token=session_token) as chatgpt:
prompt = input("输入你的提示:")
if conversation_id:
conversation = chatgpt.get_conversation(conversation_id)
else:
conversation = chatgpt.create_new_conversation()
for message in conversation.chat(prompt):
print(message["content"], flush=True, end="")
import asyncio
import sys
from re_gpt import AsyncChatGPT
session_token = "__Secure-next-auth.session-token here"
conversation_id = None # 这里填写对话ID
if sys.version_info >= (3, 8) and sys.platform.lower().startswith("win"):
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
async def main():
async with AsyncChatGPT(session_token=session_token) as chatgpt:
prompt = input("输入你的提示:")
if conversation_id:
conversation = chatgpt.get_conversation(conversation_id)
else:
conversation = chatgpt.create_new_conversation()
async for message in conversation.chat(prompt):
print(message["content"], flush=True, end="")
if __name__ == "__main__":
asyncio.run(main())
要查看更复杂的示例,请查看存储库中的examples文件夹。
- 访问https://chat.openai.com/chat并登录或注册。
- 打开浏览器的开发者工具。
- 转到
Application
标签页并打开Cookies
部分。 - 复制
__Secure-next-auth.session-token
的值并保存。
- 添加更多示例
- 添加更好的错误处理
- 实现检索所有ChatGPT聊天的功能
- 改进文档
贡献是开源社区成为学习、启发和创造的绝佳场所的原因之一。您所做的任何贡献都非常感激。
如果您有一个好的建议,可以使这个项目变得更好,请fork本仓库并创建一个拉取请求。 不要忘了给项目加星!再次感谢!
- Fork项目
- 创建您的功能分支(
git checkout -b feature/AmazingFeature
) - 提交您的更改(
git commit -m 'Add some AmazingFeature'
) - 推送到分支(
git push origin feature/AmazingFeature
) - 提交拉取请求
根据Apache许可证2.0分发。更多信息请参见LICENSE
。
Zai-Kun - Discord Server
仓库链接: https://github.com/Zai-Kun/reverse-engineered-chatgpt