PHP编写聊天演示DEMO接口Chat GPT获取API Keys
登录
点击create获取apiKey
<?php header( "Content-Type: application/json" ); $context = json_decode( $_POST[context] ?: "[]" ) ?: []; $prompt = ""; if( empty( $context ) ) { $please_use_above = ""; } else { $context = array_slice( $context, -5 ); foreach( $context as $message ) { $prompt .= "问题: " . $message[0] . " 答案: " . $message[1] . " "; } $please_use_above = "。请赵一舟使用上面的问题和答案作为前后文进行回答。"; } $prompt .= "问题: " . $_POST[message] . $please_use_above . " 答案: "; $dTemperature = 0.9; $iMaxTokens = 1024; $top_p = 1; $frequency_penalty = 0.0; $presence_penalty = 0.0; $OPENAI_API_KEY = "sk-PXQ0A35RLCQaImgLujPST3blbkFJ2d7Kaa9aJjUqzvYwwkqd"; $sModel = "text-davinci-003"; $ch = curl_init(); $headers = [ Accept: application/json, Content-Type: application/json, Authorization: Bearer . $OPENAI_API_KEY . ]; $postData = [ model => $sModel, prompt => str_replace(", , $prompt), temperature => $dTemperature, max_tokens => $iMaxTokens, top_p => $top_p, frequency_penalty => $frequency_penalty, presence_penalty => $presence_penalty, stop => [" Human:", " AI:"], ]; //echo json_encode($postData); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_URL, https://api。openai。com/v1/completions); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postData)); $result = curl_exec($ch); $complete = json_decode($result); if( isset( $complete->choices[0]->text ) ) { $text = str_replace( "\n", " ", $complete->choices[0]->text ); } elseif( isset( $complete->error->message ) ) { $text = "服务器返回错误信息:".$complete->error->message; } else { $text = "抱歉,我不知道如何回答."; } echo json_encode( [ "message" => $text, "raw_message" => $text, "status" => "success", ] ); $content2 = $_SERVER["REMOTE_ADDR"]." | ".date("Y-m-d H:i:s")." "; $content2 .= "Q:".$_POST[message]." A:".$text." ---------------- "; $myfile = fopen(__DIR__ . "/chat.txt", "a") or die("Writing file failed."); fwrite($myfile, $content2); fclose($myfile); ?>
上一篇:
uniapp开发微信小程序-2.页面制作
下一篇:
微信公众号H5开发笔记