Search by

axyr / laravel-langfuse

axyr

Langfuse PHP SDK for Laravel

Package info

github.com/axyr/laravel-langfuse

pkg:composer/axyr/laravel-langfuse

Statistics

Installs: 25 691

Dependents: 0

Suggesters: 0

Stars: 28

Open Issues: 1

v0.4.0 2026-10-01 10:42 UTC

README

Laravel Langfuse

Laravel Langfuse

CI PHPStan PHP Version Laravel License: MIT

Langfuse is an open-source observability platform for LLM applications. It gives you a dashboard to trace every LLM call, track token usage and costs, manage prompt versions, and evaluate output quality - all in one place. It's self-hostable or available as a managed cloud service.

This package connects your Laravel app to Langfuse. Send traces, generations, scores, and prompts with a clean, idiomatic API - or let the auto-instrumentation do it for you.

use Axyr\Langfuse\LangfuseFacade as Langfuse;

$trace = Langfuse::trace(new TraceBody(name: 'chat-request'));

$generation = $trace->generation(new GenerationBody(
    name: 'chat',
    model: 'gpt-4',
    input: [['role' => 'user', 'content' => 'Hello!']],
));

// After the LLM responds:
$generation->end(
    output: 'Hi there!',
    usage: new Usage(input: 12, output: 85, total: 97),
);

$trace->end(output: 'Hi there!');

Observations are batched and flushed automatically. Zero-code auto-instrumentation is available for Laravel AI, Prism, and Neuron AI.

Langfuse trace view showing a RAG pipeline with nested spans, token usage, costs, and evaluation scores - all sent from Laravel

Features

  • Full observability - traces, spans, generations, events, and scores with automatic parent-child nesting
  • Read & evaluate - query scores, observations, and metrics, and manage datasets, dataset items and experiments to build evaluation workflows (read API)
  • Prompt management - fetch, cache, compile, create, and list prompts with stale-while-revalidate caching
  • Auto-instrumentation - zero-code tracing for Prism, Laravel AI, and Neuron AI
  • Automatic batching - completed observations queued and sent in batches over OTLP, with optional async dispatch via Laravel queues
  • Production-ready - Octane compatible, graceful degradation, auto-end and auto-flush on shutdown, testing fakes

Installation

Requires PHP 8.2+ and Laravel 12 or 13. No PHP extensions beyond the core hash, random_bytes and json; zlib is only needed when you turn on LANGFUSE_COMPRESSION.

Langfuse compatibility. Since 0.4.0 the package writes traces over OpenTelemetry (OTLP) and reads back from the v2/v3 APIs:

Surface Requirement
Tracing Langfuse Cloud (v3 and v4) and self-hosted 3.22.0+
Scores (write and read) Langfuse Cloud (v3 and v4) and self-hosted v3+
Observations, metrics and experiments read APIs Langfuse v4

Langfuse Cloud removes the deprecated ingestion and read endpoints on 2026-11-16. Upgrading to 0.4.0 before that date is required; see the upgrade guide.

composer require axyr/laravel-langfuse

Add your Langfuse credentials to .env:

LANGFUSE_PUBLIC_KEY=pk-lf-...
LANGFUSE_SECRET_KEY=sk-lf-...

Optionally publish the configuration file:

php artisan vendor:publish --tag=langfuse-config

Examples

Working example projects for each integration:

Documentation

Full documentation in the docs/ directory:

See the Changelog for release history.

Contributing

Contributions welcome. Open an issue first to discuss what you'd like to change.

composer test        # Run tests
composer pint        # Fix code style

License

MIT

Author

Built by Martijn van Nieuwenhoven - Laravel developer specializing in AI integrations and observability tooling.