rezaulhreza/hugging-face-for-laravel

A Laravel package for integrating HuggingFace AI models

v1.2 2025-02-12 21:24 UTC

This package is auto-updated.

Last update: 2025-05-12 14:45:37 UTC


README

Latest Version on Packagist GitHub Tests Action Status Total Downloads

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.