PHP code example of uodev / langfuse-logger

1. Go to this page and download the library: Download uodev/langfuse-logger library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

uodev / langfuse-logger example snippets




declare(strict_types=1);

use Langfuse\LangfuseLogger;
use Langfuse\Providers\OpenAIProvider;


    'pk-lf-...',                  // Public Key
    'sk-lf-...'                   // Secret Key
);

// Optional: Set user and session
$logger->setUserId('user-123')
       ->setSessionId('session-abc');

// Log your API response
$logger->log(
    new OpenAIProvider(),  // Provider instance
    'gpt-4o',              // Model name
    $messages,             // Messages array sent to API
    $response              // Response array from API
);

use Langfuse\Providers\OpenAIProvider;

$logger->log(
    new OpenAIProvider(),
    'gpt-4o',
    $messages,
    $response
);

use Langfuse\Providers\AnthropicProvider;

$logger->log(
    new AnthropicProvider(),
    'claude-3-5-sonnet-20241022',
    $messages,
    $response
);

use Langfuse\Providers\GoogleProvider;

$logger->log(
    new GoogleProvider(),
    'gemini-1.5-pro',
    $messages,
    $response
);

use Langfuse\Providers\XAIProvider;

$logger->log(
    new XAIProvider(),
    'grok-2',
    $messages,
    $response
);



declare(strict_types=1);

use Langfuse\Contracts\ProviderInterface;
use Langfuse\DTO\Usage;

class MyCustomProvider implements ProviderInterface
{
    public function parseResponse(array $response): Usage
    {
        // Extract tokens from your provider's response format
        return new Usage(
            $inputTokens,
            $outputTokens,
            $totalTokens,
            $cachedTokens,
            $reasoningTokens
        );
    }

    public function formatMessages(array $messages): string
    {
        // Format messages to string
    }

    public function extractOutput(array $response): string
    {
        // Extract output content from response
    }

    public function getName(): string
    {
        return 'my-custom-provider';
    }
}