webboy / open-ai-api-client
OpenAI API的PHP客户端
1.1.2
2023-03-27 10:55 UTC
Requires
- php: ^8.0
- ext-json: *
- guzzlehttp/guzzle: ^7.5@dev
- vlucas/phpdotenv: ^5.5@dev
Requires (Dev)
- infection/infection: dev-master
- phpunit/phpunit: ^10.1@dev
- squizlabs/php_codesniffer: *
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许可证授权。