首页 > 编程语言 >PHP简单ChatGPT API对接方法

PHP简单ChatGPT API对接方法

时间:2023-08-20 14:33:04浏览次数:44  
标签:ch setopt array json API ChatGPT PHP curl CURLOPT

<?php
$chat = $_GET['chat'];

// 设置参数
$data = array(
    'model' => 'gpt-3.5-turbo',
    'messages' => array(
        array('role' => 'system', 'content' => 'Your_GPT_Tips'),
        array('role' => 'user', 'content' => $chat),
    ),
);

// 将数据转换为 JSON
$json = json_encode($data);

// 设置请求头
$headers = array(
    'Content-Type: application/json',
    'Authorization: Bearer Your_API_Key', // 替换为您的 OpenAI API 密钥
);

// 发送请求
$ch = curl_init('https://api.openai.com/v1/chat/completions');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($ch);
curl_close($ch);

// 处理响应
$result = json_decode($response, true);
$reply = $result['choices'][0]['message']['content'];

echo $reply;

?>

使用了PHP的Curl,调用了GPT-3.5-Turbo模型来提问。

标签:ch,setopt,array,json,API,ChatGPT,PHP,curl,CURLOPT
From: https://www.cnblogs.com/Komisoft/p/17643970.html

相关文章

  • api分享103.216.155.x
    在日常生活中,我们有很多类似api场景,比如电脑需要调用手机里面的信息,这个时候会拿一个数据线将电脑和手机连接起来,电脑和手机连接数据线的接口就是我们所说的api接口。常见web接口是http/https协议的接口,API是处理系统之间数据传输的媒介。在API调用过程中,客户端会通过API发送请求,A......
  • mondb核心api
    和mysql一样需要先定义一个类加上注解@Document("ap_associate_words"),ap_associate_words表示哪个表的名称保存或者修改,该对象有id表示修改,无id表示新增mongoTemplate.save(保存的对象)查询一个对象mongotemplate.findById("id",类.class)多条件查询Queryquery=Query.......
  • 8-20|https://gitlab.xx.com/api/v4/projects/4/trigger/pipeline Request failed 状
    当你使用GitLabAPI并收到状态码400,这通常意味着你发送的请求是“坏的”或格式不正确。以下是一些建议,帮助你解决问题:1.**验证请求正文**:确保你提供的请求正文(如果有的话)是正确的并符合API的预期格式。对于触发管道的API,你可能需要提供有关分支、变量等的信息。2.**检查URL*......
  • iwebsec-文件包含 08 php://input伪协议利用
    01、题目分析程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件,而无须再次编写,这种调用文件的过程一般被称为文件包含。在包含文件的过程中,如果文件能进行控制,则存储文件包含漏洞php://input用于对本地磁盘文件进行写入02、文件包含因为文......
  • iwebsec-文件包含 07 php://input伪协议
    01、题目分析程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件,而无须再次编写,这种调用文件的过程一般被称为文件包含。在包含文件的过程中,如果文件能进行控制,则存储文件包含漏洞php://input用于对本地磁盘文件进行写入02、文件包含因为文......
  • iwebsec-文件包含 06 php://filter伪协议
    01、题目分析程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件,而无须再次编写,这种调用文件的过程一般被称为文件包含。在包含文件的过程中,如果文件能进行控制,则存储文件包含漏洞php://filter是元封装器,用于对本地磁盘文件进行读取02、文......
  • PHP下的webshell免杀
    异或免杀大多数情况下,开发者为了方便自身的需求,会使用"黑名单"的方式扳掉许多敏感函数,来达到一个表面看上去新相对安全的一个目的,但是却不知道因为这种大意的思维会导致整个系统都处于极度危险中;攻击者以往遇见这种情况。完全可以通过加密的方法可以解决大部分的问题(eg:异或加密,ba......
  • 完美运营版 Thinkphp内核盲盒商城2.0+前端源码
    源码介绍:Thinkphp盲盒商城源码V2.0,最新版本全解,对接的易支付。短信是阿里云的,存储是七牛云(都要提前注册,这个要审核一两天)。简单测试了一下,还是有一些问题的,不知道是不是打开的方式不对,技术有限,有能力的大神拿去研究研究。    免费下载 点击提取码:izk2......
  • php-fpm的pool
    1php-fpm配置和LAMP不同的是,在LNMP架构中,php-fpm作为独立的一个服务存在。既然是独立的服务,那么它必然有自己的配置文件。php-fpm的配置文件为/usr/local/php-fpm/etc/php-fpm.conf,它同样也支持include语句,类似于nginx.conf里面的include。2php-fpm的poolNginx可以配置多个虚拟主机......
  • PHP查询MySQL 数据库后返回中文为问号
    面向对象1$conn=newmysqli($servername,$user,$password);3增加$conn->query("setnamesutf8");$pdo=newPDO("mysql:host=$servername",$username,$password);增加$pdo->query("setnamesutf8");  面向过程$conn=mysql......