PHP code example of muazzambuilds / filament-ai-actions

1. Go to this page and download the library: Download muazzambuilds/filament-ai-actions library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

muazzambuilds / filament-ai-actions example snippets


use MuazzamBuilds\FilamentAiActions\AiActionsPlugin;

$panel->plugin(
    AiActionsPlugin::make()
        ->model('gpt-4o-mini')
        ->enabled(fn (): bool => app()->environment('production'))
);

use MuazzamBuilds\FilamentAiActions\Actions\SummarizeAction;

SummarizeAction::make()
    ->attributes(['title', 'body'])
    ->applyTo('summary'); // optional: write result back to the record

use MuazzamBuilds\FilamentAiActions\Actions\RewriteAction;

RewriteAction::make()
    ->attributes(['body'])
    ->applyTo('body')
    ->tones([
        'professional' => 'Professional',
        'casual' => 'Casual',
        'concise' => 'Concise',
    ]);

use MuazzamBuilds\FilamentAiActions\Actions\ClassifyAction;

ClassifyAction::make()
    ->attributes(['body'])
    ->labels([
        'bug' => 'Bug report',
        'feature' => 'Feature request',
        'question' => 'Question',
    ])
    ->applyTo('category');

use MuazzamBuilds\FilamentAiActions\Actions\GenerateAction;

GenerateAction::make()
    ->attributes(['title', 'body']) // optional context
    ->applyTo('generated_copy');

use MuazzamBuilds\FilamentAiActions\Actions\TranslateAction;

TranslateAction::make()
    ->attributes(['body'])
    ->defaultLanguage('es')
    ->applyTo('translated_body');

TranslateAction::make()
    ->languages([
        'en' => 'English',
        'es' => 'Spanish',
        'ur' => 'Urdu',
    ]);

SummarizeAction::make()
    ->content(fn ($record) => "Title: {$record->title}\n\n{$record->body}");

SummarizeAction::make()
    ->model('gpt-4o')
    ->temperature(0.2)
    ->maxTokens(600)
    ->systemPrompt(fn ($record) => "Summarize this {$record->type} for executives.")
    ->applyTo('summary');

RewriteAction::make()
    ->attributes(['body'])
    ->applyTo('body')
    ->saveResult(false);

GenerateAction::make()
    ->applyResultUsing(function (string $result, $record, $livewire): void {
        // Store, transform, dispatch, or audit the result.
    });

use Filament\Tables\Table;
use MuazzamBuilds\FilamentAiActions\Actions\ClassifyAction;
use MuazzamBuilds\FilamentAiActions\Actions\GenerateAction;
use MuazzamBuilds\FilamentAiActions\Actions\RewriteAction;
use MuazzamBuilds\FilamentAiActions\Actions\SummarizeAction;
use MuazzamBuilds\FilamentAiActions\Actions\TranslateAction;

public function table(Table $table): Table
{
    return $table
        ->recordActions([
            SummarizeAction::make()->attributes(['title', 'body'])->applyTo('summary'),
            RewriteAction::make()->attributes(['body'])->applyTo('body'),
            ClassifyAction::make()
                ->attributes(['body'])
                ->labels(['bug', 'feature', 'question'])
                ->applyTo('category'),
            GenerateAction::make()->attributes(['title', 'body'])->applyTo('draft'),
            TranslateAction::make()->attributes(['body'])->applyTo('translated_body'),
        ]);
}

// config/filament-ai-actions.php
return [
    'api_key' => env('OPENAI_API_KEY'),
    'organization' => env('OPENAI_ORGANIZATION'),
    'base_url' => env('OPENAI_BASE_URL', 'https://api.openai.com/v1'),
    'model' => env('OPENAI_MODEL', 'gpt-4o-mini'),
    'temperature' => 0.4,
    'max_tokens' => 1200,
];
bash
php artisan vendor:publish --tag=filament-ai-actions-config