当前位置: 首页 > news >正文

php使用chatGPT生成一些东西做一个记录

好久没写了,这么长时间都去坐一些自己感兴趣的事情去了。

之前使用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);}// 处理请求错误}

当然各种不同接口类型返回数据格式不一样看自己需求

http://www.lryc.cn/news/97168.html

相关文章:

  • 轻量级Web报表工具ActiveReportsJS全新发布v4.0,支持集成更多前端框架!
  • 听GPT 讲K8s源代码--pkg(七)
  • STM32MP157驱动开发——按键驱动(线程化处理)
  • 探究HTTP代理爬虫的反爬虫策略
  • 短视频去水印小程序,一键部署你的小程序,可开流量主,实现睡后收入
  • 通讯录系统
  • 14:00面试,14:06就出来了,问的问题有点变态。。。
  • F5 LTM 知识点和实验 3-负载均衡中的负载算法
  • 多线程(JavaEE初阶系列2)
  • Ubuntu20.04点Ubuntu software没反应,打不开的解决方案(Ubuntu笔记)
  • 力扣1114.按序打印-----题目解析
  • Centos7.9安全部署_防火墙配置_端口配置_协议配置_IP配置_全部亲测---记录022_大数据工作笔记0182
  • Tik Tok海外公会是什么?
  • elasticsearch批量导入问题
  • SAP安装笔记
  • 速速收藏!程序员副业赚钱的8种模式
  • 2、基于redis实现分布式锁
  • 【问题记录】Ubuntu 22.04 环境下,程序报:段错误(核心已转储)怎么使用 core 文件和GDB调试器 解决?
  • 9 Linux实操篇-实用指令
  • Hbase基础概念
  • JTS-Angle角度类
  • pytest---环境切换(base-url)
  • linux跑代码,程序终止了,但资源没有释放。
  • 数据结构--线性表2-1
  • 网访问内网机器:基于frp的内网穿透
  • 【Spring框架】Spring读取与存储综合练习
  • Python实现指定区域桌面变化监控并报警
  • 【数据结构】实验五:栈
  • ⚡️⚡️Java多线程编程的高效、安全实践
  • 【云原生】Docker私有仓库registry