An open API service indexing awesome lists of open source software.

https://github.com/ercogx/filament-openai-assistant

Filament OpenAI Assistant is a filament plugin that adds a chat page with an Open AI assistant
https://github.com/ercogx/filament-openai-assistant

filament-plugin laravel openai openai-assistants

Last synced: 3 months ago
JSON representation

Filament OpenAI Assistant is a filament plugin that adds a chat page with an Open AI assistant

Awesome Lists containing this project

README

          

# OpenAI Assistant Integration

Filament OpenAI Assistant is a filament plugin that adds a chat page with an Open AI assistant

Preview:
![](https://raw.githubusercontent.com/ercogx/filament-openai-assistant/main/screenshots/preview.png)
Dark Mode:
![](https://raw.githubusercontent.com/ercogx/filament-openai-assistant/main/screenshots/dark-mode.png)

## 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:

```bash
composer require ercogx/filament-openai-assistant
```

### Publish Migration

Then need publish migration:

```bash
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:

```bash
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.

```php
public function panel(Panel $panel): Panel
{
return $panel
->plugins([
\Ercogx\FilamentOpenaiAssistant\OpenaiAssistantPlugin::make()
]);
}
```

You can also change the chat page to customize it

```php
\Ercogx\FilamentOpenaiAssistant\OpenaiAssistantPlugin::make()
->setRegistrablePages([
\App\Filament\Pages\ChatPage::class
])
```

```php