tinymeng/openai-chatgpt

wechat sina qq alipay twitter google line facebook oauth

dev-master 2023-02-10 05:01 UTC

This package is auto-updated.

Last update: 2024-04-10 07:40:40 UTC


README

php实现调用ChatGPT,参考TS版本 idootop/chatgpt-bot 编写,感谢作者。部分代码由 ChatGPT 转译。

Installing

composer require tinymeng/openai-chatgpt

Usage

$chatGPT=new \tinymeng\ChatGpt\ChatGpt($yourSessionToken, $yourAuthorization, $userAgent, $cfClearance); // 前两者二选一填写,获取方法见下方。后两者必填。

// 简单使用
var_dump($chatGPT->ask('你好'));

// 设置代理
\tinymeng\ChatGpt\Di::set('proxy', 'http://127.0.0.1:8899');

// 设置谈话参数(继续会话)
$chatGpt->setConversation($yourConversationID, $yourParentMessageID);

⚡️ Getting Started

Step 1. 克隆本项目到本地

git@github.com:majiameng/openai-chatgpt.git

Step 2. 配置你的环境变量

首先,将 start.php 文件中的 $sessionToken and $authorization 字段替换成你自己的 OpenAI 账号参数

你可以在这里找到这两个参数值 👉 教程

# start.php

$sessionToken="Your-Authorization"
$authorization="Your-SessionToken"

// 过了cloudflare的验证后,填写这两者,都必填
$cfClearance = 'Your-cfClearance';// 有效期2小时,过期要换,在Cookie里可以获取
$userAgent = 'Your-userAgent';// 就是你浏览器UA标识,在header里可以获取

Step 3. Hello world!

首先,你的电脑必须有 PHP 环境,然后在项目根目录下执行以下命令

composer install --no-dev
php start.php

就酱,准备好起飞 🚀

更新日志

1.0.5 2022-12-13

  • 修复cloudflare拦截问题,需补全验证信息

1.0.3 2022-12-09

  • cookie交给CookieJar维护
  • 优化Di管理方式
  • 返回谈话ID
  • 支持设置谈话参数(继续会话)
  • 支持设置代理

1.0.1 2022-12-07

  • 初版

其他

How to get the kAuthorization and kSessionToken?

首先,在你的电脑浏览器上登录 OpenAI

OpenAI 账号注册教程 👉 请戳这里

登录成功之后,按 F12 快捷键,打开浏览器开发者面板

在开发者面板中找到并打开 网络 这一栏,然后给 ChatGPT 随便发条消息。 这时候开发者面板里能够看到有许多网络请求,随便选择一个,然后从请求头中找到 Authorization,将它的值复制替换掉 start.php 里的 kAuthorization

最后,打开 存储 这一栏,然后找到名为 __Secure-next-auth.session-token 的 Cookie,复制它的值替换掉 kSessionToken 即可

以上。

PS: kAuthorizationkSessionToken 二选一即可,然后在 start.php 里删掉另一个的值