-
Notifications
You must be signed in to change notification settings - Fork 1.4k
feat: integrate Langfuse #2467
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
feat: integrate Langfuse #2467
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we have an instruction on how to self-host langfuse for observability? Also the current implementation does not abstract the same way as AgentOps. Is is possible to abstract them in the same way?
If necessary, we could add a self-hosted mode. However, essentially, this would just involve running Langfuse inside Docker. Should we add a parameter to let users launch Langfuse with a one-click Docker build, or leave it to them to start the service manually |
public_key: Langfuse public key. Can be set via LANGFUSE_PUBLIC_KEY. | ||
secret_key: Langfuse secret key. Can be set via LANGFUSE_SECRET_KEY. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
public_key: Langfuse public key. Can be set via LANGFUSE_PUBLIC_KEY. | |
secret_key: Langfuse secret key. Can be set via LANGFUSE_SECRET_KEY. | |
public_key (Optional[str]): Langfuse public key. Can be set via | |
LANGFUSE_PUBLIC_KEY environment variable. | |
(default: None) |
|
pending to wait for #2536 finish |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, @fengju0213!
Regarding the observability feature, after reviewing several existing solutions, I believe it would be more beneficial for us to develop a foundational observability tool in-house rather than integrating various third-party solutions. Here's why:
- Unified Solution: We only need a single, cohesive observability solution to monitor our system's operations.
- Native Integration & Better Compatibility: As a framework, building this feature ourselves from the ground up will allow for more native integration. This approach will ensure the tool is better suited to track data generated by our own framework.
- OpenTelemetry Compatibility: Some third-party solutions like Langfuse support OpenTelemetry, we can also leverage OpenTelemetry-compatible libraries (e.g., OpenLIT, OpenLLMetry, Arize, MLflow). By building our own native support, users who prefer other OpenTelemetry-based tools (like Langfuse) could still integrate with and monitor our system effectively.
For the next steps, I propose the following:
-
Define Key Performance Indicators (KPIs): We need to identify and define the critical KPIs for tracking agent performance. This will involve studying existing solutions to compile a comprehensive list of metrics for our observability system.
-
Select an OpenTelemetry-based Framework: Choose the most suitable framework that aligns with OpenTelemetry standards to build upon. Some libraries we could check:
OpenLIT
OpenLLMetry
Arize
MLflow -
Develop the Tracking System: Construct the system to monitor and track agent operations based on the defined KPIs and selected framework
cc @lightaime
Thanks @Wendong-Fan. Just to understand why we want observability tool in-house at the moment: what kinds of problem that exisiting observability tools cannot solve? Developing an observability tool in-house could be a pretty big project, not quite sure if that is the priority at the moment. |
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Description
fixed:#2245
Checklist
Go over all the following points, and put an
x
in all the boxes that apply.Fixes #issue-number
in the PR description (required)pyproject.toml
anduv lock
If you are unsure about any of these, don't hesitate to ask. We are here to help!