準備
只需要 PHP 7.4+ 與 cURL 擴展(預設開啓),外加一把中轉站密鑰。所有 OpenAI 兼容接口都適用。
非流式:一次拿全量回復
POST 到 /v1/chat/completions,請求體帶 model 與 messages。響應裏 choices[0].message.content 即回答文本,usage 字段記錄本次消耗的 Token 數,賬單核對就靠它。
流式:邊生成邊輸出
請求體加 "stream": true,響應變成 SSE 數據流:每個 data: 行是一段增量 JSON,拼接 delta.content 就能得到打字機效果。讀到 [DONE] 結束。
三個容易踩的坑
- 超時設置:流式請求要把 cURL 的
CURLOPT_TIMEOUT放寬到 120 秒以上,否則長回答中途被掐斷 - 緩衝:Nginx 反代會緩衝 SSE,需加
X-Accel-Buffering: no響應頭 - 計數:流式響應沒有 usage 字段時,可把
stream_options.include_usage打開
把示例裏的密鑰換成你自己的,直接就能跑。