php使用chatGPT生成一些东西做一个记录
短信预约 -IT技能 免费直播动态提醒
好久没写了,这么长时间都去坐一些自己感兴趣的事情去了。
之前使用chatgpt-3,效果一直不咋好,这里我们来说说各个版本区别
gpt-3收费成本可以接受,生成的内容对话有点不太聪明的样子
git-3.5-turbo收费相对来说低,生成文本质量还是蛮高的,虽然有可能存在一点废话,但是不影响
git-4对不起用不起哈,等模型训练会不会下带升级之后这个收费较低我在说吧
php调用对话接口
https://api.openai.com/v1/chat/completions
各种三个demo测试
$msg是你需要传入的对话
第二段是屏蔽部分首次进入加入
$data = array( 'model' => 'gpt-3.5-turbo', 'messages' => [ ['role' => 'user', 'content' => $msg], ],// 'messages' => array(// array('role' => 'system', 'content' => '你好,有什么可以帮助您'),// array('role' => 'user', 'content' => '生成介绍API文章')// ), //'max_tokens' => 1000, // 'model' => 'gpt-3.5-turbo', //'prompt' => '生成关于ai绘画介绍的详细文章,讲述所涉及到知识点', );
再就是curl
请求了这种直接使用chatGPT生成的代码改动一下就可以
$ch = curl_init($url); curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC); //代理认证模式 curl_setopt($ch, CURLOPT_PROXY, env('gpt.proxy')); //代理服务器地址 curl_setopt($ch, CURLOPT_PROXYPORT, env('gpt.proxyport')); //代理服务器端口 if(!empty(env('gpt.proxyuserpwd'))){ curl_setopt($ch, CURLOPT_PROXYUSERPWD, env('gpt.proxyuserpwd')); //http代理认证帐号,username:password的格式 } curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); //使用http代理模式 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Authorization: Bearer ' . $apiKey )); $result = curl_exec($ch); $responseCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($responseCode == 200 || $result === false) { $response = json_decode($result, true); // dd($response); Log::info("chat GPT:---------------------------"); Log::info("内容:".$result); // Log::info("status:".$response['choices'][0]['finish_reason']); // print_r($response['choices']); //Log::info(htmlspecialchars($html)); return $response; //$generatedText = $response['choices'][0]['text']; // print_r($generatedText); } else { $response = json_decode($result, true); if(is_array($response)){ return "Error sending request: " . $result; return $response['error']['type'].":".$response['error']['message']; }else{ return "Error sending request: " . curl_error($ch); } // 处理请求错误 }
当然各种不同接口类型返回数据格式不一样看自己需求
来源地址:https://blog.csdn.net/u010757785/article/details/131703906
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341