mozex / anthropic-laravel
Anthropic PHP for Laravel 是一个增强型的 PHP API 客户端,允许您与 Anthropic API 交互
Requires
- php: ^8.1.0
- guzzlehttp/guzzle: ^7.8.1
- laravel/framework: ^9.46.0|^10.34.2|^11.0
- mozex/anthropic-php: ^v1.0.2
Requires (Dev)
- laravel/pint: ^1.16.1
- pestphp/pest: ^2.34.7
- pestphp/pest-plugin-arch: ^2.7
- phpstan/phpstan: ^1.11.2
- spatie/ray: ^1.41
- symfony/var-dumper: ^6.4.0|^7.0.1
README
Anthropic Laravel 是一个由社区维护的 PHP API 客户端,允许您与 Anthropic API 交互。此包基于 Nuno Maduro 和 Sandro Gehri 的出色工作。
注意: 此存储库包含 Anthropic PHP for Laravel 的集成代码。如果您想以框架无关的方式使用 Anthropic PHP 客户端,请查看 mozex/anthropic-php 存储库。
目录
支持我们
创建和维护开源项目需要大量的时间和精力。您的支持将有助于提升项目,并使 PHP 社区能够做出更多贡献。
您可以通过 GitHub Sponsors 项目进行赞助。只需点击此存储库顶部的 "Sponsor" 按钮。任何金额都将是巨大的帮助,即使是一美元的小额捐款也能产生重大影响,并将直接用于开发和改进此包。
感谢您考虑赞助。您的支持确实产生了影响!
入门
需要 PHP 8.1+
首先,通过 Composer 包管理器安装 Anthropic
composer require mozex/anthropic-laravel
然后,执行安装命令
php artisan anthropic:install
这将创建一个 config/anthropic.php
配置文件在您的项目中,您可以使用环境变量进行修改以满足您的需求。用于 Anthropic API 键的空环境变量已经附加到您的 .env
文件中。
ANTHROPIC_API_KEY=sk-...
最后,您可以使用 Anthropic
门面来访问 Anthropic API
use Anthropic\Laravel\Facades\Anthropic; $result = Anthropic::messages()->create([ 'model' => 'claude-3-opus-20240229', 'max_tokens' => 1024, 'messages' => [ ['role' => 'user', 'content' => 'Hello!'], ], ]); echo $result->content[0]->text; // Hello! How can I assist you today?
配置
配置是通过环境变量或直接在配置文件(config/anthropic.php
)中完成的。
Anthropic API 密钥
指定您的 Anthropic API 密钥。这将用于通过 Anthropic API 进行身份验证 - 您可以在 Anthropic 控制面板的 https://console.anthropic.com/settings/keys 上找到您的 API 密钥。
ANTHROPIC_API_KEY=
请求超时
超时可用于指定等待响应的最大秒数。默认情况下,客户端将在 30 秒后超时。
ANTHROPIC_REQUEST_TIMEOUT=
使用
有关使用示例,请参阅 mozex/anthropic-php 存储库。
测试
Anthropic
门面包含一个 fake()
方法,允许您伪造 API 响应。
伪造的响应将按照提供给 fake()
方法的顺序返回。
所有响应都包含一个 fake()
方法,允许您通过仅提供与您的测试用例相关的参数来轻松创建响应对象。
use Anthropic\Laravel\Facades\Anthropic; use Anthropic\Responses\Completions\CreateResponse; Anthropic::fake([ CreateResponse::fake([ 'completion' => 'awesome!', ]), ]); $completion = Anthropic::completions()->create([ 'model' => 'claude-2.1', 'prompt' => '\n\nHuman: PHP is \n\nAssistant:', 'max_tokens_to_sample' => 100, ]); expect($completion['completion'])->toBe('awesome!');
发送请求后,有各种方法可以确保发送了预期的请求。
// assert completion create request was sent Anthropic::assertSent(Completions::class, function (string $method, array $parameters): bool { return $method === 'create' && $parameters['model'] === 'claude-2.1' && $parameters['prompt'] === 'PHP is '; });
更多测试示例,请查看 mozex/anthropic-php 仓库。
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG。
贡献
有关详细信息,请参阅 CONTRIBUTING。
安全漏洞
有关如何报告安全漏洞的详细信息,请参阅 我们的安全策略。
鸣谢
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件。