webboy/open-ai-api-client

OpenAI API的PHP客户端

1.1.2 2023-03-27 10:55 UTC

This package is auto-updated.

Last update: 2024-09-30 01:41:17 UTC


README

这是一个简单的社区维护的PHP客户端库,用于与OpenAI API交互。此包提供了一种简单的方法来使用OpenAI的GPT模型,用于文本生成和补全等任务。

请注意,这是一个非官方库。

此库很方便,因为它返回原始响应数组,然后可以由任何类型的适配器类使用。

需求

  • PHP 8.0或更高版本
  • Guzzle HTTP客户端

安装

您可以通过Composer安装此包

composer require webboy/open-ai-api-client

使用示例

首先,使用您的API密钥创建一个Endpoint类的实例

require_once('vendor/autoload.php');

use Dotenv\Dotenv;
use Webboy\OpenAiApiClient\Endpoints\OpenAICompletions;
use Webboy\OpenAiApiClient\Exceptions\OpenAIClientException;

$dotenv = Dotenv::createImmutable(__DIR__);
$dotenv->load();

$apiKey = $_ENV['OPENAI_API_KEY'];

$client = new OpenAICompletions($apiKey);

$options['model']   = 'text-davinci-003';
$options['prompt']  = 'What time is it?';

try {
    print_r($client->create($options));
} catch (OpenAIClientException $exception) {
    die('OpenAI error occured: '.$exception->getMessage());
}

上面的代码将生成类似以下的内容

Array
(
    [id] => cmpl-6wAQB0aPhvbxMAyIdz98z8jpPeKdq
    [object] => text_completion
    [created] => 1679321103
    [model] => text-davinci-003
    [choices] => Array
        (
            [0] => Array
                (
                    [text] =>It is 6:25 PM.
                    [index] => 0
                    [logprobs] =>
                    [finish_reason] => stop
                )
        )
    [usage] => Array
        (
            [prompt_tokens] => 5
            [completion_tokens] => 9
            [total_tokens] => 14
        )
)

测试

Endpoint类被设计为接受HTTP客户端作为参数,这使得可以在不进行实际API调用的情况下执行模拟测试。如果您需要进行实际API调用,请随意创建测试套件。要运行PHPUnit测试

./vendor/bin/phpunit

许可证

PHP OpenAI API客户端是开源软件,根据MIT许可证授权。