alnutile / laravel-ChatGPT
一些基本的客户端工作,用于与API通信
0.0.5
2023-04-30 18:07 UTC
Requires
- php: ^8.1
- alnutile/fixtures: ^0.0
- guzzlehttp/guzzle: ^7.5
- http-interop/http-factory-guzzle: ^1.2
- illuminate/contracts: ^9.0|^10.0
- spatie/data-transfer-object: ^3.9
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
README
计划构建一些基本的驱动程序,如客户端,用于与不同的AI服务通信,但就像Laravel存储一样,将把它们都视为相同。
- ChatGPT用于文本
- 当ChatGPT不可用时,使用Jasper :(
- Dall-2
- OpenAI调解员
- Midjourney - 当它获得API时
安装
您可以通过composer安装此包
composer require alnutile/laravel-chatgpt
然后设置您的.env文件
AI_CLIENT=sk-key
AI_MOCK=false
如果将AI_MOCK设置为true,它将只返回一些固定数据,因此如果您在UI中工作,例如,它将只显示那些数据。
用法
以下是一个示例
- 调用调解器以查看文本是否正确
- 使用添加前缀到请求的TextClientFacade进行文本搜索
- SearchResults事件仅让系统知道并对其做出反应,例如制作数据的本地副本
- ModerationFailed事件,以便您可以对其做出反应
$moderationOk = ModerationClientFacade::checkOk(request()->search); if ($moderationOk == false) { ModerationFailed::dispatch(request()); } else { $results = TextClientFacade::addPrefix('can you give me tl;dr terms of service for')->text($search); SearchResults::dispatch($results); }
测试
composer test
变更日志
请参阅变更日志,了解最近更改的详细信息。
贡献
请参阅贡献指南以获取详细信息。
安全漏洞
请审查我们的安全策略,了解如何报告安全漏洞。
致谢
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。