rezaulhreza / hugging-face-for-laravel
A Laravel package for integrating HuggingFace AI models
Fund package maintenance!
Rezaulhreza
Requires
- php: ^8.2
- illuminate/contracts: ^10.0||^11.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^2.9
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^9.0.0||^8.22.0
- pestphp/pest: ^3.0
- pestphp/pest-plugin-arch: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
- phpstan/extension-installer: ^1.3
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-phpunit: ^1.3
This package is auto-updated.
Last update: 2025-05-12 14:45:37 UTC
README
A Laravel package that provides seamless integration with HuggingFace AI models for text generation and image creation.
Installation
Install the package via composer:
composer require rezaulhreza/hugging-face-for-laravel
You can publish the config file with:
php artisan vendor:publish --tag="hugging-face-config"
Configuration
Add your HuggingFace API key to your .env
file:
HUGGINGFACE_API_KEY=your-api-key-here
Usage
Text Generation
use Rezaulhreza\HuggingFace\Facades\HuggingFace; // Generate text $response = HuggingFace::getResponse( prompt: "What is artificial intelligence?", model: "meta-llama/Meta-Llama-3-8B-Instruct" );
// Access the generated text
$generatedText = $response['text'];
Image Generation
// Generate image $response = HuggingFace::getResponse( prompt: "A beautiful sunset", model: "CompVis/stable-diffusion-v1-4" );
Response will contain a base64 encoded image string.
Custom Model Types
When using a model that's not pre-configured, you can specify the model type:
$response = HuggingFace::getResponse( prompt: "What is artificial intelligence?", model: "custom-model", type: "text", options: ['type' => 'text'] );
Error Handling
The package includes comprehensive error handling. Failed requests will return null
and log the error details. You can catch specific exceptions:
try { $response = HuggingFace::getResponse(prompt: "What is artificial intelligence?", model: "unknown-model"); } catch (\Exception $e) { // Handle the exception }
Supported Model Types
The package supports various model types out of the box:
- Text Generation (
text-generation
) - Text-to-Text Generation (
text2text-generation
) - Question Answering (
question-answering
) - Summarization (
summarization
) - Translation (
translation
) - Text Classification (
text-classification
) - Image Classification (
image-classification
) - Image Segmentation (
image-segmentation
) - Image-to-Text (
image-to-text
) - Text-to-Image (
text-to-image
) - Image-to-Image (
image-to-image
) - Visual Question Answering (
visual-question-answering
)
Testing
composer test
License
The MIT License (MIT). Please see License File for more information.