Skip to content

tryAGI/Langfuse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

using Langfuse;

using var client = new LangfuseClient(apiKey);

Health Check

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

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.

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.

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.

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.

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.

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.

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.

About

C# SDK for the Langfuse API -- LLM observability, tracing, evaluation, prompt management, and datasets

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages