如何在PHP中调用openAI接口

如何在PHP中调用OpenAI API

1、注册OpenAI账户并创建API密钥

(1)要注册OpenAI账户(ps:注册教程自行百度或谷歌,上网工具如找不到可私聊我)。
(2)完成注册后,访问 https://platform.openai.com/account/api-keys,点右上角登录OpenAI控制台。在控制台中,您可以创建一个API密钥,以便访问OpenAI API。在"API"选项卡下,单击"Create new API key"按钮创建一个新的API密钥。记住保存您的API密钥,因为您稍后需要使用它。

2、PHP调用OpenAI API的方法

在PHP中调用OpenAI API,需要使用cURL库向OpenAI API发送HTTP请求。为了简化代码,以下是一个简单的PHP函数,用于发送HTTP请求并返回OpenAI API的响应结果。


function callOpenAPI($url, $parameters, $apiKey) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($parameters));
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        "Content-Type: application/json",
        "Authorization: Bearer " . $apiKey
    ));
    $response = curl_exec($ch);
    curl_close($ch);
    return json_decode($response, true);
}

这个函数接受三个参数,分别是API接口地址、API请求参数和您的OpenAI API密钥。该函数使用cURL库向OpenAI API发送HTTP POST请求,并将API请求参数作为JSON字符串发送。函数返回OpenAI API的响应结果,以JSON格式解码后返回。

3、调用方法示例:

// 调用DAVINCI API接口
$response = callOpenAPI(
    "https://api.openai.com/v1/engines/davinci/completions",
    array(
        "prompt" => "Hello, I'm a PHP developer. Can you please tell me more about OpenAI?",
        "max_tokens" => 50,
        "temperature" => 0.5,
        "stop" => ["\n"]
    ),
    "YOUR_API_KEY"
);

// 打印API响应结果
print_r($response);

4、常用的openAI接口地址及参数:

(1)GPT-3 API

地址:https://api.openai.com/v1/engines/davinci-codex/completions

参数:

  • prompt:需要输入给GPT-3模型的文本;
  • max_tokens:生成的文本最大长度(默认值为2048);
  • temperature:生成文本的多样性(默认值为0.5);
  • n:返回结果的数量(默认值为1);
  • stop:指定停止词,用于控制生成文本的方向。

(2)DALL-E API

地址:https://api.openai.com/v1/images/generations

参数:

  • model:指定使用的DALL-E模型(默认值为512);
  • prompt:需要输入给DALL-E模型的文本;
  • size:生成图片的尺寸(默认值为512x512);
  • response_format:指定API响应的格式,支持URL和base64两种格式(默认为URL)。

(3)Codex API

地址:https://api.openai.com/v1/engines/davinci-codex/completions

参数:

  • prompt:需要输入给Codex模型的代码片段;
  • max_tokens:生成的代码最大长度(默认值为2048);
  • temperature:生成代码的多样性(默认值为0.5);
  • n:返回结果的数量(默认值为1);
  • stop:指定停止词,用于控制生成代码的方向。

(4)Translation API

地址:https://api.openai.com/v1/translations

参数:

  • text:需要翻译的文本;
  • source_language:源语言代码;
  • target_language:目标语言代码;
  • model:指定使用的翻译模型(默认值为text-davinci-002);
  • glossary:指定术语词汇表,用于改进翻译结果。
TP6 (ThinkPHP 6) 是 ThinkPHP 框架的一个版本,它是 PHP 的一种轻量级 Web 开发框架。如果你想在 TP6 后端集成 OpenAI 的 API,比如通过其图像生成、视频生成或者对话功能,你需要按照以下步骤操作: 1. **安装依赖**:首先,确保你已经安装了 Composer,并且在你的项目中添加对 OpenAI API 的库支持,例如,你可以使用 `composer require openai/openai` 来安装 OpenAI 的官方客户端。 2. **配置API密钥**:登录到 OpenAI 网站并创建一个账户,获取 API 密钥。在 TP6 中,你需要将这个密钥存储在一个安全的位置,如环境变量或者配置文件中。 3. **封装服务层函数**:在 TP6 的 Service 层或者相关的业务模块里,编写一个函数来处理 OpenAI 的请求。这通常涉及到构造 API 请求 URL,加上你的 API 密钥,然后发送 HTTP 请求。使用官方提供的 SDK 进行请求处理会更方便。 4. **调用API接口**:对于图片或视频生成,你可以调用相应的 OpenAI 功能,比如 DALL-E 或 Latent Diffusion Model。对于文本对话,可以利用 ChatGPT API 或其类似的功能。 5. **返回结果处理**:API 调用完成后,解析返回的数据,可能是二进制流(图片或视频)、JSON 数据(对话响应),然后将其转换成适合前端展示的形式。 ```php // 示例代码 use OpenAI\OpenAI; class ApiService { private const OPENAI_KEY = 'your_openai_key'; public function generateImage(): ?string { $client = new OpenAI\Client([ 'api_key' => self::OPENAI_KEY, // ...其他配置 ]); try { $response = $client->image()->generate(); // 处理返回的二进制数据并返回 return base64_encode($response); } catch (\Exception $e) { return null; } } // 类似的函数可以为其他OpenAI功能提供接口 } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值