Going to build some basic Driver like clients to talk to different AI service but like with Laravel Storage it will treat them all the same.
- ChatGPT for text
- Jasper when ChatGPT is down :(
- Dall-2
- OpenAI Moderator
- Midjourney - when it gets an api
You can install the package via composer:
composer require alnutile/laravel-chatgpt
You can then set your .env:
AI_CLIENT=sk-key
AI_MOCK=false
If you set AI_MOCK to true it will just return some fixture data so if you are working in your UI for example it will just show that data.
Here is an example of
- Call Moderation to see if the text is ok
- TextClientFacade to do a text search with adding a prefix to the request
- SearchResults Event to just let the system know and react to it like make a local copy of the data
- ModerationFailed Event so you can react to that
$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
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.