OpenAI Assistant
Adds a chat page with an Open AI assistant.
Author:
Ercogx
Documentation
Filament OpenAI Assistant is a filament plugin that adds a chat page with an Open AI assistant
Preview:
Dark Mode:

#Feature
- Integrate with OpenAI Assistant
- Easy to Setup
- Multiple Assistants
- Multiple Threads
- Support for dark mode
#Usage
#Installation
First, you need install the package via composer:
composer require ercogx/filament-openai-assistant
#Publish Migration
Then need publish migration:
php artisan vendor:publish --tag="filament-openai-assistant-migrations"
Optional you can change foreign id for auth user if you use a different model instead of the \App\Models\User::class
#Publish Config
Next, you can publish the config files with:
php artisan vendor:publish --tag="filament-openai-assistant-config"
This will create a config/filament-openai-assistant.php configuration file in your project, which you can modify to your needs using environment variables:
OPENAI_API_KEY=sk-***
OPENAI_ASSISTANT_ID=asst_***
OPENAI_ASSISTANT_NAME=Assistant
You can also add more assistants to the assistants array as needed
#Add To Filament Panels
The last step add the Plugin to your Panel's configuration. This will register the plugin's page with the Panel.
public function panel(Panel $panel): Panel
{
return $panel
->plugins([
\Ercogx\FilamentOpenaiAssistant\OpenaiAssistantPlugin::make()
]);
}
You can also change the chat page to customize it
\Ercogx\FilamentOpenaiAssistant\OpenaiAssistantPlugin::make()
->setRegistrablePages([
\App\Filament\Pages\ChatPage::class
])
<?php
namespace App\Filament\Pages;
use Ercogx\FilamentOpenaiAssistant\Pages\OpenaiAssistantPage;
class ChatPage extends OpenaiAssistantPage
{
}
#Additional steps
#Views
Optionally, you can publish the views using
php artisan vendor:publish --tag="filament-openai-assistant-views"
#Translations
Optionally, you can publish the translations using
php artisan vendor:publish --tag="filament-openai-assistant-translations"
#Custom Thread Chat Model
If you want to use your own model for chat thread you need call useChatThreadModel in boot method of any service provider
public function boot(): void
{
\Ercogx\FilamentOpenaiAssistant\Services\ChatThreadModelServices::useChatThreadModel(\App\Models\MyChatThread::class);
}
#Changelog
Please see CHANGELOG for more information on what has changed recently.
#Contributing
Please see CONTRIBUTING for details.
#Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
#Credits
#License
The MIT License (MIT). Please see License File for more information.
The author
From the same author
Featured Plugins
A selection of plugins curated by the Filament team
Custom Dashboards
Let your users build and share their own dashboards with a drag-and-drop interface. Define your data sources in PHP and let them do the rest.
Filament
Data Lens
Advanced Data Visualization for Laravel Filament - a premium reporting solution enabling custom column creation, sophisticated filtering, and enterprise-grade data insights within admin panels.
Padmission
Advanced Tables (formerly Filter Sets)
Supercharge your tables with powerful features like user-customizable views, quick filters, multi-column sorting, advanced table searching, convenient view management, and more. Compatible with Resource Panel Tables, Relation Managers, Table Widgets, and Table Builder!
Kenneth Sese