Generate smart API mocks in Laravel using ChatGPT prompts
yllw-digital/laravel-chatgpt-mock-api is a Laravel package for generate smart api mocks in laravel using chatgpt prompts.
It currently has 139 GitHub stars and 156 downloads on Packagist (latest version v0.1).
Install it with composer require yllw-digital/laravel-chatgpt-mock-api.
Discover more Laravel packages by yllw-digital
or browse all Laravel packages to compare alternatives.
Last updated
Generate smart API mocks in Laravel using ChatGPT prompts.
composer require --dev yllw-digital/laravel-chatgpt-mock-api
You'll need to then publish the config file and migrations:
php artisan vendor:publish --provider="YellowDigital\LaravelChatgptMockApi\LaravelChatgptMockApiServiceProvider"
Run migrate to create the cache table:
php artisan migrate
Finally you'll need to add your OpenAI API key to your .env file:
OPENAI_API_KEY=sk-...
In your routes/api.php file, add the following:
use YellowDigital\LaravelChatgptMockApi\Facades\ChatGPTMockApi;
Route::get("/mock-response", function() {
return ChatGPTMockApi::generate(
prompt: "European countries and their national food",
keys: [
"id",
"name",
"food",
"food_description",
],
count: 3,
);
});
This will generate a response like the following:
[
{
"id": 1,
"name": "Italy",
"food": "Pizza",
"food_description": "A delicious round dough topped with tomato sauce, cheese and a variety of toppings."
},
{
"id": 2,
"name": "France",
"food": "Croissants",
"food_description": "A flaky, buttery pastry that is commonly eaten for breakfast or as a snack."
},
{
"id": 3,
"name": "Spain",
"food": "Paella",
"food_description": "A rice dish that originated in Valencia and is typically made with saffron, chicken, and shellfish."
}
]
By default, the package will cache the generated responses in your DB so that you don't hit the OpenAI API limit. You can disable this by setting like so:
ChatGPTMockApi::generate(
prompt: "European countries and their national food",
keys: [
"id",
"name",
"food",
"food_description",
],
count: 3,
cache: false,
);
By default, the package will use the gpt-3.5-turbo model. You can change this by setting like so:
ChatGPTMockApi::generate(
prompt: "European countries and their national food",
keys: [
"id",
"name",
"food",
"food_description",
],
count: 3,
model: "gpt-3.5-turbo-0301",
);
This package is open-sourced software licensed under the MIT license.