OpenAI Assistant plugin screenshot
Dark mode ready
Multilingual support
Supports v5.x

OpenAI Assistant

Adds a chat page with an Open AI assistant.

Tags: Panels
Supported versions:
3.x
Ercogx avatar 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.