This package is used to easily manage files and batches via the OpenAI API. The flow is described here.
You can install the package via composer:
composer require moontechs/filamentphp-openai-management
You need to publish and run the migrations with:
php artisan vendor:publish --tag="filamentphp-openai-management-migrations"
php artisan migrate
You can publish the config file with:
php artisan vendor:publish --tag="filamentphp-openai-management-config"
This is the contents of the published config file:
return [
'disk' => 'local', // you can customize used disk and upload/download folders
'directory' => 'openai-files',
'download-disk' => 'local',
'download-directory' => 'openai-files-downloads',
'select-options' => [
'file-purpose' => [
'batch' => 'batch',
'assistants' => 'assistants',
'fine-tune' => 'fine-tune',
],
'batch-endpoint' => [
'/v1/chat/completions' => '/v1/chat/completions',
'/v1/embeddings' => '/v1/embeddings',
'/v1/completions' => '/v1/completions',
],
],
];
Add a plugin to your Panel Provider
use Moontechs\OpenAIManagement\OpenAIManagementPlugin;
->plugins([
new OpenAIManagementPlugin,
])
Schedule the following CLI commands:
php artisan openai-management:files:update
- uploads new files to an OpenAI storage and updates already uploaded files statusesphp artisan openai-management:batches:update
- sends files batch processing requests and updates statuses of the old requests. In case there are no batches in progress, it will send the next batch process request.php artisan openai-management:batches:download-processed-files
- downloads already processed batches (files)
- Add a project
- Reffer to the OpenAI documentation to create new projects or obtain the ID and key of an existing one.
- Note: The OpenAI key will be encrypted. Do not regenerate the Laravel
APP_KEY
.
- Upload files
- Check the documentation to understand the file structure.
- Multiple file uploads are supported.
- Tags are for internal use only and do not affect API calls.
- Request Batch Processing
- If a file is in the
processed
status you can request batch processing.
- If a file is in the
- Check Batch Status
- Batch processing can take up to 24 hours. You can check the batch status.
- Download Processed Files
- When the batch is completed, a background job downloads the files to the server. You can then download them locally (a download button will appear).
The AGPL-3.0 License. Please see License File for more information.