vitakut/proxyapi

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

0.1.0 2024-05-26 17:28 UTC

This package is auto-updated.

Last update: 2024-08-26 19:45:17 UTC


README

GitHub Workflow Status (master) Total Downloads Latest Version GitHub Release License

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

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

开始使用

需要 PHP 8.1+

首先,使用 Composer 包管理器安装 OpenAI

composer require vityakut/proxyapi

接下来,执行安装命令

php artisan proxyapi:install

这将创建一个 config/proxyapi.php 配置文件,您可以使用环境变量进行修改以满足需求。Proxy API 密钥的空白环境变量已追加到您的 .env 文件中。

PROXYAPI_API_KEY=sk-...

最后,您可以使用 ProxyApi 门面访问 OpenAI API

use vityakut\ProxyApi\Facades\ProxyApi;

$result = ProxyApi::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/proxyapi.php)中完成。

ProxyAPI 密钥

指定您的 Proxy API 密钥。这将用于与 Proxy API 进行身份验证 - 您可以在 OpenAI 控制台(https://proxyapi.ru/)找到您的 API 密钥。

PROXYAPI_API_KEY=

请求超时

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

PROXYAPI_REQUEST_TIMEOUT=

使用

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

测试

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

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

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

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

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

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

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

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

// assert completion create request was sent
ProxyApi::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 存储库。

ProxyApi PHP for Laravel 是一个开源软件,许可协议为 MIT 许可协议