openai-php / laravel
OpenAI PHP for Laravel是一个增强型的PHP API客户端,允许您与Open AI API交互
Requires
- php: ^8.1.0
- guzzlehttp/guzzle: ^7.8.1
- laravel/framework: ^9.46.0|^10.34.2|^11.0
- openai-php/client: ^v0.10.1
Requires (Dev)
- laravel/pint: ^1.13.6
- pestphp/pest: ^2.27.0
- pestphp/pest-plugin-arch: ^2.4.1
- phpstan/phpstan: ^1.10.47
- symfony/var-dumper: ^6.4.0|^7.0.1
- dev-main
- 0.10.x-dev
- v0.10.1
- v0.10.0-beta.2
- v0.10.0-beta.1
- v0.9.1
- v0.9.0
- 0.8.x-dev
- v0.8.1
- v0.8.0
- v0.8.0-beta.1
- v0.7.8
- v0.7.5
- v0.7.0
- v0.6.3
- v0.6.0
- v0.5.3
- v0.5.2
- v0.5.1
- v0.5.0
- v0.4.3
- v0.4.2
- v0.4.1
- v0.4.0
- v0.3.4
- v0.3.3
- v0.3.2
- v0.3.1
- v0.3.0
- v0.2.1
- v0.2.0
- dev-add-pulse-card
- dev-add-assistants-api
- dev-add-php-8.3-support
- dev-add-testing-ability
This package is auto-updated.
Last update: 2024-09-19 21:19:59 UTC
README
OpenAI PHP for Laravel是一个由社区维护的PHP API客户端,允许您与Open AI API交互。如果您或您的业务依赖于此包,那么支持那些为此宝贵工具付出时间和精力的开发者非常重要
- Nuno Maduro: github.com/sponsors/nunomaduro
- Sandro Gehri: github.com/sponsors/gehrisandro
注意:此存储库包含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进行身份验证 - 您可以在OpenAI仪表板中找到您的API密钥和组织,在https://openai.com。
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 许可协议。