jpcaparas/
laravel-faker-openai
g4t.io

Laravel Faker OpenAI

45 stars by Yannick Lyn Fatt

An opinionated Laravel package that modifies the service container Faker behaviour to allow prompts to be generated with OpenAI

README from jpcaparas/laravel-faker-openai Open on GitHub →

Laravel Faker OpenAI Provider

Tests

A Laravel package that extends FakerPHP by adding an AI-powered data generator using OpenAI. This allows you to generate more realistic and context-aware fake data in your Laravel applications.

Installation

Install the package via Composer:

composer require jpcaparas/laravel-faker-openai

The package will automatically register its service provider if you're using Laravel's package auto-discovery.

Configuration

  1. Next, execute the install command:
php artisan openai:install

This will create a config/openai.php configuration file in your project, which you can modify to your needs using environment variables.

  1. Make sure you have your OpenAI API key set in your .env file:
OPENAI_API_KEY=your-api-key-here
  1. The package uses gpt-3.5-turbo model by default.

Usage

The package adds a new promptAI() method to the Faker generator. You can use it in several ways:

Basic Usage

$faker = app(\Faker\Generator::class);

// Generate a fake name using AI
$name = $faker->promptAI('name');

// Generate a movie review
$review = $faker->promptAI('movieReview');

// Generate a movie description
$description = $faker->promptAI('movieDescription');

... you can also use the built-in fake() helper:

$name = fake('name');

With Fallback Values

You can provide fallback values that will be used if the AI request fails:

// String fallback
$name = $faker->promptAI('name', 'John Doe');

// Closure fallback
$name = $faker->promptAI('name', fn() => 'John Doe');

Error Handling

By default, errors are logged and the fallback value is returned. You can make it throw exceptions instead:

try {
    $name = $faker->promptAI('name', null, true); // Set throwOnError to true
} catch (\Exception $e) {
    // Handle the error
}

How It Works

The package works by:

  1. Intercepting FakerPHP method calls through a prompt
  2. Sending them to OpenAI's GPT model
  3. Returning AI-generated responses that match FakerPHP's expected output format

Testing

Run the test suite:

composer test

License

MIT

More from the ecosystem

marcreichel/
laya-php
g4t.io
3 53

LayaPHP: Self-Hosted Text Classification for PHP and Laravel

Classify text in PHP without an LLM bill: typed decisions in 100+ languages, self-hosted. Laravel-ready SDK for Laya, a Jev AI alternative.

ai classification decision-engine
marcreichel/laya-php via Laravel News
Josh-Dovey/
postcodes-laravel
g4t.io
5 9

Postcodes for Laravel: GB Postcode Lookup and Geography Data

Postcodes for Laravel adds typed GB postcode lookups, validation, geography data, distance searches, and test fakes through the GB Postcodes API.

Josh-Dovey/postcodes-laravel via Laravel News
RedberryProducts/
mailbox-for-laravel
g4t.io
4 115

Mailbox for Laravel: Preview and Test Rendered Email

Mailbox for Laravel captures outgoing mail in a local dashboard and lets you test rendered HTML, recipients, and attachments with fluent assertions.

RedberryProducts/mailbox-for-laravel via Laravel News