dij-digital / langfuse-laravel
This is my package langfuse-laravel
Fund package maintenance!
DIJ Digital
Requires
- php: ^8.3||^8.4
- dij-digital/langfuse-php: ^0.1.4
- illuminate/contracts: ^11.0||^12.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^10.0.0||^9.0.0||^8.22.0
- pestphp/pest: ^3.0
- pestphp/pest-plugin-arch: ^3.0
- pestphp/pest-plugin-faker: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
- phpstan/extension-installer: ^1.3||^2.0
- phpstan/phpstan-deprecation-rules: ^1.1||^2.0
- phpstan/phpstan-phpunit: ^2.0
- rector/rector: ^2.0
This package is auto-updated.
Last update: 2025-08-11 08:00:36 UTC
README
This package provides a wrapper around the langfuse-php package, allowing you to easily integrate Langfuse into your Laravel applications. It uses as few dependencies as possible.
This package supports the following features:
Prompts
- Get text prompts
- Get chat prompts
- Compile text prompts
- Compile chat prompts
- Create text prompts
- Create chat prompts
- Fallback handling for prompt fetching errors
- Fallback handling when no prompt is found
Ingestion
- Create traces
- Create generations
Requires PHP 8.3 or PHP 8.4 in combination with Laravel 11 or Laravel 12
⚡️ Install the package using Composer:
composer require dij-digital/langfuse-laravel
How to use this package
Prompt
Add the following env keys to your projects .env
file:
LANGFUSE_BASE_URI=https://cloud.langfuse.com LANGFUSE_PUBLIC_KEY= LANGFUSE_SECRET_KEY=
use DIJ\Langfuse\Laravel\Facades\Langfuse; Langfuse::prompt()->text('promptName', 'fallback')->compile(['key' => 'value']); Langfuse::prompt()->text('promptName', 'fallback')->compile(['key' => 'value']); Langfuse::prompt()->chat('chatName', ['role' => 'user', 'content' => 'fallback'])->compile(['key' => 'value']); Langfuse::prompt()->list(); Langfuse::prompt()->create('promptName', 'text', PromptType::TEXT);
Ingestion
use DIJ\Langfuse\Laravel\Facades\Langfuse; // Creates a trace and a generation visible in Langfuse UI $traceId = 'trace-id-123'; Langfuse::ingestion()->trace( input: 'prompt text', output: null, traceId: $traceId, name: 'name', sessionId: null, metadata: ['key' => 'value'] ); Langfuse::ingestion()->generation( input: 'prompt text', output: 'model output', traceId: $traceId, name: 'name', sessionId: null, promptName: 'promptName', promptVersion: 1, model: 'gpt-4o', modelParameters: ['temperature' => 0.7], metadata: ['key' => 'value'] );
Langfuse Laravel was created by Tycho Engberink and is maintained by DIJ Digital under the MIT license.