- Observability: Instrument your app and start ingesting traces to Langfuse (Quickstart, Integrations Tracing)
- Langfuse UI: Inspect and debug complex logs (Demo, Tracing)
- Prompts: Manage, version and deploy prompts from within Langfuse (Prompt Management)
- Analytics: Track metrics (cost, latency, quality) and gain insights from dashboards & data exports (Analytics)
- Evals: Collect and calculate scores for your LLM completions (Scores & Evaluations)
- Run model-based evaluations (Model-based evaluations)
- Collect user feedback (User Feedback)
- Manually score observations in Langfuse (Manual Scores)
- Experiments: Track and test app behaviour before deploying a new version
- Datasets let you test expected in and output pairs and benchmark performance before deployiong (Datasets)
- Track versions and releases in your application (Experimentation, Prompt Management)
langfuse_demo_2_min.mp4
Muted by default, enable sound for voice-over
Managed deployment by the Langfuse team, generous free-tier (hobby plan), no credit card required.
# Clone repository
git clone https://github.com/langfuse/langfuse.git
cd langfuse
# Run server and database
docker compose up -d
β Learn more about deploying locally
Langfuse is simple to self-host and keep updated. It currently requires only a single docker container. β Self Hosting Instructions
Templated deployments: Railway, GCP Cloud Run, AWS Fargate, Kubernetes and others
You require a Langfuse public and secret key to get started. Sign up here and find them in your project settings.
Note: We recommend using our fully async, typed SDKs that allow you to instrument any LLM application with any underlying model. They are available in Python & JS/TS. The SDKs will always be the most fully featured and stable way to ingest data into Langfuse.
You may want to use another integration to get started quickly or implement a use case that we do not yet support. However, we recommend to migrate to the Langfuse SDKs over time to ensure performance and stability.
See our the β Quickstart to get started in integrating Langfuse.
Integration | Supports | Description |
---|---|---|
SDK - recommended | Python, JS/TS | Manual instrumentation using the SDKs for full flexibility. |
OpenAI | Python | Automated instrumentation using drop-in replacement of OpenAI SDK. |
Langchain | Python, JS/TS | Automated instrumentation by passing callback handler to Langchain application. |
API | Directly call the public API. OpenAPI spec available. |
External projects/packages that integrate with Langfuse:
Name | Description |
---|---|
LiteLLM | Use any LLM as a drop in replacement for GPT. Use Azure, OpenAI, Cohere, Anthropic, Ollama, VLLM, Sagemaker, HuggingFace, Replicate (100+ LLMs). |
Flowise | JS/TS no-code builder for customized LLM flows. |
Langflow | Python-based UI for LangChain, designed with react-flow to provide an effortless way to experiment and prototype flows. |
In order of preference the best way to communicate with us:
- GitHub Discussions: Contribute ideas support requests and report bugs (preferred as we create a permanent, indexed artifact for other community members)
- Discord: For community support and to chat directly with maintainers
- Privately: Email contact at langfuse dot com
- Vote on Ideas
- Raise and comment on Issues
- Open a PR - see CONTRIBUTING.md for details on how to setup a development environment.
This repository is MIT licensed, except for the ee/
folder. See LICENSE and docs for more details.
GET routes to use data in downstream applications (e.g. embedded analytics).
We take data security and privacy seriously. Please refer to our Security and Privacy page for more information.
By default, Langfuse automatically reports basic usage statistics of self-hosted instances to a centralized server (PostHog).
This helps us to:
- Understand how Langfuse is used and improve the most relevant features.
- Track overall usage for internal and external (e.g. fundraising) reporting.
None of the data is shared with third parties and does not include any sensitive information. We want to be super transparent about this and you can find the exact data we collect here.
You can opt-out by setting TELEMETRY_ENABLED=false
.