webninjjacoder/open-ai-laravel

OpenAI PHP for Laravel是一个增强型PHP API客户端,允许您与Open AI API进行交互

dev-main 2024-05-27 03:08 UTC

This package is auto-updated.

Last update: 2024-09-27 03:47:15 UTC


README

GitHub Workflow Status (master) Total Downloads Latest Version License

OpenAI PHP for Laravel是一个由社区维护的PHP API客户端,允许您与Open AI API进行交互。如果您或您的业务依赖于此包,支持为此有价值工具投入时间和精力的开发者非常重要

注意:此存储库包含OpenAI PHP for Laravel的集成代码。如果您想以框架无关的方式使用OpenAI PHP客户端,请参阅openai-php/client存储库。

入门

需要PHP 8.1+

首先,通过Composer包管理器安装OpenAI

composer require openai-php/laravel

然后,执行安装命令

php artisan openai:install

这将创建一个位于您的项目中的config/openai.php配置文件,您可以使用环境变量进行修改以满足您的需求。已经将用于OpenAI API密钥和组织ID的环境变量空白值附加到您的.env文件中。

OPENAI_API_KEY=sk-...
OPENAI_ORGANIZATION=org-...

最后,您可以使用OpenAI外观来访问OpenAI API

use OpenAI\Laravel\Facades\OpenAI;

$result = OpenAI::chat()->create([
    'model' => 'gpt-3.5-turbo',
    'messages' => [
        ['role' => 'user', 'content' => 'Hello!'],
    ],
]);

echo $result->choices[0]->message->content; // Hello! How can I assist you today?

配置

配置通过环境变量或直接在配置文件(config/openai.php)中完成。

OpenAI API密钥和组织

指定您的OpenAI API密钥和组织。这将用于通过OpenAI API进行身份验证 - 您可以在https://openai.com的OpenAI仪表板上找到您的API密钥和组织。

OPENAI_API_KEY=
OPENAI_ORGANIZATION=

请求超时

可以使用超时来指定等待响应的最大秒数。默认情况下,客户端将在30秒后超时。

OPENAI_REQUEST_TIMEOUT=

用法

有关用法示例,请参阅openai-php/client存储库。

测试

OpenAI外观包含一个fake()方法,允许您模拟API响应。

模拟响应将按提供给fake()方法的顺序返回。

所有响应都具有fake()方法,允许您仅通过提供对您的测试用例相关的参数来轻松创建响应对象。

use OpenAI\Laravel\Facades\OpenAI;
use OpenAI\Responses\Completions\CreateResponse;

OpenAI::fake([
    CreateResponse::fake([
        'choices' => [
            [
                'text' => 'awesome!',
            ],
        ],
    ]),
]);

$completion = OpenAI::completions()->create([
    'model' => 'gpt-3.5-turbo-instruct',
    'prompt' => 'PHP is ',
]);

expect($completion['choices'][0]['text'])->toBe('awesome!');

在请求发送后,有各种方法可以确保发送了预期的请求

// assert completion create request was sent
OpenAI::assertSent(Completions::class, function (string $method, array $parameters): bool {
    return $method === 'create' &&
        $parameters['model'] === 'gpt-3.5-turbo-instruct' &&
        $parameters['prompt'] === 'PHP is ';
});

有关更多测试示例,请参阅openai-php/client存储库。

OpenAI PHP for Laravel是一个开源软件,许可证为MIT许可