Skip to content

Langfuse

Nuget package dotnet License: MIT Discord

Features 🔥

  • Fully generated C# SDK based on official Langfuse OpenAPI specification using AutoSDK
  • Same day update to support new features
  • Updated and supported automatically if there are no breaking changes
  • All modern .NET features - nullability, trimming, NativeAOT, etc.
  • Support .Net Framework/.Net Standard 2.0

Usage

1
2
3
using Langfuse;

using var client = new LangfuseClient(apiKey);

Health Check

Basic example showing how to create a client and check API health.

1
2
3
4
using var client = new LangfuseClient(apiKey);

// Check that the Langfuse API and database are healthy.
var response = await client.Health.HealthHealthAsync();

Traces

List and retrieve traces from the Langfuse API.

1
2
3
4
5
using var client = new LangfuseClient(apiKey);

// List the most recent traces in your project.
var response = await client.Trace.TraceListAsync(
    limit: 10);

Prompts

List prompts managed in Langfuse.

1
2
3
4
5
using var client = new LangfuseClient(apiKey);

// List all prompts in your project.
var response = await client.Prompts.PromptsListAsync(
    limit: 10);

Ingestion

Ingest trace events into Langfuse using the batch ingestion API.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
using var client = new LangfuseClient(apiKey);

// Create a trace event and send it via batch ingestion.
var traceId = Guid.NewGuid().ToString();
var traceEvent = new TraceEvent(body: new TraceBody
{
    Id = traceId,
    Name = "sdk-integration-test",
    Input = "What is Langfuse?",
    Output = "Langfuse is an open-source LLM observability platform.",
});

var ingestionEvent = new IngestionEvent(
    new AllOf<IngestionEventVariant12, TraceEvent>(
        value1: new IngestionEventVariant12(
            type: IngestionEventVariant1Type.TraceCreate),
        value2: traceEvent));

var response = await client.Ingestion.IngestionBatchAsync(
    batch: [ingestionEvent]);

Projects

Get information about the project associated with the API key.

1
2
3
4
using var client = new LangfuseClient(apiKey);

// Retrieve the project associated with your API key.
var response = await client.Projects.ProjectsGetAsync();

Scores

List scores for evaluating LLM outputs in Langfuse.

1
2
3
4
5
using var client = new LangfuseClient(apiKey);

// List all scores in your project with pagination.
var response = await client.Scores.ScoresGetManyAsync(
    limit: 10);

Datasets

List and manage datasets for LLM evaluation in Langfuse.

1
2
3
4
5
using var client = new LangfuseClient(apiKey);

// List all datasets in your project with pagination.
var response = await client.Datasets.DatasetsListAsync(
    limit: 10);

Support

Priority place for bugs: https://github.com/tryAGI/Langfuse/issues
Priority place for ideas and general questions: https://github.com/tryAGI/Langfuse/discussions
Discord: https://discord.gg/Ca2xhfBf3v

Acknowledgments

JetBrains logo

This project is supported by JetBrains through the Open Source Support Program.